Software Available on Savio – Research IT

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 current MODULEPATH (i.e. available to you).
  • module list – List modules loaded into your environment.
  • module add|loadmodulefile... – Load modulefile(s) into your environment.
  • module rm|unloadmodulefile... – Remove modulefile(s) from your environment.
  • module swap|switch [modulefile1]modulefile2– Switch loaded modulefile1 with modulefile2.
  • module show|displaymodulefile... – 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).