Skip to content

[HeFFTe] [package list]

HeFFTe/2.4.0-cpeAMD-23.09-rocm-5.6.1 (HeFFTe-2.4.0-cpeAMD-23.09-rocm-5.6.1.eb)

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

easyblock = 'CMakeMake'

local_rocm_version = '5.6.1'

name = 'HeFFTe'
version = '2.4.0'
versionsuffix = f'-rocm-{local_rocm_version}'

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

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

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/3.10.10', EXTERNAL_MODULE),
    ('gcc-mixed/12.2.0', EXTERNAL_MODULE),
    ('amd',  local_rocm_version, '', SYSTEM),
    ('rocm', local_rocm_version, '', SYSTEM),
]

build_shared_libs = True

configopts  = '-D CMAKE_BUILD_TYPE=Release '
configopts += '-D Heffte_ENABLE_AVX=ON '
configopts += '-D Heffte_ENABLE_ROCM=ON '
configopts += '-D CMAKE_CXX_COMPILER=hipcc '
configopts += '-D CMAKE_HIP_FLAGS="--offload-arch=gfx90a" '
configopts += '-D MPI_CXX_COMPILER=CC '
configopts += '-D CMAKE_CXX_FLAGS="--gcc-toolchain=${GCC_PATH}/snos/" '

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

moduleclass = 'lib'

[HeFFTe] [package list]