Software Old
List of software packages currently available on Shabyt
Note that there maybe different versions available for each of the listed modules. Type module avail in the terminal window to see the complete list of versions. Module Name Software Name Description [13]Anaconda Anaconda Anaconda is a distribution of the Python and R programming languages for scientific computing, that aims to simplify package management and deployment.[14]Product Page [15]ANSYS ANSYS ANSYS is a general-purpose, finite-element modeling package for numerically solving a wide variety of mechanical problems.[16]Product Page aocc AMD Optimizing C/C++ Compiler A set of LLVM compilers (clang, flang) and toolchain technologies for AMD x64 platform. [17]Product page aocl/aocc AMD Optimizing CPU Libraries for AOCC A set of numerical libraries tuned specifically for ADM EPYC processor family. It includes BLIS/BLAS, libFLAME, LAPACK, ScaLAPACK, FFTW, AMD Math Library, AMD Random Number Generator Library, and other components. [18]Product Page aocl/gcc9 AMD Optimizing CPU Libraries for GCC v9 A set of numerical libraries tuned specifically for ADM EPYC processor family. It includes BLIS/BLAS, libFLAME, LAPACK, ScaLAPACK, FFTW, AMD Math Library, AMD Random Number Generator Library, and other components. [19]Product Page cmake CMake A cross-platform open-source tool for build automation, testing, packaging and installation of software by using a compiler-independent method. [20]Product page [21]CUDA CUDA computing platform and API A parallel computing platform and application programming interface to use with Nvidia graphical processing units. [22]Product page dafoam DaFOAM Discrete Adjoint with OpenFOAM for High-fidelity Multidisciplinary Design Optimization.[23]Product Page easybuild EasyBuild EasyBuild is a tool that allows to perform automated and reproducible compilation and installation of software.[24]Product Page gaussian Gaussian 16 computational chemistry package A popular electronic structure package that implements a wide range of theoretical methods to investigate molecular properties and chemical problems. [25]Product Page gcc GNU Compiler Collection and Toolchain A set of standard compilers (gcc, g++, gfortran, and others). [26]Product Page [27]GROMACS Gromacs molecular dynamics package A popular molecular dynamics package for for simulations of large systems (e.g. proteins). [28]Product page intel Intel Parallel Studio XE Cluster Edition 2020 A set of compilers (icc, icpc, ifort, and others), numerical libraries (Intel MKL), MPI libraries, profiling and debugging tools tools (VTune, Advisor, Inspector), Integrated Performance Primitives (IPP), Data Analytics Acceleration Library (DAAL), Intel Distribution of Python and other components. [29]Product Page lammps LAMMPS molecular dynamics package LAMMPS (Large-scale Atomic/Molecular Massively Parallel Simulator) is a molecular dynamics software package developed at Sandia National Laboratories. [30]Product page matlab MATLAB MATLAB is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. [31]Product Page nvhpc-byo-compiler NVIDIA ����HPC Software Development Kit (BYOC â Bring Your Own Compiler) Same as nvhpc but does not add PGI-compiler or MPI to the environment. [32]Product Page nvhpc-nompi NVIDIA HPC Software Development Kit (no MPI) Same as nvhpc but without adding any MPI installation to the environment. [33]Product Page nvhpc NVIDIA HPC Software Development A suite of PGI compilers (nvcc, nvc++, nvfortran), libraries and tools for HPC. [34]Product Page openfoam OpenFOAM OpenFOAM (for "Open-source Field Operation And Manipulation") is a C++ toolbox for the development of customized numerical solvers, and pre-/post-processing utilities for the solution of continuum mechanics problems, most prominently including computational fluid dynamics (CFD). [35]Product Page openmpi/aocc Open MPI module for AOCC An industry standard implementation of MPI (Message Passing Interface) developed and maintained by a consortium of academic, research, and industry partners. [36]Product Page openmpi/gcc4 Open MPI module for GCC v4 An industry standard implementation of MPI (Message Passing Interface) developed and maintained by a consortium of academic, research, and industry partners. [37]Product Page openmpi/gcc9 Open MPI module for GCC v9 An industry standard implementation of MPI (Message Passing Interface) developed and maintained by a consortium of academic, research, and industry partners. [38]Product Page openmpi/gcc10 Open MPI module for GCC v10 An industry standard implementation of MPI (Message Passing Interface) developed and maintained by a consortium of academic, research, and industry partners. [39]Product Page openmpi/gcc11 Open MPI module for GCC v11 An industry standard implementation of MPI (Message Passing Interface) developed and maintained by a consortium of academic, research, and industry partners. [40]Product Page openmpi/intel Open MPI module for Intel compiler suite An industry standard implementation of MPI (Message Passing Interface) developed and maintained by a consortium of academic, research, and industry partners. [41]Product Page quantumespresso QuantumESPRESSO Quantum ESPRESSO is a suite for first-principles electronic-structure calculations and materials modeling.[42]Product Page R R R is a programming language for statistical computing and graphics supported by the R Core Team and the R Foundation for Statistical Computing.[43]Product Page singularity Singularity Singularity is a container solution created by necessity for scientific and application driven workloads.[44]Product Page tensorflow TensorFlow TensorFlow is an end-to-end open source platform for machine learning.[45]Product Page wps WPS The WRF Pre-Processing System (WPS) is a collection of Fortran and C programs that provides data used as input to the real.exe program. [46]Product Page wrf WRF The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale numerical weather prediction system designed for both atmospheric research and operational forecasting applications.[47]Product Page New software New software can be installed system-wide at the request of users, provided it meets the following criteria: * It is either freely available or NU has a site license for it * It is compatible with the existing OS environment on Shabyt * It can utilize resources available on Shabyt effectively For assistance regarding new software packages please contact Shabyt system administrators at [48]hpcadmin@nu.edu.kz Anaconda Description: "Anaconda" (shortly âcondaâ), a Python package management, permits the creation of "environments," which are sets of modifiable packages. It accomplishes this by placing them in your residence. This page will take you through conda loading, environment creation, and modification so you may install and utilize any Python packages you require. Usage: Anaconda could be loaded by: module load Anaconda3/2022.��� 05 Creating the Conda Environment Every user can create their own environments, and packages that are shared with the system-wide environments will not be reinstalled or copied to your file store; instead, they will be symlinked. This reduces the amount of space required in your /home directory to install numerous Python environments. To build a pristine environment with only Python 3.9 and numpy, execute: conda create -n mynumpy1 python=3.9 numpy This will download the most recent version of Python 3.9 and numpy and build a mynumpy1 environment. Any version of Python or package list may be supplied: conda create -n mynumpy2 python=3.9 numpy=1.15.2 scipy To alter an existing environment, such as one of the anaconda installations, you can clone it: conda create --clone mynumpy2 -n mynumpy3 This will create an environment called mynumpy3 which has all the same conda packages as the mynumpy2 environment. Package Installation Within a Conda Environment After creating your own environment, you can install more packages or other versions of existing programs. There are two ways to accomplish this: conda and pip. If a package is accessible through conda, it is strongly advised that you use it to install packages. Using conda, you can search for packages: conda search pandas then download the package by following these steps: conda install pandas When attempting to install packages outside of your environment, you will receive a permission denied message. If this occurs, create, or activate an environment you own. If a package is not available via conda, you can search for and install it using pip: pip search colormath pip install colormath Usage of conda Environments Once the conda module has been loaded, the required conda environments must be loaded or created. See the conda manual for documentation on conda environments. You can load a conda environment with the following: source activate mycondaenv where mycondaenv is the environment's name, unload one with: source deactivate which returns you back to the base environment. You can list all the accessible environments by using: conda env list A set of anaconda environments are provided system-wide; these are installed with the anaconda version number in the environment name and are never updated. Therefore, they will provide a fixed base for alternative environments or for direct use. Using Conda in conjunction with the SLURM scheduler Using the Anaconda batch mode To submit jobs to the Slurm job scheduler, you must run your primary application in batch mode from within your Conda environment. There are several stages to take: Create a script for application Create a Slurm script job to execute the application script sbatch is used to submit the job script to the task scheduler. Your application script should provide the necessary sequence of commands for your analysis. A Slurm job script is a Bash shell script of a particular type that the Slurm job scheduler recognizes as a job. Create a batch job submission script like the following and name it myscript.slurm: #!/bin/bash #SBATCH --partition=NVIDIA #SBATCH --nodes=1 #SBATCH --ntasks=1 #SBATCH --cpu-per-task=8 #SBATCH --mem=16GB #SBATCH --time=1:00:00 module purge eval $(conda shell.bash hook)â conda activate myenvironment python script.py The following describes each line: Command or Slurm option Description #!/bin/bash Use BASH to execute the script #SBATCH Syntax that allows SLURM to read your requests (ignored by BASH) --partition=NVIDIA Submit job to the NVIDIA partition --nodes=1 Use only one compute node --ntasks=1 Run only one task --cpus-per-task=8 Reserve 8 CPUs for user --mem=16GB Research 16GB of RAM --module purge Purge or clear environment modules --time=1:00:00 Reserve resource for an hour eval $(conda shell.bash hook) Initi����alize the shell to use Conda conda activate myenvironment Activate your Conda environment, i.e., myenvironment python script.py Use python to run script.py Be sure to alter the requested resources based on your needs, but keep in mind that requesting fewer resources will reduce the waiting time for your work. To fully exploit the resources, particularly the amount of cores, it may be necessary to modify your application script.⯠You can build application scripts and job scripts on your local machine and then move them to the cluster, or you can develop them directly on the cluster using one of the various text editor modules (e.g., nano, micro, vim). Submit the jobâ¯to the job scheduler using the Slurm'sâ¯sbatch command: sbatch myscript.slurm To determine the status of your position, enter: myqueue If there is no job status listed, then the job has been finished. The job's findings will be logged and, by default, stored to a plain-text file of the following format: slurm-<jobid>.outin the identical directory from which the job script was submitted. To access this file's contents, enter: less slurm-<jobid>.out then press q to close the viewer. CUDA Description: Nvidia created the parallel computing platform and programming model known as CUDA for use with its own GPUs for general computing (graphics processing units). By utilizing the capability of GPUs for the parallelizable portion of the calculation, CUDA enables developers to accelerate computationally heavy applications. Usage: module load CUDA/11.4.1 to check if CUDA has been loaded, type: nvcc --version ANSYS Description: The ANSYS suite of tools can be used to numerically simulate a wide range of structural and fluid dynamics issues encountered in several engineering, physics, medical, aerospace, and automotive sector applications. Usage: Loading the ANSYS module module load ansys/2022r1 launching the workbench is accomplished by: runwb2 The workbench provides access to Fluent, CFX, ICEM, Mechanical APDL/model, and many other languages and models. The appropriate GUIs can be launched outside of the workbench using fluent, cfx5pre, icemcfd, and launcher. GROMACS Description: GROMACS is a flexible package for performing molecular dynamics, i.e., simulating the Newtonian equations of motion for systems containing hundreds of thousands to millions of particles. It is primarily intended for biochemical molecules, such as proteins, lipids, and nucleic acids, that have many complex bonded interactions. However, since GROMACS is extremely fast at calculating the nonbonded interactions (which typically dominate simulations), many groups use it for research on non-biological systems, such as polymers. Usage: To load GROMACS software: module load GROMACS/2021.5-foss-2021b-CUDA-11.4.1 The GROMACS executable is either gmx or gmx mpi if an OpenMPI module is being used. When you type gmx help commands, a list of gmx commands and their functions will be displayed. Batch jobs Users are encouraged to create their own scripts for batch submissions. The following are examples of batch submission scripts, my job.sh, that are submitted to the queue by typing qsub my job.sh. In addition to GPU acceleration, GROMACS can operate in two different parallel environments, smp and mpi. Below are examples of these types of batch submissions. Parallel MPI #!/bin/bash #SBATCH --job-name=gromacs #SBATCH --mail-user=<YOUR_NU_ID>@nu.edu.kz #SBATCH --mail-type=FAIL,BEGIN,END #SBATCH --output=gmx-%j.out #SBATCH --ntasks=2 #SBATCH --cpus-per-task=4 #SBATCH --ntasks-per-socket=1 #SBATCH --time=24:00:00 #SBATCH --mem-per-cpu=1gb module purge module load OpenMPI/4.1.1-GCC-11.2.0 module load GROMACS/2021.5-foss-2021b-CUDA-11.4.1 export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK srun --mpi=pmix_v3 gmx mdrun -ntomp ${SLURM_CPUS_PER_TASK} -s topol.tpr����neral NU Policies that govern the use of shared use facilities. Please note that the interactive login node (mgmt01) is designated to tasks such as user file management, code compilation, and job submission. It is NOT designated for long calculations and heavy data processing. Simply put, users should not run production calculations on it. Instead, all heavy computational tasks should be sent to a batch queue. Users who repeatedly abuse this rule of using the login node propely may be subject to account suspension.
Maintenance
Most maintenance work is performed by the HPC team in the background and does not interfere with user activities. However, there may be situations when an interruption of the service is required for system-wide maintenance. This will be planned ahead of time and scheduled with at least several days of advance notice. Batch queues may be temporarily modified prior to scheduled downtimes to hold jobs that require more time than remains before the shutdown.
User groups
Any new account on NU HPC systems (e.g. for a graduate student or a postdoc who does computational research) requires sponsorship/approval by the PI of a research project. Thus, all users are structured into two types of groups. The first type is a group of an individual PI. Then the PIsâ groups are structured into three larger groups: NU group, HPCNC Research Cluster Group (this group is the principal host of Shabyt), and External Users group. Please note that the priorities of the jobs submitted for execution on Shabyt may depend on multiple factors, such as the number of jobs belonging to an individual PI group currently running and/or recently completed on the system, which of the three larger groups the user belongs to, the amount of resources requested by the job, and others. The algorithm for setting job priorities is subject to change and will be guided by the NU HPC Committee.
Storage quotas
Current default storage quota for usersâ home directories is set to 100 GB. If any individual user requires more storage for his/her work, it can be allocated through a special request to the HPC admins. For particularly large, multi-terabyte storage needs Shabyt has an HDD array with the total capacity of 120 TB.
Data backup
Please be advised that users take full responsibility for the integrity and safety of their data stored on Shabyt. While Shabyt features enterprise level hardware, failures are still a possibility, especially given no redundancy in the underlying storage systems that are designed for high throughput. Currently Shabyt does not have any automatic backup of usersâ data. While this may change in the future as the HPC team continues to configure the system, at this time users are strongly advised to perform regular back up of any important data they may have stored in their home directories.
Queues and the number of jobs
Currently, Shabyt has two partitions for user jobs. While at this time, when the system is still being configured and fine-tuned, there is no hardcoded limit on the number of jobs by any individual user, it will likely change in the near future.
Acknowledgment
If the computational resources provided by NU HPC facilities were an important asset in your work resulting in a publication, we will greatly appreciate your acknowledgment. We suggest the following form of the acknowledgment statement at the end of your publication: âThe authors are grateful to Nazarbayev University Research Computing for providing computational resources for this work.â If you wish to additionally acknowledge an individual from NU Research Computing team who spent considerable amount of time assisting you with your calculations you are also encouraged to do so, e.g. âWe thank [assistantâs name] for [his/her/theirs] help with [your task accomplished], which was made possible through Nazarbayev University