Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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
languagetext
titleclone repo
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
languagebash
titleIMAS
eb IMAS-AL-Cpp/IMAS-AL-Cpp
Code Block
languagebash
titleIMAS
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

...

  • 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
languageplain
--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 !!!!!{{


--hide-deps
}}

Purge loaded modules before using Easybuild

Warning

EasyBuild requires no modules to be loaded ! 

Please execute:

Code Block
module purge

 


Change the default tmp directory directory
Anchor
tmp_dir_change
tmp_dir_change

Easybuild produces a lot of temporary content (logs, intermediate build files, etc)

...