Skip to content

Commit

Permalink
Merge pull request #16 from ARCHER2-HPC/modules-2022-12
Browse files Browse the repository at this point in the history
Modules 2022 12
  • Loading branch information
kevinstratford authored Jun 22, 2023
2 parents 466e597 + 2857757 commit e36252d
Show file tree
Hide file tree
Showing 37 changed files with 748 additions and 102 deletions.
39 changes: 38 additions & 1 deletion archer2/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,24 @@ Modulefiles are installed to

## Library modules (formerly TPSL)

Some details for each package will appear here.
Some details for each package appear in the respective directories.

### Post upgrade 2023

| Package | Version | Dependencies | OpenMP? | MPI? |
|--------------|----------|-------------------------|---------|------|
| hypre | 2.25.0 | none | yes | yes |
| matio | 1.5.23 | none | no | no |
| metis | 5.1.0 | none | yes | no |
| mumps | 5.5.1 | metis, parmetis, scotch | yes | yes |
| parmetis | 4.0.3 | none | yes | yes |
| scotch | 7.0.3 | none | no | yes |
| sundials | 4.1.0 | none | yes | yes |
| superlu | 5.3.0 | none | no | no |
| superlu-dist | 8.1.2 | metis, parmetis | yes | yes |


### Pre-upgrade 2023

| Package | Version | Dependencies | OpenMP? | MPI? |
|--------------|----------|-------------------------|---------|------|
Expand All @@ -69,8 +86,27 @@ Some details for each package will appear here.
| superlu | 5.2.2 | none | no | no |
| superlu-dist | 6.4.0 | metis, parmetis | yes | yes |


## Library modules (others via pe-scripts)

### Post upgrade 2023

| Package | Version | Dependencies | OpenMP? | MPI? |
|--------------|----------|----------------------------|---------|------|
| adios | PENDING | cray-hdf5-parallel | no | yes |
| boost | 1.81.0 | none | no | yes |
| petsc | 3.18.5 | superlu, superlu-dist, | no | yes |
| | | metis, parmetis, scotch, | | |
| | | mumps, hypre, | | |
| | | cray-hdf5-parallel | | |
| slepc | 3.18.3 | petsc | no | yes |
| trilinos | 13.4.1 | cray-hdf5-parallel | yes | yes |
| | | cray-netcdf-hdf5parallel | | |
| | | tpsl (bar hypre,sundials | | |
| | | and glm) boost | | |

### Pre upgrade 2023

| Package | Version | Dependencies | OpenMP? | MPI? |
|--------------|----------|----------------------------|---------|------|
| adios | 1.13.1 | cray-hdf5-parallel | no | yes |
Expand All @@ -85,6 +121,7 @@ Some details for each package will appear here.
| | | tpsl (bar hypre,sundials) | | |
| | | boost | | |


## Library modules (other CSE)

| Package | Version | Dependencies | OpenMP? | MPI? |
Expand Down
5 changes: 4 additions & 1 deletion archer2/command_line.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,12 @@ set -e
# Switch off paging (esp. for long listings)
export LMOD_PAGER="None"

# Library versions
source $(pwd)/archer2/versions.sh

# Default location, PE
cse_root=/work/y07/shared
cpe_version=21.04
cpe_version=22.12

# Common functions plus command line argument processing

Expand Down
9 changes: 2 additions & 7 deletions archer2/libraries/adios/build-adios.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,12 @@ function adiosLoadModuleDependencies {

moduleUseLibs
module load cmake
# While AOCC pending pkgconfig fix
#module load cray-hdf5-parallel/${CRAY_HDF5_PARALLEL_VERSION}
module load epcc-cray-hdf5-parallel/${CRAY_HDF5_PARALLEL_VERSION}
module load cray-hdf5-parallel/${CRAY_HDF5_PARALLEL_VERSION}
}

function adiosUnloadModuleDependencies {


module unload epcc-cray-hdf5-parallel
# While AOCC pending pkgconfig fix
#module unload cray-hdf5-parallel
module unload cray-hdf5-parallel
module unload cmake
}

Expand Down
2 changes: 1 addition & 1 deletion archer2/libraries/adios/module_preamble.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
family("adios")

prereq_any("PrgEnv-cray", "PrgEnv-gnu", "PrgEnv-aocc")
depends_on("epcc-cray-hdf5-parallel/1.12.0.3")
depends_on("cray-hdf5-parallel")

-- This is introspection; may want to set explicitly.

