Macro definitions#

GauXC provides a number of compile-time macros to indicate available features and configuration options.

GAUXC_HAS_HOST#

Defines whether host support is available in this build of GauXC.

GAUXC_HAS_DEVICE#

Defines whether any device support (CUDA or HIP) is available in this build of GauXC. Enabled with GAUXC_ENABLE_CUDA or GAUXC_ENABLE_HIP CMake options.

GAUXC_HAS_CUDA#

Defines whether CUDA support is available in this build of GauXC. Enabled with GAUXC_ENABLE_CUDA CMake option.

GAUXC_HAS_HIP#

Defines whether HIP support is available in this build of GauXC. Enabled with GAUXC_ENABLE_HIP CMake option.

GAUXC_HAS_MPI#

Defines whether MPI support is available in this build of GauXC. Enabled with GAUXC_ENABLE_MPI CMake option.

GAUXC_HAS_MAGMA#

Defines whether MAGMA support is available in this build of GauXC. Enabled with GAUXC_ENABLE_MAGMA CMake option.

GAUXC_HAS_NCCL#

Defines whether NCCL support is available in this build of GauXC. Enabled with GAUXC_ENABLE_NCCL CMake option.

GAUXC_HAS_CUTLASS#

Defines whether CUTLASS support is available in this build of GauXC. Enabled with GAUXC_ENABLE_CUTLASS CMake option.

GAUXC_HAS_GAU2GRID#

Defines whether Gau2Grid support is available in this build of GauXC. Enabled with GAUXC_ENABLE_GAU2GRID CMake option.

GAUXC_HAS_HDF5#

Defines whether HDF5 support is available in this build of GauXC. Enabled with GAUXC_ENABLE_HDF5 CMake option.

GAUXC_CPU_XC_MAX_AM#

Maximum angular momentum supported for CPU exchange-correlation calculations. Default is 6 (i.e., up to i-type functions).

Maximum angular momentum supported for CPU seminumerical exchange calculations. Default is 6 (i.e., up to i-type functions).

GAUXC_GPU_XC_MAX_AM#

Maximum angular momentum supported for GPU exchange-correlation calculations. Default is 4 (i.e., up to g-type functions).

Maximum angular momentum supported for GPU seminumerical exchange calculations. Default is 2 (i.e., up to d-type functions).