Graph traversal is a critical building block in many algorithms. Traversing a large graph using breadth-first search, although conceptually simple, is time-consuming in distributed-memory environments due to the amoun...
详细信息
ISBN:
(纸本)9781728145358
Graph traversal is a critical building block in many algorithms. Traversing a large graph using breadth-first search, although conceptually simple, is time-consuming in distributed-memory environments due to the amount of exchanged data. In this work, we present both an efficient algorithmic approach to carry out the traversal and a low-overhead runtime that provides efficient primitives to implement the algorithm. Our algorithm relies on constructing a traversal composed of partially consistent trees until all vertices are discovered. We resolve such inconsistency through election and exchange steps. The election phase relies on communicating compressed vertices through collectives that do not stress the bisection bandwidth of the interconnect. We leverage the space consistency programming abstraction to allow an efficient overlap of computation with communication. We extend the model to leverage hardware accelerated collectives and provide primitives for one-sided broadcast and sparse reduction. We present the algorithm and runtime designs and show the results of applying our techniques on the Bluegene/Q architectures. We achieve 1040 GTEPS on a single rack (1K nodes), which is better than the best-known algorithms on the same architecture. We also achieve superior scalability compared with other implementations up to 32K nodes.
Coupled-cluster methods provide highly accurate models of molecular structure through explicit numerical calculation of tensors representing the correlation between electrons. These calculations are dominated by a seq...
详细信息
Coupled-cluster methods provide highly accurate models of molecular structure through explicit numerical calculation of tensors representing the correlation between electrons. These calculations are dominated by a sequence of tensor contractions, motivating the development of numerical libraries for such operations. While based on matrix-matrix multiplication, these libraries are specialized to exploit symmetries in the molecular structure and in electronic interactions, and thus reduce the size of the tensor representation and the complexity of contractions. The resulting algorithms are irregular and their parallelization has been previously achieved via the use of dynamic scheduling or specialized data decompositions. We introduce our efforts to extend the Libtensor framework to work in the distributedmemory environment in a scalable and energy-efficient manner. We achieve up to 240x speedup compared with the optimized shared memory implementation of Libtensor. We attain scalability to hundreds of thousands of compute cores on three distributed-memory architectures (Cray XC30 and XC40, and IBM Blue Gene/Q), and on a heterogeneous GPU-CPU system (Cray XK7). As the bottlenecks shift from being compute-bound DGEMM's to communication-bound collectives as the size of the molecular system scales, we adopt two radically different parallelization approaches for handling load-imbalance, tasking and bulk synchronous models. Nevertheless, we preserve a unified interface to both programmingmodels to maintain the productivity of computational quantum chemists. (C) 2017 Elsevier Inc. All rights reserved.
暂无评论