# Basic Hartree-Fock Proxy Application

**Short Description**

This proxy application simulates the compute load and data-movement of the kernel of the Hartree-Fock method in quantum chemistry. The proxy features a simplified algorithm for computing electron repulsion integrals that is easily offloaded to GPUs, together with integral screening to avoid small terms.

**Institution**

Argonne National Laboratory

**Sponsors**

DOE ECP

**Parent Application/Code**

(any quantum chemistry code, eg. GAMESS, NWChem)

**Keywords**

quantum chemistry, Hartree-Fock

**Programming Languages/Paradigms**

Fortran-90

**Website URL**

**Git/SVN Repository URL**

**Release/Version Number**

0.0

**Detailed description**

Hartree-Fock is considered the entry-level method of quantum chemistry. Its computational characteristics are similar to those of Density Functional Theory. As with many quantum chemistry methods, the implementation typically depends on a choice for the integral computation method. However, there are many integral methods available, each method has unique performance characteristics, and the integral codes themselves tend to be very large.
On the other hand, proxy applications aim to capture a given theory method without the clutter of a major package to enable a rapid assessment of its performance characteristics on new and emerging hardware. To this end, this proxy application uses a simplified integral code to allow the major compute load and data-movement of Hartree-Fock to be studied in different run modes spanning sequential and parallel execution, including GPU offloading. The kernel of Hartree-Fock for a given molecular system computes the electron-repulsion term of the Fock operator. Electron repulsion integrals over gaussian-type functions located on different atomic centers (four per integral) are computed and contracted with elements of the (square) density matrix before being summed to elements of the (square) Fock matrix. The cost nominally increases as the fourth power of the problem size. However, the magnitude of an integral declines with distance between the centers and screening (based on the Schwarz Inequality) can be used to avoid small terms. Within the integral calculations the gaussian-product factors are also tested to avoid small terms. Thus, while the number of atoms is the primary cost factor, the atomic positions also influence the compute load through integral screening. Integral screening typically reduces the cost to cubic.