Skip to content

Scripts for building libraries with Cray's PE

Notifications You must be signed in to change notification settings

eleanor-broadway/pe-scripts

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Cray build scripts

These scripts are intended to be used for building software products under the Cray PE environment.

Archer2 Specific Information

There is an additional branch in this repository covering three programming environments on Archer2 (CRAYCLANG, GNU, and AOCC):

  • cse-develop

Please commit any relevant updates to this branch (not the master). A further tagged version is available for the standard releases available on the machine.

Archer2 general comments

  • I have had to change the sha256sum hash for the Trilinos package (cf. the upstream). This I believe is related to the more recent version of git on Archer2 used to generate the tar package. Earlier versions of git produce the original checksum.
  • A number of tests have been enabled as part of the build stage if the overhead in time (as the likelihood of failure) is low enough.
  • An option to build shared libraries has been added to the preamble.

Supported Products

Usage

These scripts do not handle dependency resolution, but do rudimentary checks for prerequisites. They will use system libraries if available.

Each script supports a --help option for convenience:

$ ./sh/tpsl.sh --help
Usage: ./sh/tpsl.sh [OPTIONS]

Default for option is specified in brackets.

Options:
  -h, --help        Print this help message
  --prefix=<DIR>    Install package under DIR [/tmp/jdoe/_install]
  -j[N], --jobs[=N] Build with up to N processes [1]

Send bug reports to [email protected]

and can be run to install each product, for example:

$ git clone https://github.com/Cray/pe-scripts
$ cd pe-scripts
$ module add PrgEnv-gnu cmake cray-mpich cray-hdf5-parallel cray-netcdf-hdf5parallel
$ prefix=`pwd`/_install
$ ./sh/tpsl.sh --prefix=$prefix --jobs=8
$ ./sh/petsc.sh --prefix=$prefix --jobs=8
$ ./sh/boost.sh --prefix=$prefix --jobs=8
$ ./sh/trilinos.sh --prefix=$prefix --jobs=8

The TPSL libraries can also be built individually, e.g.:

$ ./sh/tpsl/superlu.sh --prefix=$prefix --jobs=8

The TPSL script has a rudimentary inventory system to avoid installing TPSL libraries that have already been installed to the given prefix.

Version selection

Some package scripts can install one of several different versions. If this is the case, then the output from --help will list the available versions than can be chosen with the --version=... option, e.g.:

$ ./sh/petsc.sh --help
Usage: ./sh/petsc.sh [OPTIONS]

Default for option is specified in brackets.

Options:
  -h, --help        Print this help message
  --prefix=<DIR>    Install package under DIR [/tmp/jdoe/_install]
  -j[N], --jobs[=N] Build with up to N processes [1]
  --version[=<VER>] Build and install version VER of petsc.
                    Must be one of the available versions
                    listed below.  Without argument: print the
                    current version [3.13.0]

Available versions:
  - 3.10.3
  - 3.10.5
  - 3.11.4
  - 3.12.5
  - 3.13.0 (*)

Send bug reports to [email protected]
$ ./sh/petsc.sh --version=3.12.5 --prefix=$prefix --jobs=4

For packages such as PETSc or Trilinos, that can satisfy dependencies using packages installed from these scripts, there are no guarantees if using an arbitrary combination of package versions. Generally, the default versions should work properly together, and other combinations may be untested.

About

Scripts for building libraries with Cray's PE

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%