QUDA/55f20eb62-cpeAMD-25.03-rocm (QUDA-55f20eb62-cpeAMD-25.03-rocm.eb)
Install with the EasyBuild-user module:
To access module help after installation and get reminded for which stacks and partitions the module is installed, usemodule spider QUDA/55f20eb62-cpeAMD-25.03-rocm.
EasyConfig:
easyblock = 'CMakeMake'
name = 'QUDA'
version = '55f20eb62'
versionsuffix = '-rocm'
homepage = 'https://lattice.github.io/quda/'
description = """QUDA is a library for performing calculations in lattice QCD on GPUs."""
toolchain = {'name': 'cpeAMD', 'version': '25.03'}
toolchainopts = {'usempi': True, 'openmp': True}
sources = [{
'filename': 'quda-%(version)s.tar.gz',
'git_config': {
'url': 'https://github.com/lattice',
'repo_name': 'quda',
'commit': version,
}
}]
dependencies = [
('rocm/6.3.4', EXTERNAL_MODULE),
('cray-mpich/9.0.1', EXTERNAL_MODULE)
]
preconfigopts = 'export CMAKE_PREFIX_PATH="$ROCM_PATH:$CRAY_MPICH_PREFIX:$CMAKE_PREFIX_PATH" && '
preconfigopts += 'export MPI_CFLAGS="-O2 -frelaxed-template-template-args -fopenmp -fgpu-rdc -I${MPICH_DIR}/include" && '
preconfigopts += 'export MPI_CXXFLAGS="$MPI_CFLAGS -std=c++17" && '
preconfigopts += 'export MPI_LDFLAGS="-L${MPICH_DIR}/lib -lmpi -L${ROCM_PATH}/lib -fopenmp ${PE_MPICH_GTL_DIR_amd_gfx90a} ${PE_MPICH_GTL_LIBS_amd_gfx90a}" && '
configopts = '-D CMAKE_C_COMPILER=$(which amdclang) '
configopts += '-D CMAKE_CXX_COMPILER=$(which amdclang++) '
configopts += '-D MPI_C_COMPILER=$(which cc) '
configopts += '-D MPI_CXX_COMPILER=$(which CC) '
configopts += '-D CMAKE_CXX_FLAGS="${MPI_CXXFLAGS}" '
configopts += '-D CMAKE_C_FLAGS="${MPI_CFLAGS}" '
configopts += '-D CMAKE_C_STANDARD=99 '
configopts += '-D CMAKE_EXE_LINKER_FLAGS="${MPI_LDFLAGS}" '
configopts += '-D CMAKE_SHARED_LINKER_FLAGS="${MPI_LDFLAGS}" '
configopts += '-D ROCM_PATH=${ROCM_PATH} '
configopts += '-D AMDGPU_TARGETS="gfx90a" '
configopts += '-D QUDA_GPU_ARCH="gfx90a" '
configopts += '-D BUILD_SHARED_LIBS=ON '
configopts += '-D QUDA_TARGET_TYPE="HIP" '
configopts += '-D QUDA_MPI=ON '
configopts += '-D QUDA_DIRAC_NDEG_TWISTED_CLOVER=OFF '
configopts += '-D QUDA_DIRAC_NDEG_TWISTED_MASS=OFF '
configopts += '-D QUDA_DIRAC_DOMAIN_WALL=OFF '
configopts += '-D QUDA_DIRAC_CLOVER_HASENBUSCH=OFF '
configopts += '-D QUDA_DIRAC_CLOVER=ON '
configopts += '-D QUDA_DIRAC_STAGGERED=ON '
configopts += '-D QUDA_DIRAC_TWISTED_MASS=OFF '
configopts += '-D QUDA_DIRAC_TWISTED_CLOVER=OFF '
configopts += '-D QUDA_DIRAC_WILSON=ON '
configopts += '-D QUDA_INTERFACE_MILC=ON '
configopts += '-D QUDA_INTERFACE_CPS=ON '
configopts += '-D QUDA_INTERFACE_QDP=ON '
configopts += '-D QUDA_INTERFACE_TIFR=OFF '
configopts += '-D QUDA_MULTIGRID=ON '
configopts += '-D QUDA_BUILD_SHAREDLIB=ON '
configopts += '-D QUDA_BUILD_ALL_TESTS=ON '
configopts += '-D QUDA_CTEST_DISABLE_BENCHMARKS=ON '
configopts += '-D QUDA_MAX_MULTI_BLAS_N=9 '
configopts += '-D QUDA_MULTIGRID_NVEC_LIST=6 '
sanity_check_paths = {
'files': ['lib/libquda.so'],
'dirs': ['bin', 'lib', 'include'],
}
moduleclass = 'phys'