Changes between Version 2 and Version 3 of Public/User_Guide/Information_on_software


Ignore:
Timestamp:
Jan 14, 2019, 3:34:46 PM (5 years ago)
Author:
Jacopo de Amicis
Comment:

Information on Easybuild, lmod and new software stack.

Legend:

Unmodified
Added
Removed
Modified
  • Public/User_Guide/Information_on_software

    v2 v3  
    55Based on the requirements by the DEEP-EST applications several software tools have already been installed on the DEEP system/DEEP-ER SDV. To see which modules are available use
    66
    7 ''module avail''
     7`module avail`
    88
    99For most tools and compilers there are several versions available, you can list the different versions of a specific tool with module avail “tool name”, for example
     
    1919You can load a specific version or just use the default with for example
    2020
    21 ''module load intel''
     21`module load intel`
    2222
    2323The modules which are currently loaded can be listed with the command “module list”. To unload a module just type “module unload” followed by the name of the module.
    2424
    2525
    26 == Compiler ==
     26== Information on new software stack and lmod ==
     27
     28Since the second half of 2018 a new software stack managed via Easybuild is available on the system (more information on Easybuild is available [https://easybuild.readthedocs.io/en/latest/ here]. '''Currently, this stack is not the default one, but must be actively enabled by the users with this command:'''
     29
     30`enable_new_stack`
     31
     32The software made available on the new stack via Easybuild is arranged hierarchically, with only some core modules made available to the user at login. Typically, these core modules include the compilers, or some other standalone tools (i.e. JUBE). Loading such core modules via `module load` allows the list of available modules to increase, including the modules that are installed with the fore-mentioned core module as a dependency.
     33
     34A typical workflow would be the following. After enabling the new stack, the user would be in this situation:
     35
     36{{{
     37$ module avail
     38
     39--------------------------------------------------------------- /usr/local/software/haswell/Stages/2018a/modules/all/Compiler/GCCcore/5.5.0 ----------------------------------------------------------------
     40   Autotools/20170619    CMake/3.9.6     CMake/3.11.1        Doxygen/1.8.14    LLVM/5.0.1    Perl/5.26.1        Python/2.7.14        X11/20180131    flex/2.6.4               unzip/6.0
     41   Bazel/0.11.1          CMake/3.10.3    CMake/3.12.2 (D)    GMP/6.1.2         PAPI/5.6.0    PostgreSQL/10.3    Python/3.6.5  (D)    cURL/7.59.0     libspatialindex/1.8.5
     42
     43-------------------------------------------------------------------------- /usr/local/software/haswell/Stages/2018a/UI/Compilers ---------------------------------------------------------------------------
     44   Intel/2018.2.199-GCC-5.5.0
     45
     46---------------------------------------------------------------------------- /usr/local/software/haswell/Stages/2018a/UI/Tools -----------------------------------------------------------------------------
     47   Advisor/2018_update3    EasyBuild/3.6.1    JUBE/2.2.1    Java/1.8.0_162    VTune/2018_update3    intel-para/2018a-mt    intel-para/2018a (D)    tbb/2018.2.199
     48
     49  Where:
     50   D:  Default Module
     51
     52}}}
     53
     54Loading the Intel compiler (Intel/2018.2.199-GCC-5.5.0 module), allows the list of available tools to be expanded:
     55
     56{{{
     57module load Intel/2018.2.199-GCC-5.5.0
     58module avail
     59
     60------------------------------------------------------- /usr/local/software/haswell/Stages/2018a/modules/all/Compiler/mpi/intel/2018.2.199-GCC-5.5.0 -------------------------------------------------------
     61   ParaStationMPI/5.2.1-1-mt    ParaStationMPI/5.2.1-1 (D)
     62
     63--------------------------------------------------------- /usr/local/software/haswell/Stages/2018a/modules/all/Compiler/intel/2018.2.199-GCC-5.5.0 ---------------------------------------------------------
     64   mkl-dnn/0.13
     65
     66--------------------------------------------------------------- /usr/local/software/haswell/Stages/2018a/modules/all/Compiler/GCCcore/5.5.0 ----------------------------------------------------------------
     67   Autotools/20170619    CMake/3.9.6     CMake/3.11.1        Doxygen/1.8.14    LLVM/5.0.1    Perl/5.26.1        Python/2.7.14        X11/20180131    flex/2.6.4               unzip/6.0
     68   Bazel/0.11.1          CMake/3.10.3    CMake/3.12.2 (D)    GMP/6.1.2         PAPI/5.6.0    PostgreSQL/10.3    Python/3.6.5  (D)    cURL/7.59.0     libspatialindex/1.8.5
     69
     70-------------------------------------------------------------------------- /usr/local/software/haswell/Stages/2018a/UI/Compilers ---------------------------------------------------------------------------
     71   Intel/2018.2.199-GCC-5.5.0 (L)
     72
     73---------------------------------------------------------------------------- /usr/local/software/haswell/Stages/2018a/UI/Tools -----------------------------------------------------------------------------
     74   Advisor/2018_update3    EasyBuild/3.6.1    JUBE/2.2.1    Java/1.8.0_162    VTune/2018_update3    intel-para/2018a-mt    intel-para/2018a (D)    tbb/2018.2.199
     75
     76  Where:
     77   L:  Module is loaded
     78   D:  Default Module
     79}}}
     80
     81After further loading an MPI library, the user can then access all parallel tools that require MPI:
     82
     83{{{
     84module load ParaStationMPI/5.2.1-1
     85module avail
     86
     87
     88---------------------------------------------------- /usr/local/software/haswell/Stages/2018a/modules/all/MPI/intel/2018.2.199-GCC-5.5.0/psmpi/5.2.1-1 -----------------------------------------------------
     89   Boost/1.66.0-Python-2.7.14        Extrae/3.5.2    FTI/1.2    HDF5/1.8.20            PETSc/3.9.0_int8        R/3.4.3          SciPy-Stack/2018a-Python-3.6.5    imkl/2018.2.199
     90   Boost/1.66.0-Python-3.6.5  (D)    FFTW/3.3.7      GSL/2.4    PETSc/3.9.0_complex    PETSc/3.9.0      (D)    SIONlib/1.7.1    TensorFlow/1.8.0-Python-3.6.5     netCDF/4.6.1
     91
     92------------------------------------------------------- /usr/local/software/haswell/Stages/2018a/modules/all/Compiler/mpi/intel/2018.2.199-GCC-5.5.0 -------------------------------------------------------
     93   ParaStationMPI/5.2.1-1-mt    ParaStationMPI/5.2.1-1 (L,D)
     94
     95--------------------------------------------------------- /usr/local/software/haswell/Stages/2018a/modules/all/Compiler/intel/2018.2.199-GCC-5.5.0 ---------------------------------------------------------
     96   mkl-dnn/0.13
     97
     98--------------------------------------------------------------- /usr/local/software/haswell/Stages/2018a/modules/all/Compiler/GCCcore/5.5.0 ----------------------------------------------------------------
     99   Autotools/20170619    CMake/3.9.6     CMake/3.11.1        Doxygen/1.8.14    LLVM/5.0.1    Perl/5.26.1        Python/2.7.14        X11/20180131    flex/2.6.4               unzip/6.0
     100   Bazel/0.11.1          CMake/3.10.3    CMake/3.12.2 (D)    GMP/6.1.2         PAPI/5.6.0    PostgreSQL/10.3    Python/3.6.5  (D)    cURL/7.59.0     libspatialindex/1.8.5
     101
     102-------------------------------------------------------------------------- /usr/local/software/haswell/Stages/2018a/UI/Compilers ---------------------------------------------------------------------------
     103   Intel/2018.2.199-GCC-5.5.0 (L)
     104
     105---------------------------------------------------------------------------- /usr/local/software/haswell/Stages/2018a/UI/Tools -----------------------------------------------------------------------------
     106   Advisor/2018_update3    EasyBuild/3.6.1    JUBE/2.2.1    Java/1.8.0_162    VTune/2018_update3    intel-para/2018a-mt    intel-para/2018a (D)    tbb/2018.2.199
     107
     108  Where:
     109   L:  Module is loaded
     110   D:  Default Module
     111}}}
     112
     113It can be seen from the previous examples that with the new software stack, the command `module avail` does not allow the user to visualize all the modules actually installed on the system, but rather the ones made available by the system with the modules previously loaded up to that point. In order to explore the full hierarchy of modules, the command
     114
     115`module spider`
     116
     117must be used. After enabling the new stack on a new shell, it's possible to search for a certain module (Extrae, for instance) with the following instructions:
     118
     119{{{
     120$ ml spider Extrae
     121
     122--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     123  Extrae: Extrae/3.5.2
     124--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     125    Description:
     126      Extrae is the core instrumentation package developed by the Performance Tools group at BSC. Extrae is capable of instrumenting applications based on MPI, OpenMP, pthreads, CUDA1, OpenCL1, and
     127      StarSs1 using different instrumentation approaches. The information gathered by Extrae typically includes timestamped events of runtime calls, performance counters and source code references.
     128      Besides, Extrae provides its own API to allow the user to manually instrument his or her application.
     129
     130
     131    You will need to load all module(s) on any one of the lines below before the "Extrae/3.5.2" module is available to load.
     132
     133      Intel/2018.2.199-GCC-5.5.0  ParaStationMPI/5.2.1-1
     134 
     135    Help:
     136     
     137      Description
     138      ===========
     139      Extrae is the core instrumentation package developed by the Performance Tools
     140       group at BSC. Extrae is capable of instrumenting applications based on MPI, OpenMP, pthreads,
     141       CUDA1, OpenCL1, and StarSs1 using different instrumentation approaches. The information gathered
     142       by Extrae typically includes timestamped events of runtime calls, performance counters and source
     143       code references. Besides, Extrae provides its own API to allow the user to manually instrument his
     144       or her application.
     145     
     146     
     147      More information
     148      ================
     149       - Homepage: http://www.bsc.es/computer-sciences/performance-tools
     150       - Site contact: sc@fz-juelich.de
     151}}}
     152
     153The description provided by the `module spider` command includes also a list of modules that need to be loaded, in order to be able to load the Extrae module.
     154
     155The `module spider` command is part of a new implementation of the generic `module`. Together with this added functionality, lmod provides also a wrapper around the `module` command, namely the `ml` command. This wrapper has some user-friendly features:
     156- `ml` alone lists all the currently loaded modules;
     157- `ml +module` (or `ml module`) allows to load a specific module (e.g. `ml Intel` loads the default version of the Intel module);
     158- `ml -module` unloads the previously loaded module (e.g. `ml -Intel` removes the currently loaded version of the Intel module);
     159- the `ml` wrapper can be user instead of `module` for all the subcommands of `module` (e.g. `ml avail` or `ml av`, or `ml restore`, etc.)
     160
     161More information on lmod can be found [https://lmod.readthedocs.io/en/latest/ here].
     162
     163
     164== Compiler (relevant for old stack only!)==
    27165
    28166There are several compilers available, but as it is highly recommended to use the Intel compiler on the KNC system it might be best to also use it on the DEEP system.\\
     
    33171
    34172
    35 == Profiling and analysis tools ==
     173== Profiling and analysis tools (relevant for old stack only!)==
    36174
    37175* Intel VTune:    module load VTune