A Hartree-Fock Application Using UPC++ and the New DArray Library
David Ozog, University of Oregon
The Hartree-Fock 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. 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. This poster presents a Hartree-Fock implementation using UPC++, a partitioned global address space model that includes flexible communication, asynchronous remote computation and a powerful multidimensional array library. I will 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. The poster includes performance analysis of atomic fetch-and-add operations (relevant for load balancing and work stealing) and runtime attentiveness, then compares various techniques and optimizations for these operations. The optimized implementation of Hartree-Fock using UPC++ and the DArrays library shows up to 20 percent improvement over a reference Global Arrays implementation at scales up to 24,000 cores.
Abstract Author(s): D. Ozog, A. Kamil, Y. Zheng, P. Hargrove, J.R. Hammond, A. Malony, W. de Jong, K. Yelick