Versions Compared

Key

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

Table of Contents
Releasing


  • 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??)

IMAS AL

Releasing Release new version of IMAS AL (described on other pages)

...

  1. Check, in which dir imasenv  modules are stored

    Code Block
    ~>module show imasenv
    -------------------------------------------------------------------
    /path/to/imasenv/a.b.c/:


  2. cd  /path/to/imasenv/ 
  3. cp -r a.b.c x.y.z-alpha
    1.  Assumption: a.b.c is (so far) the latest version of imasenv
    2. Version x.y.z will be (until all libraries will be ready) marked as -alpha to warn the users that it is "under construction"
  4. cd x.y.z-alpha 
  5. Contents of x.y.z-alpha dir: 

    Code Block
    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


    Code Block
    x.y.z-alpha>cat .version
    #%Module######################################################################
    # Default version
    set ModulesVersion  intel
    www


  6. Updating of imasenv module content
    1. 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)}}

    2. open these file using any editor
    3. updating IMAS AL versions 

      Code Block
      set imas_version x.y.z
      set al_version   a.b.c  


    4. Update all "submodules" versions (if needed/requested)
  7. 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


Updating of IMAS libraries

DD dependent vs independent libraries

  1. There are two kinds of IMAS libraries:
    1. DD independent: BLAS, LAPACK, INTERPOS, XMLLIB . 
    2. DD dependent: GGD, LIBBDS, AMNS
  2. BLAS/LAPACK have to be installed only if there are no system-wide ones available 
  3. DD independent libraries don't have to be re-installed after DD update but only if users requests a new version
  4. DD dependent libraries needs to be re-installed after every DD update/change


Installation scripts

  1. Fetching scripts
    1. git clone https://<GW user login>@gforge-next.eufus.eu/git/imasscripts

    2. Content of the cloned repo (branch master)

      Code Block
      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


  2. Script structure 
Code Block
#!/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

Library compilation/installation.

  1. Set compiler:
    1. module load imasenv/x.y.z-alpha/<compiler vendor>/<compiler version> e.g.  imasenv/3.26.0-alpha/intel/17.0 
    2. pls ignore all errors related to libraries that are not compiled yet
  2. Set a proper version/tag 
    1. Check which version of given lib is the latest one
    2. edit build.sh  to set <LIBRARY>_VERSION="a.b.c"  (e.g AMNS_VERSION="1.3.0") 

  3. run ./build.sh 
  4. Usually after installation there are still few manual steps required (to be automatised in future) - see next point

IMASViz

TBD


THE END

Renaming imasenv/x.y.z-alpha to imasenv/x.y.z


Code Block
mv /path/to/imasenv/x.y.z-alpha /path/to/imasenv/x.y.z



Info
titleAcknowledgement

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”.