Skip to content

[HeFFTe] [package list]

HeFFTe/2.3.0-cpeAMD-22.12-rocm-5.2.3 (HeFFTe-2.3.0-cpeAMD-22.12-rocm-5.2.3.eb)

This software is archived in the LUMI-EasyBuild-contrib GitHub repository as easybuild/easyconfigs/__archive__/h/HeFFTe/HeFFTe-2.3.0-cpeAMD-22.12-rocm-5.2.3.eb. The corresponding module would be HeFFTe/2.3.0-cpeAMD-22.12-rocm-5.2.3.

easyblock = 'CMakeMake'

name = 'HeFFTe'
version = '2.3.0'
versionsuffix = '-rocm-5.2.3'

homepage = 'https://icl.utk.edu/fft'
description = "Highly Efficient FFT for Exascale (HeFFTe) library"

toolchain = {'name': 'cpeAMD', 'version': '22.12'}

sources = {
        'download_filename': 'v%(version)s.tar.gz',
        'filename':          SOURCELOWER_TAR_GZ,
        'source_urls':       ['https://github.com/icl-utk-edu/heffte/archive/refs/tags/']
}

builddependencies = [
    ('buildtools', '%(toolchain_version)s', '', True), 
]

dependencies = [
    ('cray-python', EXTERNAL_MODULE),
    ('rocm/5.2.3', EXTERNAL_MODULE),
]

build_shared_libs = True

configopts  = '-D CMAKE_BUILD_TYPE=Release '
configopts += '-D Heffte_ENABLE_AVX=ON '
configopts += '-D Heffte_ENABLE_ROCM=ON '
configopts += '-D Heffte_ROCM_ROOT=$ROCM_PATH '
configopts += '-D CMAKE_CXX_COMPILER=hipcc '
configopts += '-D CMAKE_CXX_FLAGS="--offload-arch=gfx90a" '
configopts += '-D MPI_CXX_COMPILER=CC '

sanity_check_paths = {
    'files': ['lib/libheffte.%s' % SHLIB_EXT],
    'dirs': ['include', 'lib/cmake/Heffte', 'share/heffte/examples'],
}

moduleclass = 'lib'

[HeFFTe] [package list]