Scientific & Mathematical Libraries – Parampravega

Parampravega provides a large variety of libraries to support application development and interprocess communication on the system. The following libraries can be used with all compilers currently supported on the Parampravega system.

Scientific Libraries:

The Parampravega LibSci module contains the following Scientific Libraries:

BLAS (Basic Linear Algebra Subroutines)

BLACS (Basic Linear Algebra Communication Subprograms)

LAPACK (Linear Algebra Routines)

ScaLAPACK(Scalable LAPACK)

FFT (Fast Fourier Transform Routines)

Intel MKL libraries:

Intel Math Kernel Library is a math library that exploits the core counts and architectures of Intel CPUs to reach a high degree of optimization and parallelization. It has implementations of many standard math packages. Users can use appropriate MKL routines in C,C++, Fortran.

The Intel MKL libraries can be used by loading the following module and spack commands.

module load spack

spack load intel-mkl

On Parampravega to load Intel-mkl of specific version use the below command:

spack load intel-mkl@11.3.3.210

spack load intel-mkl@2020.4.304

 

Intel OneAPI libraries:

The Intel oneAPI Base Toolkit is a core set of tools and libraries for developing high-performance, data-centric applications across diverse architectures. It features an industry-leading C++ compiler and the Data-Parallel C++ (DPC++) language, an evolution of C++ for heterogeneous computing. Domain-specific libraries and the Intel Distribution for Python provide drop-in acceleration across relevant architectures. Enhanced profiling, design assistance, and debug tools complete the kit. High-performance computing (HPC) is at the core of artificial intelligence, machine learning, and deep learning applications. The Intel oneAPI HPC Toolkit delivers what developers need to build, analyze, optimize, and scale HPC applications with the latest techniques in vectorization, multithreading, multi-node parallelization, and memory optimization. Intel oneAPI HPC Toolkit is an add-on to the Intel oneAPI Base Toolkit, which is required for full functionality. It also includes access to the Intel Distribution for Python, the Intel oneAPI DPC++/C++ Compiler, powerful data-centric libraries, and advanced analysis tools.

Parampravega Spack can install and use the Intel oneAPI packages. You may either use spack to install the oneAPI tools. After installation, users may use the tools directly or use spack to build packages with tools. Users can Installing the intel oneAPI component packages via Spack.See the package list for the full list of available oneAPI packages – $ spack list -d oneAPI

For more information on a oneAPI specific packages – $spack info <package name>

FFTW
FFTW – Fastest Fourier Transform in the West.

To load FFTW on Parampravega use the command as below:

spack load fftw

By default, the above module loads the latest version. If you want to use any version, please mention the version explicitly along with module’s name. For more information, use “module load spack” command to view the available versions on the system.

Available versions:

  • 3.3.10 -GCC compile
  • 3.3.10 -Intel compiler

To load FFTW of a specific version on Parampravega, use the following command:

spack load fftw@3.3.10%gcc@11.2.0

spack load fftw@3.3.10%intel@2021.4.0

 

PETSc

PETSc, an acronym for Portable, Extensible Toolkit for Scientific Computation, is a library suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations.

By default, the module loads the latest version available on the system. To use a specific version, please mention the version explicitly along with module’s name. For more information on available versions on the system, use “module load spack” command.

Available Versions: 3.16.2

To load petsc on Parampravega use the following command:

spack load petsc@3.16.2%gcc@11.2.0

PetSc opensource link: https://petsc.org/release/

Trilinos
The Trilinos software is an opensource collection of reusable scientific software libraries, known in particular for linear solvers, non-linear solvers, transient solvers, optimization solvers, and uncertainty quantification (UQ) solvers.

By default, the module loads the latest version. To use a specific version, please mention the version explicitly along with module’s name. For more information on available modules on the system, use “module load spack ” command.

Available Version: 13.0.1

To load trilinos on Parampravega use the command as below:

spack load trilinos13.0.1@%gcc@11.2.0

Trilinos opensource link: https://trilinos.github.io/

HDF5
HDF5 is a unique technology suite that makes possible the management of extremely large and complex data collections. HDF5 is a high-performance, open-source data software library and file format to manage, process, and store heterogeneous data. HDF5 is built for fast I/O processing and storage.

Available Version: 1.10.7 ,1.10.8

To Load Parampravega-hdf5 Use the below command

To Load the compiler gcc@11.2.0 (cascadelake processor)

spack load hdf5 @1.10.7%gcc@11.2.0

spack load hdf5@1.10.8%gcc@11.2.0

To Load the intel@2021.4.0

spack load hdf5@1.10.8%intel@2021.4.0

To Load the oneapi@2021.4.0

spack load hdf5@1.10.8%oneapi@2021.4.0

To Load the compiler gcc@4.8.5 (haswell processor)

spack load hdf5@1.10.8%gcc@4.8.5

HDF5 opensource link: https://www.hdfgroup.org/solutions/hdf5/

 

NETCDF
NetCDF (Network Common Data Form) is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. It is also a community standard for sharing scientific data. The Unidata Program Center supports and maintains netCDF programming interfaces for C, C++, Java, and Fortran. Programming interfaces are also available for Python, IDL, MATLAB, R, Ruby, and Perl.

Available Version: 4.8.1

To load netcdf-c on Parampravega use the following command

spack load netcdf-c@4.8.1%gcc@11.2.0
spack load netcdf-c@4.8.1%gcc@11.2.0
spack load netcdf-c@4.8.1%intel@2021.4.0
spack load netcdf-c@4.8.1%oneapi22021.4.0
Spack load netcdf-c@4.8.1%intel@2021.4.0

Netcdf opensource link: https://www.unidata.ucar.edu/software/netcdf/