Expand Down
9 changes: 4 additions & 5 deletions archer2/libraries/boost/build-boost.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ script_dir="$(dirname "${script}")"
script_root="$(dirname "${script%/*/*}")"

source ${script_root}/pkgconfig-lib.sh
source ${script_root}/versions.sh
source ${script_root}/command_line.sh

function main {
Expand Down Expand Up @@ -90,10 +89,10 @@ function boostBuild {
# Eliminate all shared libraries for now
IFS="." read -r -a mmp <<< "${BOOST_VERSION}"

rm ${prefix}/lib/lib*.so
rm ${prefix}/lib/lib*.so.${mmp[0]}
rm ${prefix}/lib/lib*.so.${mmp[0]}.${mmp[1]}
rm ${prefix}/lib/lib*.so.${mmp[0]}.${mmp[1]}.${mmp[2]}
rm -f ${prefix}/lib/lib*.so
rm -f ${prefix}/lib/lib*.so.${mmp[0]}
rm -f ${prefix}/lib/lib*.so.${mmp[0]}.${mmp[1]}
rm -f ${prefix}/lib/lib*.so.${mmp[0]}.${mmp[1]}.${mmp[2]}

}

Expand Down
1 change: 0 additions & 1 deletion archer2/libraries/hypre/build-hypre.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ script_dir="$(dirname "${script}")"
script_root="$(dirname "${script%/*/*}")"

source ${script_root}/pkgconfig-lib.sh
source ${script_root}/versions.sh
source ${script_root}/command_line.sh

