...
- 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
- Your
TMP
directory is set up to use$ITMWORK
Software installation receipts
...
Downloading configuration (EB) files
SDCC: /work/imas/opt/EasyBuild/ebfiles_repo/
...
Code Block | ||||
---|---|---|---|---|
| ||||
https://gitlab.eufus.psnc.pl/g2pbloch/easybuild-files
https://gitlab.eufus.psnc.pl/g2pbloch/easybuild-imas-files
# [Bartek Palak] Probably only the ITER repository of EB receipts is required (ssh://git@git.iter.org/imex/easybuild-easyconfigs.git) To be checked. |
Installation of Data Dictionary (DD)
Run the DD installation (in the easybuild-imas-files
directory):
Code Block | ||||
---|---|---|---|---|
| ||||
eb Data-Dictionary/Data-Dictionary-3.40.1-GCCcore-10.2.0.eb --allow-modules-tool-mismatch --robot=/pfs/work/g2pbloch/test_instruction/easybuild-imas-files:/pfs/work/g2pbloch/test_instruction/eb_files_repo --http-header-fields-urlpat="^https://git.iter.org::$HOME/.config/easybuild/secret.txt"
|
TBD |
Remember to change the --robot
and pass paths to your easybuild-files
and easybuild-imas-files
directories.
Configuring paths in IMAS configuration (EB) files
After DD installation change path in this line in the HLI easyconfigs to your {prefix}/software/Data-Dictionary/3.40.1-GCCcore-10.2.0/dd_3.40.1/
Code Block | ||||
---|---|---|---|---|
| ||||
preconfigopts = 'export IMAS_VERSION="0.0.0" && export IMAS_PREFIX="/pfs/work/g2pbloch/test_instruction/software/Data-Dictionary/3.40.1-GCCcore-10.2.0/dd_3.40.1/" &&' |
In Python configuration files IMAS-AL-Python, IMAS-AL-Python-Bindings
you have to change path
to python to $prefix/software/Python/3.8.6-GCCcore-10.2.0/
and TBD
directories.
Installation of IMAS HLIs - 5.2.0dev
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 |
Remember to change the --robot
and pass paths to your easybuild-files
and easybuild-imas-files
directories.
Installation of
...
IMAS
IMAS bundle
- HLIs
- Clone repo with easyconfigs: `https://gitlab.eufus.psnc.pl/g2pbloch/ebfiles_repo
- Replace the paths to your python installed by easybuild in the files: /
- 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 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
imasenv
module
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--http-header-fields-urlpat
- secret to downloading files from ITER repo
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 # IMAS_AL-Core receipt - to be checked!!! '-D Python3_ROOT_DIR=/gw/swimas/easybuild/opt/software/Python/3.11.5-GCCcore-13.2.0 ' '-D Python3_EXECUTABLE=/gw/swimas/easybuild/opt/software/Python/3.11.5-GCCcore-13.2.0/bin/python3 ' '-D Python_ROOT_DIR=/gw/swimas/easybuild/opt/software/Python/3.11.5-GCCcore-13.2.0 ' '-D Python_EXECUTABLE=/gw/swimas/easybuild/opt/software/Python/3.11.5-GCCcore-13.2.0/bin/python3 ' |
Adding software components to existing installation
- Set
MODULEPATH
system variableCode Block export MODULEPATH=/gw/swimas/easybuild/etc/all
- Add
--use-existing-modules
switch toeb
command
Useful tips
Installing dependencies as hidden modules
...
Warning | ||
---|---|---|
EasyBuild requires no modules to be loaded ! Please execute:
|
Change the default tmp
...
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)
...
Code Block | ||
---|---|---|
| ||
# Run 'interactive' batch job using SLURM 'srun' command # -p gw : 'gw' queue offering the longer walltime than the default 'gwdebug' # --ntasks-per-node=48 : number of cores requested (1 node provides up to 48 cores) # --time=48:0:0 : walltime (documentation says that the default walltime in 'gw' queue is 48h but not explicitly specified is set to 1h - To Be Checked) # --x11 : X11 forwarding (optional) # --pty /bin/bash : pseudoterminal bash> srun -p gw --ntasks-per-node=48 --time=48:0:0 --pty /bin/bash |
...
Once resources are allocated, a new shell is being opened opens on the working node . A usually reporting file system error is reported in most cases:
Code Block |
---|
bash: /afs/eufus.eu/user/g/g2<user>/.bashrc: Permission denied |
...