UppASD/6.0.2-cpeCray-24.03 (UppASD-6.0.2-cpeCray-24.03.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 UppASD/6.0.2-cpeCray-24.03
.
EasyConfig:
# Contributed by Johan Hellsvik (PDC)
# Adapted for LUMI by Kurt Lust (LUST)
easyblock = 'MakeCp'
name = 'UppASD'
version = '6.0.2'
homepage = 'http://physics.uu.se/uppasd'
whatis = [
'Description: Uppsala Atomistic Spin Dynamics software'
]
description = """
The UppASD software package is a simulation suite to study magnetization dynamics
by means of the atomistic version of the Landau-Lifshitz-Gilbert (LLG) equation.
The code is compiled with OpenMP support.
Note that the module does contain the Python ASD_GUI and ASD_Tools code
(in $EBROOTUPPASD/ASD_GUI and $EBROOTUPPASD/ASD_Tools) but does not build a Python
environment with all dependencies of those packages. Given that several of the
dependencies link to graphics UI libraries which are notoriously hard to run on
LUMI, it may be better to either build a conda container using lumi-container-wrapper
or cotainr, or simply run the Python code on a workstation.
"""
docurls = [
'Web-based user guide (PDF): https://github.com/UppASD/UppASD/blob/master/docs/Multiscale/MuASDmanual.pdf',
]
toolchain = {'name': 'cpeCray', 'version': '24.03'}
toolchainopts = {'openmp': True, 'usempi': True}
source_urls = ['https://github.com/%(name)s/%(name)s/archive/refs/tags/v%(version)s']
sources = [SOURCELOWER_TAR_GZ]
patches = ['%(name)s-%(version)s_Link_patch_Cray_ftn.patch']
checksums = [
'95b636362eb05cd89c116d580104e4dcba3c261f8d0c970b216edc36de7e59bb', # v6.0.2.tar.gz
'aa9aaa1e67d3dd619403cd32960561013d8d3f7754249db987e533586ca62acd', # UppASD-6.0.2_Link_patch_Cray_ftn.patch
]
builddependencies = [
('buildtools', '%(toolchain_version)s', '', SYSTEM),
]
build_cmd = "make deps && make crayftn-ftn"
files_to_copy = [
(['./source/sd'], './bin/'),
(['./ASD_GUI'], '.'),
(['./ASD_Tools'], '.'),
(['./examples'], '.'),
(['LICENSE'], 'share/licenses/%(name)s'),
(['requirements.txt'], '.')
]
sanity_check_paths = {
'files': ['bin/sd','ASD_GUI/ASD_GUI/ASD_GUI.py'],
'dirs': ['bin','ASD_GUI','ASD_Tools','examples'],
}
moduleclass = 'phys'