...
Table of Contents |
---|
Introduction
This tutorial page shows how to install IMAS ecosystem using EasyBuild. The installation will be performed on the Gateway cluster but it can be done anywhere.
...
- Easybuild is installed and publicly available via module system
- Your Easybuild configuration file exists and is properly configured
- IMAS related receipts are downloaded from all repositories being used
$ROBOT_PATHS
system variable is set to point to all directories with easyconfig files- Your
TMP
directory is set up to use$ITMWORK
All modules are purged and EasyBuild module is the only module loaded:
Code Block module purge module load EasyBuild
-
Code Block - sss
Software installation receipts
...
- EasyBuild built-in receipts
- EasyBuild receipts repository
- Gateway specific receipts
- 'Limbo' of the IMAS receipts
- ITER repository of the IMAS receipts
Downloading configuration (EB) files
SDCC: /work/imas/opt/EasyBuild/ebfiles_repo/
...
Code Block | ||||
---|---|---|---|---|
| ||||
TBDexport ROBOT_PATHS=`pwd`/all_iter |
Remember to change the --robot
and pass paths to your and TBD
directories.
Installation of IMAS HLIs - 5.2.0dev
Searching for receipts
EasyBuild needs a receipt to install any software component. The following command can be used to look for receipts:
Code Block |
---|
eb --search <software_name> --robot=$ROBOT_PATHS |
A <software_name>
could be only part of the name being searched. Additionally EasyBuild search is case insensitive. E.g. "dox"
string can be provided while looking for "Doxygen"
Code Block |
---|
shell> eb --search dox --robot=$ROBOT_PATHS
== found valid index for /gw/swimas/easybuild/opt/software/EasyBuild/5.0.0/easybuild/easyconfigs, so using it...
* /afs/eufus.eu/user/g/g2bpalak/work/easybuild/all_iter/Doxygen/Doxygen-1.9.8-GCCcore-13.2.0.eb
* /afs/eufus.eu/user/g/g2bpalak/work/easybuild/all_iter/Doxygen/Doxygen-1.13.2-GCCcore-13.2.0.eb
...
* /gw/swimas/easybuild/opt/software/EasyBuild/5.0.0/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.8-GCCcore-13.2.0.eb
* /gw/swimas/easybuild/opt/software/EasyBuild/5.0.0/easybuild/easyconfigs/d/Doxygen/Doxygen-1.11.0-GCCcore-13.3.0.eb |
Installation of software components
Code Block | ||||
---|---|---|---|---|
| ||||
eb IMAS-AL-Cpp/IMAS-AL-Cpp | ||||
Code Block | ||||
| ||||
eb IMAS-AL-Cpp/IMAS-AL-Cpp-5.2.0dev-foss-2020b-DD-3.40.1.eb --allow-modules-tool-mismatch --robot=/pfs/work/g2pbloch/test_instruction/easybuild-imas-files:/pfs/work/g2pbloch/test_instruction/eb_files_repo eb IMAS-AL-Fortran/IMAS-AL-Fortran-5.2.0dev-foss-2020b-DD-3.40.1.eb --allow-modules-tool-mismatch --robot=/pfs/work/g2pbloch/test_instruction/easybuild-imas-files:/pfs/work/g2pbloch/test_instruction/eb_files_repo eb IMAS-AL-Java/IMAS-AL-Java-5.2.0dev-foss-2020b-Java-11-DD-3.40.1.eb --allow-modules-tool-mismatch --robot=/pfs/work/g2pbloch/test_instruction/easybuild-imas-files:/pfs/work/g2pbloch/test_instruction/eb_files_repo eb IMAS-AL-Python/IMAS-AL-Python-5.2.0dev-foss-2020b-DD-3.40.1.eb --allow-modules-tool-mismatch --robot=/pfs/work/g2pbloch/test_instruction/easybuild-imas-files:/pfs/work/g2pbloch/test_instruction/eb_files_repo$ROBOT_PATHS |
Remember to change the --robot
and pass paths to your easybuild-files
and easybuild-imas-files
receipt directories.
Installation of IMAS
IMAS bundle
The IMAS bundle is (usually) provided by ITER and loads all IMAS High Level Interfaces and related modules:
- IMAS High Level InterfacesHLIs
- IMAS-AL-Cpp
- IMAS-AL-Fortran
- IMAS-AL-Java
- IMAS-AL-Matlab
- IMAS-AL-Python
- Related modules:
- IDStools
- IDStools
...
- Clone repo with easyconfigs: TBD
- Run installation:
Code Block eb ./ebfiles_repo/IMAS/IMAS-3.42.0-2024.08.1-foss-2023b.eb --allow-modules-tool-mismatch --robot=<path_to_ebfiles_repo> --accept-eula-for=Intel-oneAPI eb ./ebfiles_repo/IMAS/IMAS-3.42.0-2024.08.1-intel-2023b.eb --allow-modules-tool-mismatch --robot=<path_to_ebfiles_repo> --accept-eula-for=Intel-oneAPI
...
How to use IMAS
After installation you can load IMAS
modules i.e:
...
- eb - EasyBuild
IMAS-AL-Cpp/IMAS-AL-Cpp-5.2.0dev-foss-2020b-DD-3.40.1.eb - path to EasyBuild configuration file
--allow-modules-tool-mismatch
- flag--robot
- paths to configuration files
--installpath-modules=/gw/swimas/easybuild/etc --use-existing-modules --ignore-checksums
Installation of the 'production' version
...
Code Block | ||
---|---|---|
| ||
--prefix='/gw/swimas/easybuild/opt' --installpath-modules='/gw/swimas/easybuild/etc' # TO BE DISCUSSED: Accessing sources while debugging. Should 'source' directory be public, as well? # following modules must be installed # pkgconfig # Cmake |
imasenv
module
Adding software components to existing installation
...
Warning |
---|
TO BE CHECKED !!!!!{{ }} |
Purge loaded modules before using Easybuild
Warning | ||
---|---|---|
EasyBuild requires no modules to be loaded ! Please execute:
|
Change the default tmp directory directory Anchor tmp_dir_change tmp_dir_change
tmp_dir_change | |
tmp_dir_change |
Easybuild produces a lot of temporary content (logs, intermediate build files, etc)
...