DOE OSTI · 1393243
A Locality-Based Threading Algorithm for the Configuration-Interaction Method
Abstract
The Configuration Interaction (CI) method has been widely used to solve the non-relativistic many-body Schrodinger equation. One great challenge to implementing it efficiently on manycore architectures is its immense memory and data movement requirements. To address this issue, within each node, we exploit a hybrid MPI+OpenMP programming model in lieu of the traditional flat MPI programming model. Here in this paper, we develop optimizations that partition the workloads among OpenMP threads based on data locality,-which is essential in ensuring applications with complex data access patterns scale well on manycore architectures. The new algorithm scales to 256 threadson the 64-core Intel Knights Landing (KNL) manycore processor and 24 threads on dual-socket Ivy Bridge (Xeon) nodes. Compared with the original implementation, the performance has been improved by up to 7× on theKnights Landing processor and 3× on the dual-socket Ivy Bridge node.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Shan, Hongzhang, Williams, Samuel, Johnson, Calvin, McElvain, Kenneth. 2017-07-03. A Locality-Based Threading Algorithm for the Configuration-Interaction Method. https://doi.org/10.1109/ipdpsw.2017.15
Cite the original work for its findings. Save a collection to share your selection of sources.