ABSTRACT
In this paper, we introduce the Dynamic Load-balanced Tensor Contractions (DLTC), a domain-specific library for efficient task parallel execution of tensor contraction expressions, a class of computation encountered in quantum chemistry and physics. Our framework decomposes each contraction into smaller unit of tasks, represented by an abstraction referred to as iterators. We exploit an extra level of parallelism by having tasks across independent contractions executed concurrently through a dynamic load balancing runtime. We demonstrate the improved performance, scalability, and flexibility for the computation of tensor contraction expressions on parallel computers using examples from Coupled Cluster (CC) methods.
- MVAPICH2: MPI over InfiniBand, 10GigE/iWARP and RoCE. http://mvapich.cse.ohio-state.edu/.Google Scholar
- Alexander A. Auer, Gerald Baumgartner, David E. Bernholdt, Alina Bibireata, Venkatesh Choppella, Daniel Cociorva, Xiaoyang Gao, Robert Harrison, Sriram Krishnamoorthy, Sandhya Krishnan, Chi-Chung Lam, Qingda Lu, Marcel Nooijen, Russell Pitzer, J. Ramanujam, P. Sadayappan, and Alexander Sibiryakov. Automatic code generation for many-body electronic structure methods: the tensor contraction engine. Molecular Physics, 104(2):211--228, 2006.Google ScholarCross Ref
- Oliver Bastert and Christian Matuszewski. Layered drawings of digraphs. In Michael Kaufmann and Dorothea Wagner, editors, Drawing Graphs, volume 2025 of Lecture Notes in Computer Science, pages 87--120. Springer Berlin Heidelberg, 2001. Google ScholarDigital Library
- G. Baumgartner, A. Auer, D. E. Bernholdt, A. Bibireata, V. Choppella, D. Cociorva, X Gao, R. J. Harrison, S. Hirata, S. Krishnamoorthy, S. Krishnan, C. Lam, Q Lu, M. Nooijen, R. M. Pitzer, J. Ramanujam, P. Sadayappan, and A. Sibiryakov. Synthesis of high-performance parallel programs for a class of ab initio quantum chemistry models. Proceedings of the IEEE, 93(2):276--292, February 2005.Google ScholarCross Ref
- D. Cociorva, J. W. Wilkins, C. Lam, G. Baumgartner, J. Ramanujam, and P. Sadayappan. Loop optimization for a class of memory-constrained computations. In Proceedings of the 15th international conference on Supercomputing, ICS '01, pages 103--113, New York, NY, USA, 2001. ACM. Google ScholarDigital Library
- Daniel Cociorva, Gerald Baumgartner, Chi-Chung Lam, P. Sadayappan, J. Ramanujam, Marcel Nooijen, David E. Bernholdt, and Robert Harrison. Space-time trade-off optimization for a class of electronic structure calculations. In Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation, PLDI '02, pages 177--186, New York, NY, USA, 2002. ACM. Google ScholarDigital Library
- E. G. Coffman, Jr. and R. L. Graham. Optimal scheduling for two-processor systems. Acta Informatica, 1(3):200--213, 1972.Google ScholarDigital Library
- T. D. Crawford and H. F. Schaefer, III. An Introduction to Coupled Cluster Theory for Computational Chemists. In Reviews in Computational Chemistry, volume 14, pages 33--136. John Wiley and Sons, Inc., 2000.Google Scholar
- James Dinan, Sriram Krishnamoorthy, D. Brian Larkins, Jarek Nieplocha, and P. Sadayappan. Scioto: A framework for global-view task parallelism. In Proceedings of the 2008 37th International Conference on Parallel Processing, ICPP '08, pages 586--593, Washington, DC, USA, 2008. IEEE Computer Society. Google ScholarDigital Library
- James Dinan, D. Brian Larkins, P. Sadayappan, Sriram Krishnamoorthy, and Jarek Nieplocha. Scalable work stealing. In Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis, SC '09, pages 53:1--53:11, New York, NY, USA, 2009. ACM. Google ScholarDigital Library
- Albert Hartono, Qingda Lu, Xiaoyang Gao, Sriram Krishnamoorthy, Marcel Nooijen, Gerald Baumgartner, David E. Bernholdt, Venkatesh Choppella, Russell M. Pitzer, J. Ramanujam, Atanas Rountev, and P. Sadayappan. Identifying cost-effective common subexpressions to reduce operation count in tensor contraction evaluations. In Proceedings of the 6th International Conference on Computational Science - Volume Part I, ICCS'06, pages 267--275, Berlin, Heidelberg, 2006. Springer-Verlag. Google ScholarDigital Library
- Albert Hartono, Alexander Sibiryakov, Marcel Nooijen, Gerald Baumgartner, David E. Bernholdt, So Hirata, Chi-Chung Lam, Russell M. Pitzer, J. Ramanujam, and P. Sadayappan. Automated operation minimization of tensor contraction expressions in electronic structure calculations. In Proceedings of the 5th International Conference on Computational Science - Volume Part I, ICCS'05, pages 155--164, Berlin, Heidelberg, 2005. Springer-Verlag. Google ScholarDigital Library
- So Hirata. Tensor contraction engine: Abstraction and automated parallel implementation of configuration-interaction, coupled-cluster, and many-body perturbation theories. The Journal of Physical Chemistry A, 107(46):9887--9897, 2003.Google ScholarCross Ref
- Karol Kowalski, Sriram Krishnamoorthy, Ryan M. Olson, Vinod Tipparaju, and E. Aprà. Scalable implementations of accurate excited-state coupled cluster theories: application of high-level methods to porphyrin-based systems. In Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, SC '11, pages 72:1--72:10, New York, NY, USA, 2011. ACM. Google ScholarDigital Library
- Pai-Wei Lai, Huaijian Zhang, Samyam Rajbhandari, Edward Valeev, Karol Kowalski, and P. Sadayappan. Effective utilization of tensor symmetry in operation optimization of tensor contraction expressions. In Proceedings of the 12th International Conference on Computational Science, volume 9 of ICCS'12, pages 412--421, 2012.Google ScholarCross Ref
- Jonathan Lifflander, Sriram Krishnamoorthy, and Laxmikant V. Kale. Work stealing and persistence-based load balancers for iterative overdecomposed applications. In Proceedings of the 21st International Symposium on High-Performance Parallel and Distributed Computing, HPDC '12, pages 137--148, New York, NY, USA, 2012. ACM. Google ScholarDigital Library
- Kurt Mehlhorn. Data Structures and Algorithms 2: Graph Algorithms and NP-Completeness, volume 2 of Monographs in Theoretical Computer Science. An EATCS Series. Springer, 1984. Google ScholarDigital Library
- J. Nieplocha, V. Tipparaju, M. Krishnan, and D. K. Panda. High performance remote memory access communication: The ARMCI approach. International Journal High Performance Computing Applications, 20(2):233--253, May 2006. Google ScholarDigital Library
- Jarek Nieplocha, Bruce Palmer, Vinod Tipparaju, Manojkumar Krishnan, Harold Trease, and Edoardo Aprà. Advances, applications and performance of the global arrays shared memory programming toolkit. International Journal of High Performance Computing Applications, 20(2):203--231, May 2006. Google ScholarDigital Library
- David Ozog, Sameer Shende, Allen Malony, Jeff R. Hammond, James Dinan, and Pavan Balaji. Inspector-executor load balancing algorithms for block-sparse tensor contractions. In Proceedings of the 27th International Conference on Supercomputing, ICS '13, pages 483--484, New York, NY, USA, 2013. ACM. Google ScholarDigital Library
- Edgar Solomonik, Devin Matthews, Jeff Hammond, and James Demmel. Cyclops tensor framework: reducing communication and eliminating load imbalance in massively parallel contractions. Technical Report UCB/EECS-2012-210, EECS Department, University of California, Berkeley, November 2012.Google Scholar
- Kozo Sugiyama, Shojiro Tagawa, and Mitsuhiko Toda. Methods for visual understanding of hierarchical system structures. IEEE Transactions on Systems, Man and Cybernetics, 11(2):109--125, 1981.Google ScholarCross Ref
- M. Valiev, E. J. Bylaska, N. Govind, K. Kowalski, T. P. Straatsma, H. J. Van Dam, D. Wang, J. Nieplocha, E. Apra, T. L. Windus, and W. A. deJong. NWChem: A comprehensive and scalable open-source solution for large scale molecular simulations. Computer Physics Communications, 181(9):1477--1489, 2010.Google ScholarCross Ref
- Robert A. van de Geijn and Jerrell Watts. SUMMA: scalable universal matrix multiplication algorithm. Concurrency - Practice and Experience, 9(4):255--274, 1997.Google Scholar
Recommendations
Dynamic load balancing for parallel program execution on a message-passing multicomputer
SPDP '90: Proceedings of the 1990 IEEE Second Symposium on Parallel and Distributed ProcessingDynamic load balancing solves the remapping problem in a multicomputer system at run time, where many processes need to be allocated evenly to multiple processor nodes. The mean is to migrate processes from busy to idle nodes in order to achieve higher ...
Inspector/executor load balancing algorithms for block-sparse tensor contractions
ICS '13: Proceedings of the 27th international ACM conference on International conference on supercomputingDeveloping effective yet scalable load-balancing methods for irregular computations is critical to the successful application of simulations in a variety of disciplines at petascale and beyond. This paper explores a set of static and dynamic scheduling ...
Dynamic Task Scheduling and Load Balancing on Cell Processors
PDP '10: Proceedings of the 2010 18th Euromicro Conference on Parallel, Distributed and Network-based ProcessingThe shift to multicore processors demands efficient parallel programming on a diversity of architectures, including homogeneous and heterogeneous chip multiprocessors (CMPs). Task parallel programming is one approach that maps well to CMPs. In this ...
Comments