[slurm-users] Using "Environment Modules"
Brian Andrus
toomuchit at gmail.com
Tue Jan 26 15:26:42 UTC 2021
That flow is fairly common.
Basically, you need to get the environment alias 'module' to be defined
so you need your script to source things.
The common thing is to:
source ~/.bash_profile
On default RHEL-based systems this will also call ~/.bashrc which in
turn calls ~/etc/bashrc
The net effect is that the environment gets setup the same as if the
user had opened a shell console.
Brian Andrus
On 1/26/2021 2:13 AM, Gestió Servidors wrote:
>
> Hi,
>
> My environment is this:
>
> * Users are using “bash” as the default shell
> * A sample of one of my environment modules is this:
>
> #%Module1.0
>
> ##
>
> ## modules modulefile
>
> ##
>
> ## modulefiles/modules. Generated from modules.in by configure.
>
> ##
>
> set ModulesVersion "3.2.10"
>
> proc ModulesHelp { } {
>
> global version prefix
>
> puts stderr "\tOpenMPI - $version"
>
> puts stderr "\n\tThis adds $prefix/* to several of the"
>
> puts stderr "\tenvironment variables."
>
> puts stderr "\n\tVersion $version\n"
>
> }
>
> module-whatis "Loads OpenMPI 3.0.0 environment"
>
> # for Tcl script use only
>
> set version 3.0.0
>
> set prefix /soft/openmpi-${version}
>
> set exec_prefix ${prefix}
>
> set datarootdir ${prefix}/share
>
> prepend-path PATH ${exec_prefix}/bin
>
> prepend-path LD_LIBRARY_PATH ${prefix}/lib
>
> prepend-path INCLUDE_PATH ${prefix}/include
>
> * “module” command itself is processed in /etc/profile.d/modules.sh
> with this script:
>
> #----------------------------------------------------------------------#
>
> # system-wide profile.modules #
>
> # Initialize modules for all sh-derivative shells #
>
> #----------------------------------------------------------------------#
>
> trap "" 1 2 3
>
> MODULES=/soft/modules-3.2.10/Modules/3.2.10/init/
>
> case "$0" in
>
> -bash|bash|*/bash) . $MODULES/bash ;;
>
> -ksh|ksh|*/ksh) . $MODULES/ksh ;;
>
> -sh|sh|*/sh) . $MODULES/sh ;;
>
> *) . $MODULES/sh ;; # default for scripts
>
> esac
>
> # Update MODULESPATH environment. /usr/share/modules/init/.modulepath
>
> MMODS=/soft/modules-3.2.10
>
> module use $MMODS/compilers $MMODS/parallel
>
> module use $MMODS/libraries $MMODS/applications $MMODS/tools
>
> #module unuse /usr/share/modules /usr/share/modulefiles
>
> # load site specific modules
>
> module load modules
>
> # source .modules in the user's home directory, if it exists
>
> if [ -r ~/.modules ]; then
>
> . ~/.modules
>
> fi
>
> trap - 1 2 3
>
> * In the SLURM submit scripts, users have to add an explicit
> “/source /soft/modules-3.2.10/Modules/3.2.10/init/bash/”, and
> after this line, users can load modules in the way “module load
> foo/version”
>
> Is there any bad configuration??
>
> Thanks.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.schedmd.com/pipermail/slurm-users/attachments/20210126/e5f13048/attachment.htm>
More information about the slurm-users
mailing list