2.8 Parallel Q-Chem Jobs

2.8.1 GPU-accelerated Q-Chem with BrianQC

(May 16, 2021)

Starting with version 5.0, the core parts of Q-Chem calculations can be accelerated using the BrianQC GPU module. It does so by providing routines for computing all components of the Fock matrix (Eq. (4.18)): the core Hamiltonian, Coulomb, exchange, and exchange-correlation (Eq. (5.9)) integrals, along with their first derivatives and the most time-consuming parts of their second derivatives. This can lead to significant speedups when computing Hartree–Fock and density functional theory energies, gradients, vibrational frequencies, and other calculations requiring these quantities. Range-separated hybrid density functionals, where the exchange contribution is split into two terms (Eq. (5.12)), are also supported.

In order to invoke BrianQC, pass the -gpu flag when starting Q-Chem. Because BrianQC does not accelerate all parts of Q-Chem calculations, and GPU acceleration works transparently with OpenMP threading, it is still important to parallelize the remaining parts of a calculation using OpenMP threading.

qchem -gpu -nt nthreads infile outfile

Requirements for using BrianQC are:

  • A separate BrianQC license

  • A 64-bit Linux-based operating system

  • An NVIDIA GPU based on the Kepler, Maxwell, Pascal, Volta, or Turing architecture

  • A basis set with g angular momentum or lower functions

  • Only one Q-Chem calculation running per GPU

To learn more, visit https://www.brianqc.com/.