Versions Compared

Key

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

...

  • in most cases users specify only "module load imasenv"  or "module load imasenv/<dd-ver> "
  • UAL is a "yet another library" that don't has to be set separately ("ual/<al-version>" part of schema)
  • users don't take into account *AL version* and other libs version... and use defaults 
  • users don't take into account compiler version... and use default one
  • there is a need to couple imasenv with particular wpcdenv version:
    • currently imasenv loads default wpcdenv
    • all imasenv libraries can be not compatible with other wpcdenv version as being used during compilation
    • loading manually wpcdenv by user and than imasenv can result in inconsistent environment 
  • The number of modules is growing very fast (see "module avail imasenv") - it is harder and harder to find a proper version

Thus, there is a need of simplification  of described mechanism and to provide a proper lifecycle !

Simplification of wpcdenv/imasenv schema

...

  • to remove "ual/<al-version>" part of imasenv module name
  • to remove "<compiler-version>" part of wpcdenv module name
  • to combine wpcdenv and imasenv within one module 

    Code Block
    imasenv/<dd-ver>/<compiler>/<compiler_vendor>/<compiler_version>/<library-set-ver>
    e.g.:
    imasenv/3.24.0/intel/17.0/1.0.2


Justification:

  • Proposed schema is simplification (from users point of view) of existing mechanism
  • (already mentioned) no need to handle AL differently than other libraries
  • It solves problem of coupling libraries and its dependencies used at compilation time (aka a correct wpcdenv for given imasenv)
  • The change will be transparent for the users that loads defaults calling "module load imasenv[/dd-ver]" 

...

Info

Defaults

Please note that module system allows to provide defaults on every level of module structure - a "tail" of module name can be skipped to use default versions

Taking imasenv as an example, following calls loads the same module :

  • module load imasenv
  • module load imasenv/3.24.0
  • module load imasenv/3.24.0/intel
  • module load imasenv/3.24.0/intel/17.0
  • module load imasenv/3.24.0/intel/17.0/1.0.2 

under assumptions:

  • 3.24.0  is a default DD version
  • intel  is default compiler
  • 17.0 is default compiler version
  • 1.0.2  is default set of libraries compiled by intel

"WPCD products"

ETS workflow is the most complex product being developed by WPCD, however WPCD activity is not limited to ETS development, so this document will refer to "WPCD products" keeping in mind that in most cases it is synonym of "ERTS workflow"

...