Skip to content

[VeloxChem] [package list]

VeloxChem/1.0-gpu-cpeAMD-24.03-rocm (VeloxChem-1.0-gpu-cpeAMD-24.03-rocm.eb)

Install with the EasyBuild-user module:

eb VeloxChem-1.0-gpu-cpeAMD-24.03-rocm.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider VeloxChem/1.0-gpu-cpeAMD-24.03-rocm.

EasyConfig:

easyblock = 'PythonBundle'
#easyblock = 'PythonPackage'

name = 'VeloxChem'
version = '1.0-gpu'
versionsuffix = '-rocm'

homepage = 'https://veloxchem.org/'

whatis = [
    'Description: VeloxChem: Python-based quantum chemistry software for computing molecular properties and spectroscopies from response theory',
]

description = """
VeloxChem is a Python-based open source quantum chemistry software developed
for computing molecular properties and a variety of spectroscopies from 
response theory. It supports massively parallel calculations in 
high-performance computing (HPC) environments.
"""

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

builddependencies = [
    ('cray-python', EXTERNAL_MODULE),
    ('buildtools-python', '%(toolchain_version)s', '-cray-python%(pyshortver)s', True),
]

dependencies = [
    ('cray-hdf5-parallel', EXTERNAL_MODULE),
    ('rocm', EXTERNAL_MODULE),
    ('cray-python', EXTERNAL_MODULE),
    ('magma', '2.8.0', '-rocm'),
    ('libxc', '7.0.0'),
    ('SciPy-bundle', '1.14.1-1.26.4'),
]

use_pip = True

exts_default_options = {
    'source_urls': [PYPI_SOURCE],
    'use_pip': True,
    'sanity_pip_check': False,
}

exts_list = [
    ('wheel', '0.45.1'), # without it sanity check for scikit-build fails
    ('geometric', '1.1'),
    ('h5py', '3.11.0', {
        'preinstallopts':  'HDF5_MPI="ON" H5PY_SETUP_REQUIRES=0 CC=cc',
        'installopts': '--verbose',
    }),
    ('networkx', '3.5', {'source_tmpl': 'networkx-3.5-py3-none-any.whl'}), # this is false dependency for geometric
    ('psutil', '7.1.3', {'source_tmpl': 'psutil-7.1.3-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl'}),
    ('pathspec', '0.12.1'),
    ('scikit-build-core', '0.11.6', {'source_tmpl': 'scikit_build_core-0.11.6-py3-none-any.whl'}),
    ('scikit-build', '0.18.1', {'modulename': 'skbuild', 'source_tmpl': 'scikit_build-0.18.1-py3-none-any.whl'}),
    (name, version, {
        'modulename': 'veloxchem',
        'sources': [{
            'filename': '%(name)s-%(version)s.tar.gz',
            'git_config': {
                'url': 'https://github.com/VeloxChem', 
                'repo_name': '%(name)s',
                'commit': 'gpu',
            }
         }],
        'prebuildopts': 'cp src/Makefile.setup_hip src/Makefile.setup && ',
        'buildcmd': 'make -j16 MAGMA_HOME=${EBROOTMAGMA} LIBXC_HOME=${EBROOTLIBXC} CXX=${ROCM_PATH}/bin/amdclang++ DEVICE_LIB="-L${ROCM_PATH}/lib -lhipblas" -C src',
        'postinstallcmds': [
            'cp build/python/veloxchem/veloxchemlib.so %(installdir)s/lib/python%(pyshortver)s/site-packages/veloxchem/',
            'cp -r build/python/veloxchem/basis %(installdir)s/lib/python%(pyshortver)s/site-packages/veloxchem/',
        ],
        'use_pip': True,
    }),
]

# Further license information could be added in the future, but is a lot of work as there are 
# many packages included.

postinstallcmds = [
    'mkdir -p %(installdir)s/share/licenses/VeloxChem',
    'cd ../../VeloxChem/VeloxChem && cp AUTHORS.rst LICENSE LICENSE-THIRD-PARTY README.rst %(installdir)s/share/licenses/VeloxChem',
]


sanity_check_paths = {
    'files': ['bin/vlx'],
    'dirs':  ['lib/python%(pyshortver)s/site-packages'],
}

moduleclass = 'chem'

[VeloxChem] [package list]