Skip to content
Snippets Groups Projects
environment-and-modules.md 2.59 KiB
Newer Older
David Hrbáč's avatar
David Hrbáč committed
# Environment and Modules
Lukáš Krupčík's avatar
Lukáš Krupčík committed

Lukáš Krupčík's avatar
Lukáš Krupčík committed
## Environment Customization
Lukáš Krupčík's avatar
Lukáš Krupčík committed

Lukáš Krupčík's avatar
Lukáš Krupčík committed
After logging in, you may want to configure the environment. Write your preferred path definitions, aliases, functions and module loads in the .bashrc file
Lukáš Krupčík's avatar
Lukáš Krupčík committed

```console
$ cat ./bashrc

Lukáš Krupčík's avatar
Lukáš Krupčík committed
# ./bashrc

# Source global definitions
Lukáš Krupčík's avatar
Lukáš Krupčík committed
if [ -f /etc/bashrc ]; then
Lukáš Krupčík's avatar
Lukáš Krupčík committed
      . /etc/bashrc
fi

# User specific aliases and functions
alias qs='qstat -a'
module load PrgEnv-gnu

Lukáš Krupčík's avatar
Lukáš Krupčík committed
# Display information to standard output - only in interactive ssh session
Lukáš Krupčík's avatar
Lukáš Krupčík committed
if [ -n "$SSH_TTY" ]
Lukáš Krupčík's avatar
Lukáš Krupčík committed
then
 module list # Display loaded modules
fi
Lukáš Krupčík's avatar
Lukáš Krupčík committed
```
Lukáš Krupčík's avatar
Lukáš Krupčík committed

David Hrbáč's avatar
David Hrbáč committed
!!! note
Lukáš Krupčík's avatar
Lukáš Krupčík committed
    Do not run commands outputting to standard output (echo, module list, etc) in .bashrc for non-interactive SSH sessions. It breaks fundamental functionality (scp, PBS) of your account! Conside utilization of SSH session interactivity for such commands as stated in the previous example.
Lukáš Krupčík's avatar
Lukáš Krupčík committed

Lukáš Krupčík's avatar
Lukáš Krupčík committed
## Application Modules
Lukáš Krupčík's avatar
Lukáš Krupčík committed

Lukáš Krupčík's avatar
Lukáš Krupčík committed
In order to configure your shell for running particular application on Anselm we use Module package interface.
Lukáš Krupčík's avatar
Lukáš Krupčík committed

David Hrbáč's avatar
David Hrbáč committed
!!! note
Lukáš Krupčík's avatar
Lukáš Krupčík committed
    The modules set up the application paths, library paths and environment variables for running particular application.
Lukáš Krupčík's avatar
Lukáš Krupčík committed

Pavel Jirásek's avatar
Pavel Jirásek committed
    We have also second modules repository. This modules repository is created using tool called EasyBuild. On Salomon cluster, all modules will be build by this tool. If you want to use software from this modules repository, please follow instructions in section [Application Modules Path Expansion](environment-and-modules/#application-modules-path-expansion).
Lukáš Krupčík's avatar
Lukáš Krupčík committed

Lukáš Krupčík's avatar
Lukáš Krupčík committed
The modules may be loaded, unloaded and switched, according to momentary needs.
Lukáš Krupčík's avatar
Lukáš Krupčík committed

To check available modules use

Lukáš Krupčík's avatar
Lukáš Krupčík committed
```console
Lukáš Krupčík's avatar
Lukáš Krupčík committed
$ ml av
Lukáš Krupčík's avatar
Lukáš Krupčík committed
```
Lukáš Krupčík's avatar
Lukáš Krupčík committed

Lukáš Krupčík's avatar
Lukáš Krupčík committed
To load a module, for example the octave module use
Lukáš Krupčík's avatar
Lukáš Krupčík committed

Lukáš Krupčík's avatar
Lukáš Krupčík committed
```console
Lukáš Krupčík's avatar
Lukáš Krupčík committed
$ ml octave
Lukáš Krupčík's avatar
Lukáš Krupčík committed
```
Lukáš Krupčík's avatar
Lukáš Krupčík committed

Lukáš Krupčík's avatar
Lukáš Krupčík committed
loading the octave module will set up paths and environment variables of your active shell such that you are ready to run the octave software
Lukáš Krupčík's avatar
Lukáš Krupčík committed

To check loaded modules use

```console
Lukáš Krupčík's avatar
Lukáš Krupčík committed
$ ml
Lukáš Krupčík's avatar
Lukáš Krupčík committed
```
Lukáš Krupčík's avatar
Lukáš Krupčík committed

David Hrbáč's avatar
David Hrbáč committed
 To unload a module, for example the octave module use
Lukáš Krupčík's avatar
Lukáš Krupčík committed

Lukáš Krupčík's avatar
Lukáš Krupčík committed
```console
Lukáš Krupčík's avatar
Lukáš Krupčík committed
$ ml -octave
Lukáš Krupčík's avatar
Lukáš Krupčík committed
```
Lukáš Krupčík's avatar
Lukáš Krupčík committed

Following modules set up the development environment

Lukáš Krupčík's avatar
Lukáš Krupčík committed
PrgEnv-gnu sets up the GNU development environment in conjunction with the bullx MPI library
Lukáš Krupčík's avatar
Lukáš Krupčík committed

Lukáš Krupčík's avatar
Lukáš Krupčík committed
PrgEnv-intel sets up the INTEL development environment in conjunction with the Intel MPI library
Lukáš Krupčík's avatar
Lukáš Krupčík committed

Lukáš Krupčík's avatar
Lukáš Krupčík committed
## Application Modules Path Expansion
Lukáš Krupčík's avatar
Lukáš Krupčík committed

Lukáš Krupčík's avatar
Lukáš Krupčík committed
All application modules on Anselm cluster (and further) will be build using tool called [EasyBuild](http://hpcugent.github.io/easybuild/ "EasyBuild").
Lukáš Krupčík's avatar
Lukáš Krupčík committed

This command expands your searched paths to modules. You can also add this command to the .bashrc file to expand paths permanently. After this command, you can use same commands to list/add/remove modules as is described above.