Skip to content

Commit 5f9fa2a

Browse files
authored
Add linalg documentation (#56)
1 parent d064365 commit 5f9fa2a

File tree

3 files changed

+82
-4
lines changed

3 files changed

+82
-4
lines changed

.github/CODEOWNERS

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
* @bcumming @msimberg @RMeli
2-
docs/software/sciapps/cp2k.md @abussy @RMeli
3-
docs/software/communication @msimberg
42
docs/services/firecrest @jpdorsch @ekouts
3+
docs/software/communication @msimberg
4+
docs/software/prgenv/linalg.md @finkandreas @msimberg
5+
docs/software/sciapps/cp2k.md @abussy @RMeli

docs/software/prgenv/linalg.md

Lines changed: 78 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,81 @@
11
[](){#ref-uenv-linalg}
22
# linalg
33

4-
!!! todo
5-
write some docs
4+
The `linalg` and `linalg-complex` uenvs are similar to the [`prgenv-gnu`][ref-uenv-prgenv-gnu] and [`prgenv-nvfortran`][ref-uenv-prgenv-nvfortran] uenvs in that they don't provide a specific application, but common libraries useful as a base for building other applications.
5+
They contain linear algebra and mesh partitioning libraries for a broad range of use cases.
6+
7+
The two uenvs contain otherwise identical packages, except that `linalg-complex` contains `petsc` and `trilinos` with complex types enabled, but without the [`hypre`](https://packages.spack.io/package.html?name=hypre) package.
8+
`hypre` only supports double precision.
9+
See below for the full list of packages in each version of the uenv.
10+
Note that many of the packages available in `linalg` and `linalg-complex` are also available in [`prgenv-gnu`][ref-uenv-prgenv-gnu].
11+
12+
## Versioning
13+
14+
The uenvs are available in the following versions on the following systems:
15+
16+
| version | node types | system |
17+
|-----------|-----------|--------|
18+
| 24.11 | gh200, zen2 | daint, eiger |
19+
20+
=== "24.11"
21+
In version 24.11, the common set of packages in both uenvs is:
22+
23+
* [arpack-ng](https://packages.spack.io/package.html?name=arpack-ng)
24+
* [aws-ofi-nccl](https://packages.spack.io/package.html?name=aws-ofi-nccl)
25+
* [blaspp](https://packages.spack.io/package.html?name=blaspp)
26+
* [blt](https://packages.spack.io/package.html?name=blt)
27+
* [boost](https://packages.spack.io/package.html?name=boost)
28+
* [camp](https://packages.spack.io/package.html?name=camp)
29+
* [cmake](https://packages.spack.io/package.html?name=cmake)
30+
* [cuda](https://packages.spack.io/package.html?name=cuda)
31+
* [dla-future-fortran](https://packages.spack.io/package.html?name=dla-future-fortran)
32+
* [dla-future](https://packages.spack.io/package.html?name=dla-future)
33+
* [eigen](https://packages.spack.io/package.html?name=eigen)
34+
* [fftw](https://packages.spack.io/package.html?name=fftw)
35+
* [fmt](https://packages.spack.io/package.html?name=fmt)
36+
* [gsl](https://packages.spack.io/package.html?name=gsl)
37+
* [hdf5](https://packages.spack.io/package.html?name=hdf5)
38+
* [hwloc](https://packages.spack.io/package.html?name=hwloc)
39+
* [kokkos-kernels](https://packages.spack.io/package.html?name=kokkos-kernels)
40+
* [kokkos-tools](https://packages.spack.io/package.html?name=kokkos-tools)
41+
* [kokkos](https://packages.spack.io/package.html?name=kokkos)
42+
* [lapackpp](https://packages.spack.io/package.html?name=lapackpp)
43+
* [libtree](https://packages.spack.io/package.html?name=libtree)
44+
* [lua](https://packages.spack.io/package.html?name=lua)
45+
* [lz4](https://packages.spack.io/package.html?name=lz4)
46+
* [meson](https://packages.spack.io/package.html?name=meson)
47+
* [metis](https://packages.spack.io/package.html?name=metis)
48+
* [mimalloc](https://packages.spack.io/package.html?name=mimalloc)
49+
* [mumps](https://packages.spack.io/package.html?name=mumps)
50+
* [nccl-tests](https://packages.spack.io/package.html?name=nccl-tests)
51+
* [nccl](https://packages.spack.io/package.html?name=nccl)
52+
* [nco](https://packages.spack.io/package.html?name=nco)
53+
* [netcdf-c](https://packages.spack.io/package.html?name=netcdf-c)
54+
* [netlib-scalapack](https://packages.spack.io/package.html?name=netlib-scalapack)
55+
* [ninja](https://packages.spack.io/package.html?name=ninja)
56+
* [openblas](https://packages.spack.io/package.html?name=openblas)
57+
* [osu-micro-benchmarks](https://packages.spack.io/package.html?name=osu-micro-benchmarks)
58+
* [p4est](https://packages.spack.io/package.html?name=p4est)
59+
* [papi](https://packages.spack.io/package.html?name=papi)
60+
* [parmetis](https://packages.spack.io/package.html?name=parmetis)
61+
* [petsc](https://packages.spack.io/package.html?name=petsc)
62+
* [pika](https://packages.spack.io/package.html?name=pika)
63+
* [python](https://packages.spack.io/package.html?name=python)
64+
* [slepc](https://packages.spack.io/package.html?name=slepc)
65+
* [spdlog](https://packages.spack.io/package.html?name=spdlog)
66+
* [stdexec](https://packages.spack.io/package.html?name=stdexec)
67+
* [suite-sparse](https://packages.spack.io/package.html?name=suite-sparse)
68+
* [superlu-dist](https://packages.spack.io/package.html?name=superlu-dist)
69+
* [superlu](https://packages.spack.io/package.html?name=superlu)
70+
* [swig](https://packages.spack.io/package.html?name=swig)
71+
* [trilinos](https://packages.spack.io/package.html?name=trilinos)
72+
* [umpire](https://packages.spack.io/package.html?name=umpire)
73+
* [whip](https://packages.spack.io/package.html?name=whip)
74+
* [zlib-ng](https://packages.spack.io/package.html?name=zlib-ng)
75+
76+
## How to use
77+
78+
Using the `linalg` and `linalg-complex` uenvs is similar to `prgenv-gnu`.
79+
Like `prgenv-gnu`, the `linalg` and `linalg-complex` uenvs provide `default` and `modules` views.
80+
Please see [the `prgenv-gnu` documentation][ref-uenv-prgenv-gnu-how-to-use] for details on different ways of accessing the packages available in the uenv.
81+
You can for example load the `modules` view to see the exact versions of the packages available in the uenv.

docs/software/prgenv/prgenv-gnu.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ The release schedule is not fixed, with new versions will be released roughly ev
6262
* [[email protected]](https://packages.spack.io/package.html?name=superlu)
6363
* [[email protected]](https://packages.spack.io/package.html?name=zlib-ng)
6464

65+
[](){#ref-uenv-prgenv-gnu-how-to-use}
6566
## How to use
6667

6768
The environment is designed as a fairly minimal set of

0 commit comments

Comments
 (0)