Skip to content

[Neko] [package list]

Neko/1.0.0-cpeCray-25.03-rocm.noGit (Neko-1.0.0-cpeCray-25.03-rocm.noGit.eb)

Install with the EasyBuild-user module:

eb Neko-1.0.0-cpeCray-25.03-rocm.noGit.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider Neko/1.0.0-cpeCray-25.03-rocm.noGit.

EasyConfig:

easyblock = 'ConfigureMake'

name =          'Neko'
version =       '1.0.0'
versionsuffix = '-rocm'

homepage = 'https://github.com/ExtremeFLOW/neko'

whatis = [
    "Description: Neko is a portable framework for high-order spectral element flow simulations."    
]

description = """
Neko is a portable framework for high-order spectral element flow simulations. 
Written in modern Fortran, Neko adopts an object-oriented approach, allowing 
multi-tier abstractions of the solver stack and facilitating various hardware 
backends ranging from general-purpose processors, CUDA and HIP enabled 
accelerators to SX-Aurora vector processors. Neko has its roots in the 
spectral element code Nek5000 from UChicago/ANL, from where many of the 
namings, code structure and numerical methods are adopted.

Neko is currently maintained and developed at KTH Royal Institute of 
Technology.
"""

docurls = [
    'https://github.com/ExtremeFLOW/neko/tree/develop/doc',
]

toolchain = {'name': 'cpeCray', 'version': '25.03'}

# https://github.com/ExtremeFLOW/neko/releases/download/v1.0.0/neko-1.0.0.tar.gz
source_urls = ["https://github.com/ExtremeFLOW/neko/releases/download/v%(version)s"]
sources =     ["neko-%(version)s.tar.gz"]
checksums =   ['2a62c5fb961155c1aa185a6d605af8cd3bba9f922f3ff32e855d3e6cc91d9eac']

dependencies = [
    ('rocm/6.3.4',   EXTERNAL_MODULE),
    ('json-fortran', '8.3.0'),
]

configopts  = 'MPIFC=ftn MPICC=cc FC=ftn CFLAGS="-O2 -fopenmp" FCFLAGS="-O2 -fopenmp -hipa0"  HIP_HIPCC_FLAGS="-O2 --offload-arch=gfx90a" JSON_Fortran_CFLAGS="-I$EBROOTJSONMINFORTRAN/include/" --enable-device-mpi --with-hip'

prebuildopts = 'export TMPDIR=/local/tmp && '

sanity_check_paths = {
    'files': ['bin/neko', 'bin/makeneko', 'lib/libneko.a'],
    'dirs':  ['bin', 'lib', 'lib64', 'include'],
}

moduleclass = 'phys'

[Neko] [package list]