skip to main content


Title: A Hartree-Fock Application Using UPC++ and the New DArray Library

The Hartree-Fock (HF) method is the fundamental first step for incorporating quantum mechanics into many-electron simulations of atoms and molecules, and it is an important component of computational chemistry toolkits like NWChem. The GTFock code is an HF implementation that, while it does not have all the features in NWChem, represents crucial algorithmic advances that reduce communication and improve load balance by doing an up-front static partitioning of tasks, followed by work stealing whenever necessary. To enable innovations in algorithms and exploit next generation exascale systems, it is crucial to support quantum chemistry codes using expressive and convenient programming models and runtime systems that are also efficient and scalable. Here, this paper presents an HF implementation similar to GTFock using UPC++, a partitioned global address space model that includes flexible communication, asynchronous remote computation, and a powerful multidimensional array library. UPC++ offers runtime features that are useful for HF such as active messages, a rich calculus for array operations, hardware-supported fetch-and-add, and functions for ensuring asynchronous runtime progress. We present a new distributed array abstraction, DArray, that is convenient for the kinds of random-access array updates and linear algebra operations on block-distributed arrays with irregular data ownership. Finally, we analyzemore » the performance of atomic fetch-and-add operations (relevant for load balancing) and runtime attentiveness, then compare various techniques and optimizations for each. Our optimized implementation of HF using UPC++ and the DArrays library shows up to 20% improvement over GTFock with Global Arrays at scales up to 24,000 cores.« less
 [1] ;  [2] ;  [2] ;  [2] ;  [3] ;  [1] ;  [2] ;  [2]
  1. Univ. of Oregon, Eugene, OR (United States)
  2. Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
  3. Intel Corporation, Portland, OR (United States)
Publication Date:
Grant/Contract Number:
AC02-05CH11231; SC0006723; SC0012381; SC0005360
Accepted Manuscript
Journal Name:
Proceedings - 2016 IEEE 30th International Parallel and Distributed Processing Symposium, IPDPS 2016
Additional Journal Information:
Conference: 2016 IEEE 30th International Parallel and Distributed Processing Symposium, Chicago, IL (United States), 23-27 May 2016; Journal ID: ISSN 1530-2075
Research Org:
Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
Sponsoring Org:
USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR) (SC-21)
Country of Publication:
United States
97 MATHEMATICS AND COMPUTING; Arrays; Libraries; Electronics packaging; Hafnium; Computational modeling; Programming; attentiveness; Hartree-Fock; self-consistent field (SCF); quantum chemistry; PGAS; UPC/UPC++; Global Arrays; performance analysis; load balancing; work stealing
OSTI Identifier: