Skip to content

QUDA (Optional) Dependencies

Dean Howarth edited this page Oct 8, 2020 · 3 revisions

ARPACK

QUDA has an ARPACK interface which allows for the host side computation of eigendecompositions. All matrix vector operations are performed by QUDA. There are two ways one can enable ARPACK.

download and link (recommended)

In the CMake text GIU, ensure that QUDA_ARPACK is ON and QUDA_DOWNLOAD_ARPACK is ON. This will instruct CMake to download, compile, and link to ARPACK-NG

link only

In the CMake text GIU, ensure that QUDA_ARPACK is ON and QUDA_ARPACK_HOME is set to a compiled version of ARPACK. This will instruct CMake to link to your compiled version.

OPENBLAS

QUDA has an OPENBLAS interface which allows for the host side acceleration of certain Eigen routines. There are two ways one can enable OpenBLAS.

download and link (recommended)

In the CMake text GIU, ensure that QUDA_OPENBLAS is ON and QUDA_DOWNLOAD_OPENBLAS is ON. This will instruct CMake to download, compile, and link to OpenBLAS. Ensure that you set OMP_NUM_THREADS to a sensible number for your system.

link only

In the CMake text GIU, ensure that QUDA_OPENBLAS is ON and QUDA_OPENBLAS_HOME is set to a compiled version of OPENBLAS. This will instruct CMake to link to your compiled version. Ensure that you set OMP_NUM_THREADS to a sensible number for your system.

QIO and QMP

QUDA can now automatically download and compile QIO and QMP!

download and link (recommended)

In the CMake text GIU, ensure that QUDA_DOWNLOAD_USQCD is ON and QUDA_QIO and QUDA_QMP are ON. This will instruct CMake to download, compile, and link to QIO and QMP. LIME will be downloaded and linked automatically.

link only

In the CMake text GIU, ensure that QUDA_QIO and QUDA_QMP are ON. Also, ensure QUDA_QIOHOME and QUDA_QMPHOME and QUDA_LIMEHOME are set to their compiled versions. This will instruct CMake to link to your compiled versions.

Clone this wiki locally