You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: Parallel Sparse BLAS for an hybrid MPI-NVIDIA code
5
5
product_code: PSBLAS-EXT
6
6
layout: product
7
-
image: /img/psblaslibraryext.png
7
+
image: /img/psblaslibraryext_discontinued.png
8
8
features:
9
9
- label: Add NVIDIA-GPU capabilities to your code
10
10
icon: fa-microchip
11
11
- label: Tested on thousands of GPUs
12
12
icon: fa-fighter-jet
13
-
order: 2
13
+
order: 4
14
14
---
15
15
16
16
> ⚠️ **Attention:** Starting from **PSBLAS version 3.9**, the **PSBLAS-EXT** library is no longer required, as it has been fully integrated into the main **PSBLAS** library.
- label: PSBLAS-EXT GPU Plugin for Parallel Sparse BLAS
12
-
icon: fa-puzzle-piece
13
11
- label: AMG4PSBLAS Preconditioners for PSBLAS
14
12
icon: fa-tachometer-alt
15
13
- label: Excellent innovation in the EU Innovation Radar
16
14
icon: fa-star
17
-
order: 4
15
+
order: 3
18
16
---
19
17
20
-
This is the complete set of libraries that goes under the name PSCToolkit. To have the latest aligned version you can use the [psctoolkit repository](https://github.com/psctoolkit/psctoolkit).
21
-
It contains the various libraries that make up the Parallel Sparse Computation Toolkit (PSCToolkit) as submodules.
18
+
# PSCToolkit
22
19
23
-
- PSBLAS
24
-
- PSBLAS-EXT
25
-
- AMG4PSBLAS
20
+
PSCToolkit is a suite of libraries for high‑performance sparse linear algebra on distributed memory systems, with optional GPU acceleration. It includes:
26
21
27
-
Moreover, it contains a version of the SUNDIALS library interfacing the PSCToolkit routines for linear algebra (distributed matrices and vectors), linear solvers and preconditioners.
The C interfaces (Fortran/C interoperability via ISO_C_BINDING) are located in the cbind subdirectories:
124
+
- psblas3/cbind (PSBLAS)
125
+
- amg4psblas/cbind (AMG4PSBLAS)
126
+
127
+
They are built automatically with the normal build; no separate configure step is required.
128
+
129
+
After installation, the binding headers are placed under the main include prefix (e.g. /usr/local/psctoolkit/include). Header filenames follow the library naming used in the cbind directories (inspect that directory for the exact names; typical patterns group PSBLAS and AMG4PSBLAS symbols separately).
or to execute ```git pull``` inside each of the folders to synchronize to the latest version.
44
147
45
-
**Warning:** the various submodules point to mutually compatible versions of the library. Branch switching and pull operations could damage compatibility, especially moving into development branches. The easiest way is to download the latest **stable release**. This contains all versions of the packages that can be compiled together.
docker run --gpus all psctoolkit/psctoolkit:development nvidia-smi
152
+
```
52
153
53
-
## How to install
154
+
## Build From Source (Development)
54
155
55
-
The possible installation order are:
156
+
Requirements:
157
+
- C/C++ (gcc/g++), Fortran (gfortran)
158
+
- MPI (OpenMPI or MPICH)
159
+
- BLAS/LAPACK (OpenBLAS, MKL, etc.)
160
+
- Optional: CUDA Toolkit; SuiteSparse; METIS; SuperLU; SuperLU_DIST; MUMPS
56
161
57
-
1. PSBLAS -> PSBLAS-EXT -> AMG4PSBLAS -> SUNDIALS
58
-
2. PSBLAS -> AMG4PSBLAS -> PSBLAS-EXT -> SUNDIALS
59
-
3. PSBLAS -> AMG4PSBLAS
162
+
### PSBLAS
60
163
164
+
```bash
165
+
cd psblas3
166
+
./configure --prefix=/usr/local/psctoolkit \
167
+
--with-amdlibdir=/usr/lib/x86_64-linux-gnu/ \
168
+
--with-amdincdir=/usr/include/suitesparse/ \
169
+
--with-metislibdir=/usr/lib/x86_64-linux-gnu/ \
170
+
--with-ipk=4 --with-lpk=4 \
171
+
--enable-openmp
61
172
62
-
Each of the libraries contains its own installation instructions. See information on [https://psctoolkit.github.io/libraries/](https://psctoolkit.github.io/libraries/) for each of them.
173
+
# CUDA (optional)
174
+
# add: --enable-cuda \
175
+
# --with-cudadir=/usr/local/cuda \
176
+
# --with-cudacc=60,70,80,89,90
63
177
64
-
### Docker container
178
+
make -j$(nproc)
179
+
make install
180
+
```
65
181
66
-
We have also available an *experimental* Docker container containing the installation of the core libraries PSBLAS, PSBLAS-EXT, and AMG4PSBLAS (without GPU support). Such container is a unit of software packaging up the source code, the compiled version of the library, and all the relevant dependencies. The idea is to have a version of the PSCToolkit that can run quickly and reliably from one computing environment to another.
182
+
### AMG4PSBLAS
67
183
68
-
The container is available on [dockerhub](https://hub.docker.com/r/psctoolkit/psctoolkit). If you have a version of Docker installed on your
The library is installed under `/usr/local/psctoolkit`. The container is built upon the latest long term release of Ubuntu and uses the packaged versions of the software to fulfill the PSCToolkit prerequisites and
74
-
the auxiliary libraries.
200
+
201
+
### SUNDIALS (optional)
202
+
203
+
See instructions inside the `sundials/` submodule.
204
+
205
+
## Continuous Integration
206
+
207
+
Images are built and pushed automatically by GitHub Actions:
208
+
-`latest` on pushes to `master` → Docker tag `psctoolkit/psctoolkit:latest`
209
+
-`development` on pushes to `development` → Docker tag `psctoolkit/psctoolkit:development`
0 commit comments