NELGDec 19, 2014

Purine: A bi-graph based deep learning framework

arXiv:1412.6249v53 citations
Originality Incremental advance
AI Analysis

This work addresses the problem of coding for various parallelization schemes for researchers, though it appears incremental as it builds on existing graph-based abstractions.

The authors tackled the challenge of implementing diverse parallelism schemes in deep learning by introducing Purine, a framework that represents networks as bipartite graphs, which enabled them to achieve approximate linear acceleration by overlapping memory transfers with computations.

In this paper, we introduce a novel deep learning framework, termed Purine. In Purine, a deep network is expressed as a bipartite graph (bi-graph), which is composed of interconnected operators and data tensors. With the bi-graph abstraction, networks are easily solvable with event-driven task dispatcher. We then demonstrate that different parallelism schemes over GPUs and/or CPUs on single or multiple PCs can be universally implemented by graph composition. This eases researchers from coding for various parallelization schemes, and the same dispatcher can be used for solving variant graphs. Scheduled by the task dispatcher, memory transfers are fully overlapped with other computations, which greatly reduce the communication overhead and help us achieve approximate linear acceleration.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes