PETSc
PETSc is a suite of parallel tools for solution of partial differential equations. PETSc is developed at Argonne National Laboratory and is freely available under a BSD 2-clause license.
Build
module load petsc
Applications may be linked against PETSc by loading the petsc module
and using the compiler wrappers cc, CC, and ftn in the usual way.
Details of options introduced by the compiler wrappers can be
examined via, e.g.,
$ cc --cray-print-opts
PETSC is configured with Metis, Parmetis, and Scotch orderings, and to support HYPRE, MUMPS, SuperLU, and SuperLU-DIST. PETSc is compiled without OpenMP.
The petsc module defines the environment variable PETSC_DIR as the
root of the installation if this is required.
Version history
- Module
petsc/3.18.5installed as default May 2023 (PE 22.12) - Module
petsc/3.14.2recompiled May 2023 (PE 22.12)
Note: PETSc has a number of dependencies; where applicable, the
newer version of PETSc depends on the newer module version of each
relevant dependency. Check module list to be sure.
- Module
petsc/3.14.2installed October 2021 (PE 21.04)
- Module
petsc/3.13.3installed January 2021
Known issues: PETSc is not currently available for PrgEnv-aocc.
There is no HYPRE support in this version.
Compile your own version
It is possible to follow the steps used to build the current version on Archer2. These steps are codified at the Archer2 github repository and include a number of dependencies to be built in the correct order:
$ git clone https://github.com/ARCHER2-HPC/pe-scripts.git
$ cd pe-scripts
$ git checkout modules-2012-12
$ ./sh/tpsl/metis.sh --prefix=/path/to/install/location
$ ./sh/tpsl/parmetis.sh --prefix=/path/to/install/location
$ ./sh/tpsl/hypre.sh --prefix=/path/to/install/location
$ ./sh/tpsl/scotchv7.sh --prefix=/path/to/install/location
$ ./sh/tpsl/mumps.sh --prefix=/path/to/install/location
$ ./sh/tpsl/superlu.sh --prefix=/path/to/install/location
$ ./sh/tpsl/superlu-dist.sh --prefix=/path/to/install/location
$ module load cray-hdf5
$ ./sh/petsc.sh --prefix=/path/to/install/location
--prefix option indicating the install directory should be the
same in all cases. See the Archer2 github repository for further
details (and options). This will compile version 3.18.5 against the
latest module versions of each dependency.
Resources
Current PETSc documentation (HTML)