Software Available on Savio – Research IT
Mục lục bài viết
Software Available on Savio
Savio provides a variety of software installed by the system administrators and BRC consultants, including compilers, interpreters, and tools for statistical analysis, data visualization, bioinformatics, computational biology, and other sciences. You can access much of the software available on the Savio cluster using Environment Module commands. These commands allow you to display currently loaded and available software packages as well as to load and unload the packages and their associated runtime environments.
The Environment Module system allows users to manage their runtime environments dynamically on the Savio cluster. This is accomplished by loading and unloading modulefiles which contain the application specific information for setting a user’s environment, primarily the shell environment variables, such as PATH
, LD_LIBRARY_PATH
, etc. The module system is useful in managing potentially conflicting applications, as well as different versions of the same application, especially in a shared computing environment.
In addition to the software provided on the Savio cluster you are welcome to install your own software.
Accessing Software Using Environment Modules¶
All of the module commands begin with module
and are followed by a subcommand. (In this list of commands, a vertical bar (|
) means “or”, e.g., module add
and module load
are equivalent. You’ll need to substitute actual modulefile names for modulefile
, modulefile1
, and modulefile2
in the examples below.)
module avail
– List all available modulefiles in the currentMODULEPATH
(i.e. available to you).module list
– List modules loaded into your environment.module add|load
modulefile
...
– Load modulefile(s) into your environment.module rm|unload
modulefile
...
– Remove modulefile(s) from your environment.module swap|switch [
modulefile1
]
modulefile2
– Switch loaded
modulefile1
withmodulefile2
.module show|display
modulefile
...
– Display configuration information about the specified modulefile(s).module whatis [
modulefile
...]
– Display summary information about the specified modulefile(s).module purge
– Unload all loaded modulefiles.
For more detailed usage instructions for the module
command please run man module
on the cluster.
Default Modules¶
Using module load
command without specifying the version number loads the default version of the package.
As of November 2022, the default version of a given package will generally be the most recent version that Savio has installed.
We strongly recommend that users explicitly provide the version number following the package name when using module load
, e.g.,
module
load
gcc/11.3.0
This improves reproducibility and (for compiler-related modules) ensures that loaded compilers are compatible wth your code.
Modules Organized in a Hierarchical Structure¶
Savio uses a hierarchical structure to manage module dependencies, so some modulefiles will only be available after their dependent modulefile is loaded. For example, C libraries will only become available after their parent C compiler has been loaded. Here we can see the modules that are visible only after loading gcc
:
[
casey@n0000
~]
$
module
load
gcc/6.3.0
[
casey@n0000
~]
$
module
avail
----
/global/software/sl-7.x86_64/modfiles/langs
----
clang/3.9.1
cuda/8.0
gcc/4.8.5
gcc/6.3.0
java/1.8.0_121
python/2.7
python/3.6
r/3.4.2
----
/global/software/sl-7.x86_64/modfiles/tools
----
arpack-ng/3.4.0
gflags/2.2.0
gv/3.7.4
lmdb/0.9.19
nano/2.7.4
qt/5.4.2
texlive/2016
----
/global/software/sl-7.x86_64/modfiles/gcc/6.3.0
----
antlr/2.7.7-gcc
fftw/2.1.5-gcc
hdf5/1.8.18-gcc-p
ncl/6.3.0-gcc
ncview/2.1.7-gcc
openmpi/2.0.2-gcc
To view a list of all modules including those only visible after loading their dependencies enter the following command:
find
/global/software/sl-7.x86_64/modfiles
-type
d
-exec
ls
-d
{}
\;
Example Usage¶
It can be helpful to try out each of the following examples in sequence to more fully understand how environment modules work. Please note that the output here may vary from your own depending on module updates and your particular access privileges.
[
casey@n0000
~]
$
module
avail
----
/global/software/sl-7.x86_64/modfiles/langs
----
clang/3.9.1
cuda/8.0
gcc/4.8.5
gcc/6.3.0
java/1.8.0_121
python/2.7
python/3.6
r/3.4.2
----
/global/software/sl-7.x86_64/modfiles/tools
----
arpack-ng/3.4.0
gflags/2.2.0
gv/3.7.4
lmdb/0.9.19
nano/2.7.4
qt/5.4.2
texlive/2016
----
/global/software/sl-7.x86_64/modfiles/apps
----
bio/blast/2.6.0
math/octave/current
ml/mxnet/0.9.3-py35
ml/theano/current-py36
...
[
casey@n0000
~]
$
module
list
No
Modulefiles
Currently
Loaded.
[
casey@n0000
~]
$
module
load
intel
[
casey@n0000
~]
$
module
list
Currently
Loaded
Modulefiles:
1
)
intel/2016.4.072
[
casey@n0000
~]
$
module
load
openmpi
mkl
[
casey@n0000
~]
$
module
list
Currently
Loaded
Modulefiles:
1
)
intel/2016.4.072
3
)
mkl/2016.4.072
2
)
openmpi/2.0.2-intel
[
casey@n0000
~]
$
module
unload
openmpi
[
casey@n0000
~]
$
module
list
Currently
Loaded
Modulefiles:
1
)
intel/2016.4.072
2
)
mkl/2016.4.072
[
casey@n0000
~]
$
module
switch
mkl
lapack
[
casey@n0000
~]
$
module
list
Currently
Loaded
Modulefiles:
1
)
intel/2016.4.072
2
)
lapack/3.8.0-intel
[
casey@n0000
~]
$
module
show
mkl
-------------------------------------------------------------------
/global/software/sl-7.x86_64/modfiles/intel/2016.4.072/mkl/2016.4.072:
module-whatis
This
module
sets
up
MKL
2016
.4.072
in
your
environment.
setenv
MKL_DIR
/global/software/sl-7.x86_64/modules/langs/intel/2016.4.072/mkl
setenv
MKLROOT
/global/software/sl-7.x86_64/modules/langs/intel/2016.4.072/mkl
prepend-path
CPATH
/global/software/sl-7.x86_64/modules/langs/intel/2016.4.072/mkl/include
prepend-path
CPATH
/global/software/sl-7.x86_64/modules/langs/intel/2016.4.072/mkl/include/fftw
prepend-path
FPATH
/global/software/sl-7.x86_64/modules/langs/intel/2016.4.072/mkl/include
prepend-path
FPATH
/global/software/sl-7.x86_64/modules/langs/intel/2016.4.072/mkl/include/fftw
prepend-path
INCLUDE
/global/software/sl-7.x86_64/modules/langs/intel/2016.4.072/mkl/include
prepend-path
INCLUDE
/global/software/sl-7.x86_64/modules/langs/intel/2016.4.072/mkl/include/fftw
prepend-path
LIBRARY_PATH
/global/software/sl-7.x86_64/modules/langs/intel/2016.4.072/mkl/lib/intel64_lin
prepend-path
LD_LIBRARY_PATH
/global/software/sl-7.x86_64/modules/langs/intel/2016.4.072/mkl/lib/intel64_lin
prepend-path
MIC_LIBRARY_PATH
/global/software/sl-7.x86_64/modules/langs/intel/2016.4.072/mkl/lib/intel64_lin_mic
prepend-path
MIC_LD_LIBRARY_PATH
/global/software/sl-7.x86_64/modules/langs/intel/2016.4.072/mkl/lib/intel64_lin_mic
prepend-path
SINK_LD_LIBRARY_PATH
/global/software/sl-7.x86_64/modules/langs/intel/2016.4.072/mkl/lib/intel64_lin_mic
prepend-path
NLSPATH
/global/software/sl-7.x86_64/modules/langs/intel/2016.4.072/mkl/lib/intel64_lin/locale/en_US
-------------------------------------------------------------------`
[
casey@n0000
~]
$
module
whatis
mkl
mkl
:
This
module
sets
up
MKL
2016
.4.072
in
your
environment.
[
casey@n0000
~]
$
module
purge
[
casey@n0000
~]
$
module
lis
No
Modulefiles
Currently
Loaded.
[
casey@n0000
~]
$
module
avail
----
/global/software/sl-7.x86_64/modfiles/langs
----
clang/3.9.1
cuda/8.0
gcc/4.8.5
gcc/6.3.0
java/1.8.0_121
python/2.7
python/3.6
r/3.4.2
----
/global/software/sl-7.x86_64/modfiles/tools
----
arpack-ng/3.4.0
gflags/2.2.0
gv/3.7.4
lmdb/0.9.19
nano/2.7.4
qt/5.4.2
texlive/2016
----
/global/software/sl-7.x86_64/modfiles/apps
----
bio/blast/2.6.0
math/octave/current
ml/mxnet/0.9.3-py35
ml/theano/current-py36
Bioinformatics Software¶
All Savio users can use the bioinformatics software available through the CGRL.
CGRL users can automatically see that software when running module avail
. Non-CGRL users can add the location of the software to their MODULEPATH and will then be able to see the software available and to load the modules:
export MODULEPATH=${MODULEPATH}:/clusterfs/vector/home/groups/software/sl-7.x86_64/modfiles
module avail
To view an exhaustive list of CGRL modules, including those hidden under dependencies:
find /clusterfs/vector/home/groups/software/sl-7.x86_64/modfiles -type d -exec ls -d {} \;
Software Provided on Savio¶
Research IT provides and maintains a set of broadly used and general purpose software modules. Our aim is to provide an ecosystem that most users can rely on to accomplish their research and studies.
For a comprehensive and up-to-date list of software provided on the cluster, run the module avail
command as described above, or find /global/software/sl-7.x86_64/modfiles -type d -exec ls -d {} \;
.
Category
Application/Library Name
Development Tools
Editor/IDE
Emacs, Vim, Nano, cmake, cscope, ctags
SCM
Git, Mercurial
Debugger/Profiler/Tracer
GDB, gprof, Valgrind, TAU, Allinea DDT
Languages/Platforms
GCC, Intel, Perl, Python, Java, Boost, CUDA, UPC, Open MPI, TBB, MPI4Py, Python / IPython, R, MATLAB, Octave, Julia
Math Libraries
MKL, ATLAS, FFTW, FFTW3, GSL, LAPACK, ScaLAPACK, NumPy, SciPy, Eigen
IO Libraries
HDF5, NetCDF, NCO, NCL
Data processing, Visualization, and Machine Learning Tools
Data Processing/Visualization
Gnuplot, Grace, Graphviz, ImageMagick, MATLAB, Octave, ParaView, Python / IPython, R, VisIt, VMD, yt, Matplotlib
Machine Learning
Tensorflow, Caffe, H2O, MXNet, Theano, Torch, Scikit-learn
Bioinformatics
BLAST, Bowtie, Picard, SAMtools, VCFtools
Typesetting and Publishing Tools
Typesetting
TeX Live, Ghostscript, Doxygen
Software installed within the Environment Module system must meet the requirements specified under “Installing Software”. Modules are updated at most biannually, and we request that you install and maintain packages that require more frequent updates yourself.
To request additional software be installed or existing packages to be upgraded please use our Software Request Form. Expect to be contacted regarding your request within three business days (except academic holidays).