- This page describes releasing IMAS AL and IMAS libs when new DD version (x.y.z) occurs
- There is no one script / mechanism that could be used to install the whole "ecosystem"
- Some scripts, used for installation of libraries has been developed, however they are not "full automatic" and still requires many improvements/development (to be changed to Makefiles??)
1. IMAS AL
Release new version of IMAS AL (described on other pages)
2. imasenv/x.y.z
Check, in which dir imasenv modules are stored
~>module show imasenv ------------------------------------------------------------------- /path/to/imasenv/a.b.c/:
cd /path/to/imasenv/
cp -r a.b.c x.y.z-alpha
- Assumption:
a.b.c
is (so far) the latest version of imasenv - Version
x.y.z
will be (until all libraries will be ready) marked as -alpha to warn the users that it is "under construction"
- Assumption:
cd x.y.z-alpha
Contents of
x.y.z-alpha
dir:x.y.z-alpha>ls -la drwxr-xr-x gcc drwxr-xr-x intel lrwxr-xr-x rc -> intel/17.0/rc # link to default module imasenv/x.y.z/rc -rw-r--r-- .version # definition of default compiler of imasenv/x.y.z
x.y.z-alpha>cat .version #%Module###################################################################### # Default version set ModulesVersion intel
- Updating of imasenv module content
all files x.y.z-alpha/<compiler>/<version>/rc (e.g. 3.26.0-alpha/gcc/7.3.0/rc) needs to be updated (rc is always the first published version, tagged on user demand)}}
- open these file using any editor
updating IMAS AL versions
set imas_version x.y.z set al_version a.b.c
- Update all "submodules" versions (if needed/requested)
imasenv
module is updated, but when loading, it reports several errors - no lib compiled for new DD versions are available - to compile them - see next point
3. Updating of IMAS libraries
3.1. DD dependent vs independent libraries
- There are two kinds of IMAS libraries:
- DD independent: BLAS, LAPACK, INTERPOS, XMLLIB .
- DD dependent: GGD, LIBBDS, AMNS
- BLAS/LAPACK have to be installed only if there are no system-wide ones available
- DD independent libraries don't have to be re-installed after DD update but only if users requests a new version
- DD dependent libraries needs to be re-installed after every DD update/change
3.2. Installation scripts
- Fetching scripts
git clone https://<GW user login>@gforge-next.eufus.eu/git/imasscripts
Content of the cloned repo (branch master)
imasscripts>ls -la drwxr-xr-x 2 g2bpalak g2itmdev 4096 Jan 24 11:39 amns drwxr-xr-x 3 g2bpalak g2itmdev 4096 Jan 24 11:40 blas drwxr-xr-x 2 g2bpalak g2itmdev 4096 Jan 24 11:43 ggd drwxr-xr-x 2 g2bpalak g2itmdev 4096 Jan 24 11:39 interpos drwxr-xr-x 3 g2bpalak g2itmdev 4096 Jan 24 11:40 lapack drwxr-xr-x 2 g2bpalak g2itmdev 4096 Jan 24 11:43 libbds drwxr-xr-x 2 g2bpalak g2itmdev 4096 Jan 24 11:43 xmllib
- Script structure
#!/bin/sh #REPO GIT_REPO="ssh://git@git.iter.org/imex/amns.git" #VERSION/TAG AMNS_VERSION="1.3.0" #setting installation dir export INSTALL_DIR=$IMAS_HOME/extra/amns/$AMNS_VERSION/$IMASENV_COMP_VENDOR/$IMASENV_COMP_VERSION/imas/$IMAS_VERSION #FETCHing sources from GIT/SVN .... #CLEANING (in case of any left overs) ...... # CONFIGURING (if using autotools) .... #COMPILATION AND INSTALLATION
3.3. Library compilation/installation.
- Set compiler:
module load imasenv/x.y.z-alpha/<compiler vendor>/<compiler version> e.g.
imasenv/3.26.0-alpha/intel/17.0- pls ignore all errors related to libraries that are not compiled yet
- Set a proper version/tag
- Check which version of given lib is the latest one
edit
build.sh
to set<LIBRARY>_VERSION="a.b.c" (e.g AMNS_VERSION="1.3.0")
- run ./
build.sh
- Usually after installation there are still few manual steps required (to be automatised in future) - see next point
4. IMASViz
TBD
5. THE END
Renaming imasenv/x.y.z-alpha to imasenv/x.y.z
mv /path/to/imasenv/x.y.z-alpha /path/to/imasenv/x.y.z
Acknowledgement
This work has been carried out within the framework of the EUROfusion Consortium and has received funding from the Euratom research and training programme 2014-2018 under grant agreement No 633053.The scientific work is published for the realization of the international project co-financed by Polish Ministry of Science and Higher Education in 2019 and 2020 from financial resources of the program entitled "PMW"; Agreement No. 5040/H2020/Euratom/2019/2 and 5142/H2020-Euratom/2020/2”.