Skip to content

Scotch and PT-Scotch

Scotch and its parallel version PT-Scotch are provided by Labri at the University of Bordeaux and INRIA Bordeaux South-West. They are used for graph partitioning and ordering problems. The libraries are freely available for scientific use under a license similar to the LGPL license.

Scotch and PT-Scotch

  • module load scotch

The scotch module provides access to both the Scotch and PT-Scotch libraries via the compiler system. A number of stand-alone utilities are also provided as part of the package.

Compiling and linking

If the scotch module is loaded, then applications may be automatically compiled and linked against the libraries for the current programming environment. Check, e.g.,

$ cc --cray-print-opts
if you wish to see exactly what options are generated by the compiler wrappers.

Scotch and PT-Scotch libraries are provides as static archives only. The compiler wrappers do not give access to the libraries libscotcherrexit.a or libptscotcherrexit.a. If you wish to perform your own error handling these libraries must be linked manually.

The scotch module defines the environment SCOTCH_DIR which holds the root of the installation for a given programming environment. Libraries are present in ${SCOTCH_DIR}/lib.

Stand-alone applications are also available. See the Scotch and PT-Scotch user manuals for further details.

Module version history

  • Module scotch/7.0.3 installed May 2023 (PE 22.12)
  • Module scotch/6.1.0 recompiled May 2023 (PE 22.12)

Note: scotch/7.0.3 has disabled a number of features including the Metis compatibility layer, and threads, to allow all tests to pass.

  • Module `scotch/6.1.0 installed October 2021 (PE 21.04)

    Known issue: a small number of the standard PT-Scotch tests are failing (all programming environments). Symptoms include truncated MPI_Recvs. This is currently being investigated.

  • Module scotch/6.0.10 installed January 2021

    Known issue: a small number of the standard PT-Scotch tests are failing (all programming environments). Symptoms include truncated MPI_Recvs. This is currently being investigated.

Compiling your own version

The build procedure for the Scotch package on Archer2 is available via github.

Scotch and PT-Scotch

The latest Scotch and PT-Scotch libraries are installed on Archer using the following mechanism:

$ git clone https://github.com/ARCHER2-HPC/pe-scripts.git
$ cd pe-scripts
$ git checkout modules-2022-12
$ ./sh/tpsl/scotchv7.sh --prefix=/path/to/install/location
where the --prefix option defines the destination for the install. This script will download, compile and install version 7.0.3. A separate script (scotch.sh) in the same location is used for version 6.

Resources

The Scotch home page

Scotch user manual (pdf)

PT-Scotch user manual (pdf)