Software
Software is installed on a shared directory of the Central Cluster which does not require setting up on every node on the Central Cluster. Here is the list of frequently used softwares installed:
More software packages are installed under the directory /opt/share/ and you can load them using commands of Environment Modules.Environment Modules
Environment Modules is a tool for load and unload any software dynamically and atomically. It is useful in managing different versions of the software module. It helps in setting up environment variables for using different software.
To browse the available software, you should use the command module avail
:
% module avail
------------------------------------------------------------------------------------- /usr/share/Modules/modulefiles --------------------------------------------------------------------------------------
ATLAS/CERN cuda/11.0(default) gcc/7.3.0 hdf5/1.6.10 intel/2020u1 kraken/2.0.8 openmpi/intel/3.1.0 python/3.7 szip/2.1.1
cmake/3.12.0-rc2 cuda/9.2 gcc/9.1.0 intel/2018u2 julia/1.0.0 matlab/R2018a pcre2/10.31 python/3.8 zlib/1.2.11
cmake/3.18.2 gcc/10.2.0(default) hdf5/1.10.2 intel/2019u3 julia/1.5.1 matlab/R2019a python/2.7 R/gcc/3.5.3
cuda/10.2 gcc/4.9.4 hdf5/1.12.0(default) intel/2019u4 kraken/1.1.1 mpich/intel/3.2 python/3.6 R/gcc/3.6.3
To use any software with a particular version, you should load the module using the command module load
, to view the loaded module using module list
as following:
% module load gcc/7.3.0
% module list
Currently Loaded Modulefiles:
1) gcc/7.3.0
By default, the lastest version will be load if version is omitted in the load command:
% module load gcc
% module list
Currently Loaded Modulefiles:
1) gcc/9.1.0
To switch between different version, you should use module switch
command like this:
% module load gcc/7.3.0
% module list
Currently Loaded Modulefiles:
1) gcc/7.3.0
% module switch gcc/9.1.0
% module list
Currently Loaded Modulefiles:
1) gcc/9.1.0
You are able to switch the module using module switch
command also:
% module list
Currently Loaded Modulefiles:
1) gcc/9.1.0
% module switch gcc intel
% module list
Currently Loaded Modulefiles:
1) intel/2020u1
To end using a module, you may clear the module environment variables using command module unload
or you can clear all the environment variables related using module clear
as follow:
% module unload gcc
%module clear
Are you sure you want to clear all loaded modules!? [n] y
Python
Virtual environments
A cooperatively isolated runtime environment that allows Python users and applications to install and upgrade Python distribution packages without interfering with the behaviour of other Python applications running on the same system. Virtual environments are only support with python 3.
Creating Virtual Environment
User can create multiple virtual environments with different version of Python and install different Python distribution packages to suit the corresponding use case. Follow the step below to create virtual environment:
- Select the Python version for the virtual environment
- Decide the location of the virtual environment (usually in the home directory)
- Create the virtual environment
% module load python/3.8
% python3 -m venv ~/MyVenv/Python38
Activate the virtual environment
After the virtual environment is created, use the following command to activate the virtual environment:
% source ~/MyVenv/Python38/bin/activate
(Python38) %
Deactivate the virtual environment
To deactive the virtual environment, use the command deactivate
as follow:
(version38) % deactivate
%
For more details, please refer to python official document.
R
Find the available versions of R
% module ava R
Load version 4.0 of R
% module load R/4.0
Load the latest version of R
% module load R
Unload R
% module unload R
Install package
The below show you how to install lattice as an example. First, load R, and start R. Followed by package installation, answer "yes" for the warning:% module load R/4.0
% R
> install.packages("lattice", repos="http://cran.r-project.org")
Warning in install.packages("lattice", repos = "http://cran.r-project.org") :
'lib = "/lustre/opt_share/R/4.0.3/lib64/R/library"' is not writable
Would you like to use a personal library instead? (yes/No/cancel) yes
When prompted for creating a personal library, confirm the installation by answering "yes":
Would you like to create a personal library
‘~/R/x86_64-pc-linux-gnu-library/4.0’
to install packages into? (yes/No/cancel) yes
HDF5
To compile programs required HDF5 library, you should load HDF5 with module load
command and the install path of HDF5 can access with environment variable $HDF5_DIR
.
% module load hdf5/1.12.0
% echo $HDF5_DIR
/opt/share/hdf5/1.12.0