A large number of popular software packages are installed on Palmetto and can be used without any setup or configuration. These include:
- Compilers (such as
gcc, Intel, and PGI)
- Libraries (such as OpenMPI, HDF5, Boost)
- Programming languages (such as Python, MATLAB, R)
- Scientific applications (such as LAMMPS, Paraview, ANSYS)
- Others (e.g., Git, PostgreSQL, Singularity)
These packages are available as modules on Palmetto. The following commands can be used to inspect, activate and deactivate modules:
|List all packages available (on current system)|
|List all packages with |
|Add a package to your current shell environment|
|List packages you have loaded|
|Remove a currently loaded package|
|Remove all currently loaded packages|
For example, to see what versions of Matlab are installed, you can use the command:
module avail matlab
To load the GCC (v4.8.1), CUDA Toolkit (v6.5.14) and OpenMPI (v1.8.4) modules, you can use the command:
module add gcc/4.8.1 cuda-toolkit/6.5.14 openmpi/1.8.4
Then, check the version of
$ gcc --version
gcc (GCC) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Some modules when loaded, implicitly load other modules as well. If you use some modules to compile/install some software, then you will probably have to load them when running that software as well, otherwise you may see errors about missing libraries/headers. Modules do not remain loaded when you log out and log back in, i.e., they are active only for the current session - so you will need to load them for every session.
As an exercise, examine the environment variables PATH, LIBRARY_PATH, etc., before and after loading some module:
module add anaconda3/2019.10-gcc/8.3.1
You can also look at the modulefiles in
/software/ModuleFiles to understand
what happens when you add a module.