function main {
Expand Down
1 change: 0 additions & 1 deletion archer2/libraries/matio/build-matio.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ script_dir="$(dirname "${script}")"
script_root="$(dirname "${script%/*/*}")"

source ${script_root}/pkgconfig-lib.sh
source ${script_root}/versions.sh
source ${script_root}/command_line.sh

function main {
Expand Down
3 changes: 2 additions & 1 deletion archer2/libraries/metis/build-metis.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ script_dir="$(dirname "${script}")"
script_root="$(dirname "${script%/*/*}")"

source ${script_root}/pkgconfig-lib.sh
source ${script_root}/versions.sh
source ${script_root}/command_line.sh

function main {
Expand All @@ -26,6 +25,8 @@ function main {

metisInstallModuleFileLua
metisInstallationTest

printf "Installation of metis complete\n"
}

function metisBuildAocc {
Expand Down
9 changes: 5 additions & 4 deletions archer2/libraries/mumps/build-mumps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ script_dir="$(dirname "${script}")"
script_root="$(dirname "${script%/*/*}")"

source ${script_root}/pkgconfig-lib.sh
source ${script_root}/versions.sh
source ${script_root}/command_line.sh

function main {
Expand All @@ -16,9 +15,9 @@ function main {

local install_root=${install_root_libs}/mumps/${MUMPS_VERSION}

${build_cce} && mumpsBuildCray ${install_root}
${build_gnu} && mumpsBuildGnu ${install_root}
${build_amd} && mumpsBuildAocc ${install_root}
[[ ${build_cce} ]] && mumpsBuildCray ${install_root}
[[ ${build_gnu} ]] && mumpsBuildGnu ${install_root}
[[ ${build_amd} ]] && mumpsBuildAocc ${install_root}

mumpsInstallModuleFileLua
mumpsInstallationTest
Expand Down Expand Up @@ -198,6 +197,8 @@ function mumpsInstallModuleFileLua {
cat ${module_preamble} > ${module_file}
cat ${module_boilerplate} >> ${module_file}

sed -i "s/SCOTCH_VERSION_TAG/${SCOTCH_VERSION}/" ${module_file}

module use ${module_dir}
module load mumps/${MUMPS_VERSION}

Expand Down
2 changes: 1 addition & 1 deletion archer2/libraries/mumps/module_preamble.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ family("mumps")
prereq_any("PrgEnv-cray", "PrgEnv-gnu", "PrgEnv-aocc")
depends_on("metis/5.1.0")
depends_on("parmetis/4.0.3")
depends_on("scotch/6.1.0")
depends_on("scotch/SCOTCH_VERSION_TAG")

-- This is introspection; may want to set explicitly.

Expand Down
1 change: 0 additions & 1 deletion archer2/libraries/parmetis/build-parmetis.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ script_dir="$(dirname "${script}")"
script_root="$(dirname "${script%/*/*}")"

source ${script_root}/pkgconfig-lib.sh
source ${script_root}/versions.sh
source ${script_root}/command_line.sh

function main {
Expand Down
18 changes: 10 additions & 8 deletions archer2/libraries/petsc/build-petsc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ script_dir="$(dirname "${script}")"
script_root="$(dirname "${script%/*/*}")"

source ${script_root}/pkgconfig-lib.sh
source ${script_root}/versions.sh
source ${script_root}/command_line.sh

function main {
Expand All @@ -16,9 +15,9 @@ function main {

local install_root=${install_root_libs}/petsc/${PETSC_VERSION}

${build_cce} && petscBuildCray ${install_root}
${build_gnu} && petscBuildGnu ${install_root}
${build_amd} && petscBuildAocc ${install_root}
[[ ${build_cce} ]] && petscBuildCray ${install_root}
[[ ${build_gnu} ]] && petscBuildGnu ${install_root}
[[ ${build_amd} ]] && petscBuildAocc ${install_root}

petscInstallModuleFileLua
petscInstallationTest
Expand All @@ -31,8 +30,7 @@ function petscLoadModuleDependencies {
moduleUseLibs

# Pending AOCC pkgconfig fix...
#module load cray-hdf5-parallel/${CRAY_HDF5_PARALLEL_VERSION}
module load epcc-cray-hdf5-parallel/${CRAY_HDF5_PARALLEL_VERSION}
module load cray-hdf5-parallel/${CRAY_HDF5_PARALLEL_VERSION}
module load hypre/${HYPRE_VERSION}
module load mumps/${MUMPS_VERSION}
module load superlu/${SUPERLU_VERSION}
Expand All @@ -42,8 +40,7 @@ function petscLoadModuleDependencies {

function petscUnloadModuleDependencies {

module unload epcc-cray-hdf5-parallel/${CRAY_HDF5_PARALLEL_VERSION}
#module unload cray-hdf5-parallel/${CRAY_HDF5_PARALLEL_VERSION}
module unload cray-hdf5-parallel/${CRAY_HDF5_PARALLEL_VERSION}
module unload hypre/${HYPRE_VERSION}
module unload mumps/${MUMPS_VERSION}
module unload superlu/${SUPERLU_VERSION}
Expand Down Expand Up @@ -166,6 +163,11 @@ function petscInstallModuleFileLua {
cat ${module_preamble} > ${module_file}
cat ${module_boilerplate} >> ${module_file}

sed -i "s/HYPRE_VERSION_TAG/${HYPRE_VERSION}/" ${module_file}
sed -i "s/MUMPS_VERSION_TAG/${MUMPS_VERSION}/" ${module_file}
sed -i "s/SUPERLU_VERSION_TAG/${SUPERLU_VERSION}/" ${module_file}
sed -i "s/SUPERLU_DIST_VERSION_TAG/${SUPERLUDIST_VERSION}/" ${module_file}

module use ${module_dir}
module load petsc/${PETSC_VERSION}

Expand Down
10 changes: 5 additions & 5 deletions archer2/libraries/petsc/module_preamble.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ family("petsc")

prereq_any("PrgEnv-cray", "PrgEnv-gnu", "PrgEnv-aocc")

depends_on("epcc-cray-hdf5-parallel/1.12.0.3")
depends_on("hypre/2.18.0")
depends_on("mumps/5.3.5")
depends_on("superlu/5.2.2")
depends_on("superlu-dist/6.4.0")
depends_on("cray-hdf5-parallel")
depends_on("hypre/HYPRE_VERSION_TAG")
depends_on("mumps/MUMPS_VERSION_TAG")
depends_on("superlu/SUPERLU_VERSION_TAG")
depends_on("superlu-dist/SUPERLU_DIST_VERSION_TAG")


-- This is introspection; may want to set explicitly.
Expand Down
14 changes: 12 additions & 2 deletions archer2/libraries/scotch/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,22 @@

## Build

The single installation generates both serial `scotch` and parallel `ptscotch` under
the same banner of `scotch`. E.g.,
The single installation generates both serial `scotch` and parallel
`ptscotch` under the same banner of `scotch`. E.g.,
```
$ salloc --nodes=1 --time=00:30:00 --partition=standard --qos=standard
$ bash ./archer2/libraries/scotch/build-scotch.sh --prefix=/work/y07/shared
```

Note that v6 and v7 have different baseline build scripts in `./sh/tpsl/scotch.sh` and `./sh/tpsl/scotchv7.sh` respectively. The version 7 has moved to the
`cmake` build route, which has the advantage that the testing is much
easier, but the disadvantage that it doesn't handle the `libscotchmetis`
build so well (it would have to look more like the v6 build without
tests). So the `libscotchmetis` build in v7 is switched off entirely.
This prevent collisions between the scotchmetis versions and the true
metis and partmetis versions in places where both are active (e.g., PETSc).


## Module

The module template is `modulefile.tcl` which does not need to load any
Expand Down
Loading

0 comments on commit e36252d

Please sign in to comment.