Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 78 additions & 2 deletions docs/software/prgenv/linalg.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,81 @@
[](){#ref-uenv-linalg}
# linalg

!!! todo
write some docs
The `linalg` and `linalg-complex` uenvs are similar to the [`prgenv-gnu`][ref-uenv-prgenv-gnu] and [`pregnv-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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The `linalg` and `linalg-complex` uenvs are similar to the [`prgenv-gnu`][ref-uenv-prgenv-gnu] and [`pregnv-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.
The `linalg` and `linalg-complex` uenvs are similar to the [`prgenv-gnu`][ref-uenv-prgenv-gnu] uenvs in that they don't provide a specific application, but common libraries useful as a base for building other applications.

I know what you are trying to say, but just to avoid possible question on where is nvhpc in these packages etc.?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know if you can avoid those questions. Providing a link to the nvfortran uenv might even answer the "where can I find nvhpc?" question.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't feel very strongly, but I think @bcumming has at least done a good job on the prgenv-gnu and prgenv-nvfortran pages saying you probably want prgenv-gnu at the top of the pages.

I've at least fixed the pregnv-nvfortran typo here for now. Let me know if you still think it's worth removing the nvfortran mention.

They contain linear algebra and mesh partitioning libraries for a broad range of use cases.

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.
`hypre` only supports double precision.
See below for the full list of packages in each version of the uenv.
Note that many of the packages available in `linalg` and `linalg-complex` are also available in [`prgenv-gnu`][ref-uenv-prgenv-gnu].

## Versioning

The uenvs are available in the following versions on the following systems:

| version | node types | system |
|-----------|-----------|--------|
| 24.11 | gh200, zen2 | daint, eiger |

=== "24.11"
In version 24.11, the common set of packages in both uenvs is:

* [arpack-ng](https://packages.spack.io/package.html?name=arpack-ng)
* [aws-ofi-nccl](https://packages.spack.io/package.html?name=aws-ofi-nccl)
* [blaspp](https://packages.spack.io/package.html?name=blaspp)
* [blt](https://packages.spack.io/package.html?name=blt)
* [boost](https://packages.spack.io/package.html?name=boost)
* [camp](https://packages.spack.io/package.html?name=camp)
* [cmake](https://packages.spack.io/package.html?name=cmake)
* [cuda](https://packages.spack.io/package.html?name=cuda)
* [dla-future-fortran](https://packages.spack.io/package.html?name=dla-future-fortran)
* [dla-future](https://packages.spack.io/package.html?name=dla-future)
* [eigen](https://packages.spack.io/package.html?name=eigen)
* [fftw](https://packages.spack.io/package.html?name=fftw)
* [fmt](https://packages.spack.io/package.html?name=fmt)
* [gsl](https://packages.spack.io/package.html?name=gsl)
* [hdf5](https://packages.spack.io/package.html?name=hdf5)
* [hwloc](https://packages.spack.io/package.html?name=hwloc)
* [kokkos-kernels](https://packages.spack.io/package.html?name=kokkos-kernels)
* [kokkos-tools](https://packages.spack.io/package.html?name=kokkos-tools)
* [kokkos](https://packages.spack.io/package.html?name=kokkos)
* [lapackpp](https://packages.spack.io/package.html?name=lapackpp)
* [libtree](https://packages.spack.io/package.html?name=libtree)
* [lua](https://packages.spack.io/package.html?name=lua)
* [lz4](https://packages.spack.io/package.html?name=lz4)
* [meson](https://packages.spack.io/package.html?name=meson)
* [metis](https://packages.spack.io/package.html?name=metis)
* [mimalloc](https://packages.spack.io/package.html?name=mimalloc)
* [mumps](https://packages.spack.io/package.html?name=mumps)
* [nccl-tests](https://packages.spack.io/package.html?name=nccl-tests)
* [nccl](https://packages.spack.io/package.html?name=nccl)
* [nco](https://packages.spack.io/package.html?name=nco)
* [netcdf-c](https://packages.spack.io/package.html?name=netcdf-c)
* [netlib-scalapack](https://packages.spack.io/package.html?name=netlib-scalapack)
* [ninja](https://packages.spack.io/package.html?name=ninja)
* [openblas](https://packages.spack.io/package.html?name=openblas)
* [osu-micro-benchmarks](https://packages.spack.io/package.html?name=osu-micro-benchmarks)
* [p4est](https://packages.spack.io/package.html?name=p4est)
* [papi](https://packages.spack.io/package.html?name=papi)
* [parmetis](https://packages.spack.io/package.html?name=parmetis)
* [petsc](https://packages.spack.io/package.html?name=petsc)
* [pika](https://packages.spack.io/package.html?name=pika)
* [python](https://packages.spack.io/package.html?name=python)
* [slepc](https://packages.spack.io/package.html?name=slepc)
* [spdlog](https://packages.spack.io/package.html?name=spdlog)
* [stdexec](https://packages.spack.io/package.html?name=stdexec)
* [suite-sparse](https://packages.spack.io/package.html?name=suite-sparse)
* [superlu-dist](https://packages.spack.io/package.html?name=superlu-dist)
* [superlu](https://packages.spack.io/package.html?name=superlu)
* [swig](https://packages.spack.io/package.html?name=swig)
* [trilinos](https://packages.spack.io/package.html?name=trilinos)
* [umpire](https://packages.spack.io/package.html?name=umpire)
* [whip](https://packages.spack.io/package.html?name=whip)
* [zlib-ng](https://packages.spack.io/package.html?name=zlib-ng)

## How to use

Using the `linalg` and `linalg-complex` uenvs is similar to `prgenv-gnu`.
Like `prgenv-gnu`, the `linalg` and `linalg-complex` uenvs provide `default` and `modules` views.
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.
You can for example load the `modules` view to see the exact versions of the packages available in the uenv.
1 change: 1 addition & 0 deletions docs/software/prgenv/prgenv-gnu.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ The release schedule is not fixed, with new versions will be released roughly ev
* [[email protected]](https://packages.spack.io/package.html?name=superlu)
* [[email protected]](https://packages.spack.io/package.html?name=zlib-ng)

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

The environment is designed as a fairly minimal set of
Expand Down