Skip to content
Snippets Groups Projects
environment-and-modules.md 2.76 KiB
Newer Older
  • Learn to ignore specific revisions
  • Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    # Environment and Modules
    
    ## Shells on Clusters
    
    The table shows which shells are supported on the IT4Innovations clusters.
    
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    | Cluster Name    | bash | tcsh | zsh | ksh | dash |
    
    | --------------- | ---- | ---- | --- | --- | ---- |
    | Karolina        | yes  | yes  | yes | yes | yes  |
    | Barbora         | yes  | yes  | yes | yes | no   |
    | DGX-2           | yes  | no   | no  | no  | no   |
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    !!! info
    
        BASH is the default shell. Should you need a different shell, contact [support\[at\]it4i.cz][3].
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    ## Environment Customization
    
    After logging in, you may want to configure the environment. Write your preferred path definitions, aliases, functions, and module loads in the .bashrc file
    
    ```console
    # ./bashrc
    
    # users compilation path
    export MODULEPATH=${MODULEPATH}:/home/$USER/.local/easybuild/modules/all
    
    # User specific aliases and functions
    alias qs='qstat -a'
    
    # load default intel compilator !!! is not recommended !!!
    ml intel
    
    # Display information to standard output - only in interactive ssh session
    if [ -n "$SSH_TTY" ]
    then
     ml # Display loaded modules
    fi
    ```
    
    !!! note
        Do not run commands outputting to standard output (echo, module list, etc.) in .bashrc for non-interactive SSH sessions. It breaks the fundamental functionality (SCP, PBS) of your account. Take care for SSH session interactivity for such commands as stated in the previous example.
    
    ### Application Modules
    
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    In order to configure your shell for running a particular application on clusters, we use a module package interface.
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    Application modules on clusters are built using [EasyBuild][1]. The modules are divided into the following groups:
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    ```
     base: Default module class
     bio: Bioinformatics, biology and biomedical
     cae: Computer Aided Engineering (incl. CFD)
     chem: Chemistry, Computational Chemistry and Quantum Chemistry
     compiler: Compilers
     data: Data management & processing tools
     debugger: Debuggers
     devel: Development tools
     geo: Earth Sciences
     ide: Integrated Development Environments (e.g. editors)
     lang: Languages and programming aids
     lib: General purpose libraries
     math: High-level mathematical software
     mpi: MPI stacks
     numlib: Numerical Libraries
     perf: Performance tools
     phys: Physics and physical systems simulations
     system: System utilities (e.g. highly depending on system OS and hardware)
     toolchain: EasyBuild toolchains
     tools: General purpose tools
     vis: Visualization, plotting, documentation and typesetting
     OS: singularity image
     python: python packages
    ```
    
    !!! note
    
    Jan Siwiec's avatar
    Jan Siwiec committed
        The modules set up the application paths, library paths and environment variables for running a particular application.
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    The modules may be loaded, unloaded, and switched according to momentary needs. For details, see [lmod][2].
    
    [1]: software/tools/easybuild.md
    [2]: software/modules/lmod.md
    
    [3]: mailto:support@it4i.cz