Scientific Core Libraries 2024 Repository
The Scientific Core Libraries repository is a collection of open-source numerical libraries. They are meant to be used on an Intel Core or Intel Xeon The installations are kept in Send comments, questions or suggestions to Christian Messe: [javascript protected email] |
SCLS Flavors for Enterprise Linux 9
- GCC flavors linked against the BLAS-LAPACK reference libraries
skylake-gnu-openmpi-lapack
skylake-gnu-mpich-lapack
- GCC flavors linked against MKL
These releases are optimized for MPI (Message Passing Interface) applications and are linked with Intel's Math Kernel Library (MKL) for high-performance numerical computations. The MKL packages must be installed on your system to install these:
skylake-gnu-mpich-mkl
skylake-gnu-openmpi-mkl
- GCC flavors linked against MKL and CUDA
These versions combine MPI support with CUDA, enabling GPU-accelerated computing for scientific simulations. Your hardware needs an NVidia graphics card and the NVIDIA HPC SDK installed.
skylake-gnu-mpich-cuda
skylake-gnu-openmpi-cuda
- Intel Compiler flavors linked against MKL and CUDA
These releases are tailored for users who prefer Intel compilers and require both MKL and CUDA support for their computational tasks. If you have an Intel(R) Core(TM) i7, use the
alderlake flavor. For the Intel(R) Core(TM) i9 and the Intel(R) Xeon(TM) series, use thecascadelake flavor.alderlake-intel-intelmpi-mkl
alderlake-intel-intelmpi-cuda
cascadelake-intel-intelmpi-mkl
cascadelake-intel-intelmpi-cuda
These flavors are compiled against the reference implementations of BLAS and LAPACK
It is meant to be used for code development and memory leak detection, such as by using valgrind.
Installation on Enterprise Linux 9
To install a flavor, download the release package and type this into your bash:
sudo dnf install scls-release-2024-1.el9.noarch.rpm
sudo dnf update
sudo dnf install scls-<flavor>
After installation, call the following command to set up your paths
source /opt/scls/<flavor>/bin/activate
This script will add the */bin directory to your path and set the SLCS
environment variable to point to /opt/scls/<flavor>
SCLS Flavor for Amazon Linux 2023
For Amazon Linux, only the flavor cascadelake-intel-intelmpi-mkl
is available. Note that this release doesn't include VTK. To install it, you can type:
sudo yum install scls-release-2024-1.amzn2023.noarch.rpm
sudo yum update
sudo yum install scls-cascadelake-intel-intelmpi-mkl
Integer Indexing
All libraries within this repository are compiled with 32-bit integers, ensuring compatibility with a wide range of applications. If you require libraries with 64-bit integers, the compilation files and instructions will be provided in the GitHub repository associated with this collection. Users can compile the libraries to suit their specific requirements.
Git Repository
If you want to build your own flavor, feel free to check out the git repository with the build recipies:
git clone https://github.com/cmesse/rpmbuild.git
Packages
Name | Version | Description |
---|---|---|
armadillo | 12.8.0 | C++ library for linear algebra & scientific computing |
arpack | 3.9.1 | Fortran 77 subroutines for solving large scale eigenvalue problems |
blas | 3.12.0 | reference BLAS Implementation (*lapack*) flavor only |
blaspp | 2023.11.05 | a C++ wrapper around CPU and GPU BLAS |
blaze | 3.8.2 | An high-performance C++ math library for dense and sparse arithmetic |
butterflypack | 2.4.0 | rapid solving of large-scale dense linear systems |
cblas | 3.12.0 | C interfaces for BLAS (*lapack*) flavor only |
cmake | 3.28.3 | cross-platform make system |
exodus | 2023.11.27 | an advanced FE data file format |
fspblas | 0.5 | Fortran Sparse Matrix Toolkit Reference Implementation |
gmp | 6.3.0 | GNU arbitrary precision library |
googletest | 1.14.0 | Google Testing and Mocking Framework |
gperftools | 2.15 | Very fast malloc and performance analysis tools |
hdf5 | 1.14.3 | A general purpose library and file format for storing scientific data |
hwloc | 2.10.0 | Portable Hardware Locality |
lapack | 3.12.0 | Reference LAPACK Implementation (*lapack*) flavor only |
lapacke | 3.12.0 | The C Interface to LAPACK (*lapack*) flavor only |
lapackpp | 2023.11.05 | C++ API for the Linear Algebra Package |
libevent | 2.1.12 | Abstract asynchronous event notification library |
metis | 5.1.0 | Serial Graph Partitioning and Fill-reducing Matrix Ordering |
mpfr | 4.2.1 | C library for multiple-precision floating-point computations |
mpich | 4.1.2 | A high-performance implementation of MPI |
mumps | 5.6.2 | A MUltifrontal Massively Parallel sparse direct Solver |
netcdf | 4.9.2 | Libraries for the Unidata network Common Data Form |
openmpi | 5.0.2 | A powerful implementation of MPI/SHMEM |
parmetis | 4.0.3 | Parallel Graph Partitioning and Fill-reducing Matrix Ordering |
petsc | 3.20.4 | Portable Extensible Toolkit for Scientific Computation |
pmix | 4.2.9 | An extendex/exascale implementation of the PMIX Standard |
scalapack | 2.2.0 | A subset of LAPACK routines redesigned for heterogeneous computing |
scotch | 7.0.4 | Graph, mesh, and hypergraph partitioning library |
slate | 2023.11.5 | Basic linear algebra for distributed memory systems |
strumpack | 7.1.0 | a very fast direct solver for sparse linear systems |
suitesparse | 7.6.1 | A collection of sparse matrix libraries |
sundials | 6.7.0 | SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers |
superlu | 6.0.1 | Subroutines to directly solve sparse linear systems |
testsweeper | 2023.11.05 | A C++ testing framework for parameter sweeps |
tinyxml2 | 10.0.0 | A simple, small, efficient, C++ XML parser |
vtk | 9.3.0 | A high-level 3D visualization library |
zfp | 1.0.1 | A library for compressed floating-point and integer arrays |
Known Issues
- Arpack
- Test
issue64_tst
fails on Amazon Linux
- Test
- Scotch
- Several tests fail on Amazon Linux
- PETSc
- For the Intel compiler, compilation fails with both CUDA and OpenMP on. Hence, the intel version of PETSc is compiled with either Cuda or OpenMP, not both! In PETSc 3.20.4, it is commented in
config/packages/cuda.py
the tag atif self.setCompilers.CUDA_CXX == 'gcc'
indicates that there there is something broken and a quick fix has been hacked.
- For the Intel compiler, compilation fails with both CUDA and OpenMP on. Hence, the intel version of PETSc is compiled with either Cuda or OpenMP, not both! In PETSc 3.20.4, it is commented in
- Strumpack
- Test
Sparse_HOLDR_mpi_1
fails - Test
Sparse_mpi_16
fails
- Test
- SuiteSparse
- Experimental Tests of
LAGraph
fail when using the Intel Compiler
- Experimental Tests of
- Slate
- The tests for
heev
fail
- The tests for
License Information
This software is provided by the copyright holders and contributors "AS IS," with no warranties of merchantability or fitness for a particular purpose. The copyright owner and contributors shall not be liable for any direct, indirect, incidental, special, or consequential damages resulting from the use of this software.
Latest update: March 4th, 2024