PSCToolkit is new software framework for solving large and sparse linear systems on current hybrid architectures, from small servers to high-end supercomputers, embedding multi-core CPUs and Nvidia GPUs at the node level. The framework has a modular structure and is composed of three main components which separate basic functionalities for managing distributed sparse matrices and executing some sparse matrix computations involved in iterative Krylov projection methods, eventually exploiting multi-threading and CUDA-based programming models, from the functionalities for setup and application of different types of one-level and multi-level algebraic preconditioners.
- 🌍 Website: https://psctoolkit.github.io
- 📬 E-Mail: psctoolkit@na.iac.cnr.it
📚 The main scientific libraries are:
- 📘 PSBLAS
- 📘 AMG4PSBLAS
❗ PSBLAS-EXT deprecation
- GPU/extension plugin: PSBLAS-EXT
- Status: discontinued; features merged into PSBLAS since 3.9
- Use it only if you must build against PSBLAS
$<$ 3.9 -
Migration: routine names are largely compatible—prefer upgrading to PSBLAS
$>=$ 3.9 as soon as possible
To get them you can use the repository: https://github.com/psctoolkit/psctoolkit which has two branches inside:
- a master branch, containing the pointers to the latest release
- a development branch, containing pointers to compatible commits of the development.
You can clone the master version by doing:
git clone git@github.com:psctoolkit/psctoolkit.git
cd psctoolkit
git submodule update --init --recursivewhile for obtaining the development version you should do:
git clone git@github.com:psctoolkit/psctoolkit.git
cd psctoolkit
git checkout development
git submodule update --init --recursiveFor both libraries, releases of the source code are available on the dedicated repositories:
- 📘 PSBLAS
- 📘 AMG4PSBLAS
The master version is available as a Docker image with
docker pull psctoolkit/psctoolkit
docker run -it psctoolkit:latest /bin/bashwhile the development version can be obtained by doing:
docker pull psctoolkit/psctoolkit
docker run -it psctoolkit:development /bin/bashIn both cases, it can be buil directly from the repository
git clone git@github.com:psctoolkit/psctoolkit.git
cd psctoolkit
# If you want the master:
git submodule update --init --recursive
docker build -t psctoolkit .
# If you want the development:
git checkout development
git submodule update --init --recursive
docker build -t psctoolkit .We have a Spack package for PSBLAS, which can be installed by doing
spack install psblasThe libraries are also available for the Fedora distro:
They can be installed by doing
dnf install packagenameSee the Fedora help page for
the usage of dnf, and PSBLAS and
AMG4PSBLAS for the various
packagename.