Exploiting domain-specific properties: compiling parallel dynamic neural network algorithms into efficient code
- 1 January 1999
- journal article
- research article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Parallel and Distributed Systems
- Vol. 10 (11) , 1105-1117
- https://doi.org/10.1109/71.809571
Abstract
Domain-specific constraints can be exploited to implement compiler optimizations that are not otherwise feasible. Compilers for neural network learning algorithms can achieve near-optimal colocality of data and processes and near-optimal balancing of load over processors, even for dynamically irregular problems. This is impossible for general programs, but restricting programs to the neural algorithm domain allows for the exploitation of domain-specific properties. The operations performed by neural algorithms are broadcasts, reductions, and object-local operations only; the load distribution is regular with respect to the (perhaps irregular) network topology; changes of network topology occur only from time to time. A language, compilation techniques, and a compiler implementation on the MasPar MP-1 are described and quantitative results for the effects of various optimizations used in the compiler are shown. Conservative experiments with weight pruning algorithms yield performance improvements of 27 percent due to load balancing and 195 percent improvement is achieved due to data locality, both compared to unoptimized versions. Two other optimizations-connection allocation and selecting the number of replicates-speed programs up by about 50 percent and 100 percent, respectively. This work can be viewed as a case study in exploiting domain-specific information; some of the principles presented here may apply to other domains as well.Keywords
This publication has 13 references indexed in Scilit:
- A direct adaptive method for faster backpropagation learning: the RPROP algorithmPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- A parallel programming model for irregular dynamic neural networksPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- SYNAPSE-1: a high-speed general purpose parallel neurocomputer systemPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Automatic alignment of array data and processes to reduce communication time on DMPPsPublished by Association for Computing Machinery (ACM) ,1995
- Compiling machine-independent parallel programsACM SIGPLAN Notices, 1993
- Automatic array alignment in data-parallel programsPublished by Association for Computing Machinery (ACM) ,1993
- Improving model selection by nonconvergent methodsNeural Networks, 1993
- DECOMPOSITION AND MAPPING OF LOCALLY CONNECTED LAYERED NEURAL NETWORKS ON MESSAGE-PASSING MULTIPROCESSORSParallel Algorithms and Applications, 1993
- Factoring: a method for scheduling parallel loopsCommunications of the ACM, 1992
- Eli: a complete, flexible compiler construction systemCommunications of the ACM, 1992