|
1 | 1 | [](){#ref-uenv-linalg} |
2 | 2 | # linalg |
3 | 3 |
|
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. |
0 commit comments