2020/06/04 by Russell J. Hewett, Hewett, Russell J., Thomas J. Grady II +2 · 1 citation
Computer Science · Mathematics · Physics and Astronomy · #Artificial intelligence #Artificial neural network #Computer science #Data parallelism #Deep learning #Deep neural networks #Distributed #Distributed memory #FOS: Computer and information sciences #Machine Learning (cs.LG) #Machine Learning (stat.ML) #Model Reduction and Neural Networks #Node (physics) #Parallel #Parallel Computing and Optimization Techniques #Parallel computing #Parallelism (grammar) #Shared memory #Tensor decomposition and applications #Theoretical computer science #and Cluster Computing (cs.DC) #cs.DC #cs.LG #stat.ML
paper · pdf · doi:10.48550/arxiv.2006.03108
published in arXiv (Cornell University) (Cornell University)
arxiv created 2020/06/04 · openalex publication_date 2020/06/04 · arxiv updated 2020/06/08 · openalex created_date 2025/10/10 · openalex updated_date 2026/08/04
Training deep neural networks (DNNs) in large-cluster computing environments is increasingly necessary, as networks grow in size and complexity. Local memory and processing limitations require robust data and model parallelism for crossing compute node boundaries. We propose a linear-algebraic approach to model parallelism in deep learning, which allows parallel distribution of any tensor in the DNN. Rather than rely on automatic differentiation tools, which do not universally support distributed memory parallelism models, we show that parallel data movement operations, e.g., broadcast, sum-reduce, and halo exchange, are linear operators, and by defining the relevant spaces and inner products, we manually develop the adjoint, or backward, operators required for gradient-based training of DNNs. We build distributed DNN layers using these parallel primitives, composed with sequential layer implementations, and demonstrate their application by building and training a distributed DNN using DistDL, a PyTorch and MPI-based distributed deep learning toolkit.