1. Scalable training of 3D convolutional networks on multi- and many-cores
- Author
-
H. Sebastian Seung, Aleksandar Zlateski, and Kisuk Lee
- Subjects
Speedup ,Computer Networks and Communications ,Computer science ,Node (networking) ,Parallel algorithm ,Dynamic priority scheduling ,Parallel computing ,010501 environmental sciences ,01 natural sciences ,Convolutional neural network ,Theoretical Computer Science ,03 medical and health sciences ,0302 clinical medicine ,Artificial Intelligence ,Hardware and Architecture ,Scalability ,Locality of reference ,Cache ,030217 neurology & neurosurgery ,Software ,Xeon Phi ,0105 earth and related environmental sciences - Abstract
Convolutional networks (ConvNets) have become a popular approach to computer vision. Here we consider the parallelization of ConvNet training, which is computationally costly. Our novel parallel algorithm is based on decomposition into a set of tasks, most of which are convolutions or FFTs. Theoretical analysis suggests that linear speedup with the number of processors is attainable. To attain such performance on real shared-memory machines, our algorithm computes convolutions converging on the same node of the network with temporal locality to reduce cache misses, and sums the convergent convolution outputs via an almost wait-free concurrent method to reduce time spent in critical sections. Benchmarking with multi-core CPUs shows speedup roughly equal to the number of physical cores. We also demonstrate 90x speedup on a many-core CPU (Xeon Phi Knights Corner). Our algorithm can be either faster or slower than certain GPU implementations depending on specifics of the network architecture, kernel sizes, and density and size of the output patch.
- Published
- 2017
- Full Text
- View/download PDF