From c979ddaa03e093582e14d4a31349ea6cb9dffec2 Mon Sep 17 00:00:00 2001 From: Liwei Ji Date: Sun, 5 Nov 2023 20:17:37 -0500 Subject: [PATCH] Docs: Update README.md in compile-notes for frontera --- Docs/compile-notes/frontera/README.md | 67 ++++++++++++++----- .../frontera/oneapi-23.1.0/spack.yaml | 5 +- 2 files changed, 54 insertions(+), 18 deletions(-) diff --git a/Docs/compile-notes/frontera/README.md b/Docs/compile-notes/frontera/README.md index 9b18fc02..811fa114 100644 --- a/Docs/compile-notes/frontera/README.md +++ b/Docs/compile-notes/frontera/README.md @@ -6,12 +6,6 @@ - Compile GPU version: `idev -p rtx-dev -m 120` -* Download spack - - - `git clone -c feature.manyFiles=true https://github.com/spack/spack.git` - - - `git checkout relesases/v0.20` - * Download CarpetX and SpacetimeX ```bash @@ -20,27 +14,57 @@ ./GetComponents --root Cactus --parallel --no-shallow https://raw.githubusercontent.com/lwJi/SpacetimeX/main/Docs/thornlist/spacetimex.th ``` -## Intel-Oneapi version (`oneapi@2023.1.0`) + +## The Short Way + +### Intel-Oneapi version (`oneapi@2023.1.0`) * Load `intel/23.1.0` - `module load intel/23.1.0` -* Setup spack +* Install SpacetimeX - - `. share/spack/setup-env.sh` - - - `spack compiler find` + ```bash + cd Cactus + gmake SpacetimeX-oneapi options=repos/SpacetimeX/Docs/compile-notes/frontera/configs/config_frontera_oneapi.cfg + cp repos/SpacetimeX/Docs/thornlist/spactimex.th configs/SpacetimeX-oneapi/ThornList + gmake -j24 SpacetimeX-oneapi + ``` -* Make `silo@4.10.2` work with `hdf5@1.12.1` +### CUDA version (`cuda@11.8.0`) - - modify `/var/spack/repos/builtin/packages/silo/package.py`: +## The Long Way + +* Download spack + + - `git clone -c feature.manyFiles=true https://github.com/spack/spack.git` + + - use `develop` branch: (maybe `git checkout 141c7de5`) + + - fix error with `krb5%oneapi` temporary: + * modify `var/spack/repos/builtin/packages/bison/package.py` line 68 ```bash - - depends_on("hdf5@1.8:1.10", when="@:4.10+hdf5") - + depends_on("hdf5@1.8:", when="@:4.10+hdf5") + + conflicts( + + "%oneapi", + + msg="bison may have unexpected behaviours with oneapi, \ + + see https://github.com/spack/spack/issues/37172", + + ) ``` +### Intel-Oneapi version (`oneapi@2023.1.0`) + +* Load `intel/23.1.0` + + - `module load intel/23.1.0` + +* Setup spack + + - `. share/spack/setup-env.sh` + + - `spack compiler find` + * Create a dir where you want put `view` in (say `/work2/.../username/frontera/SpackView/oneapi`) * Replace the last line of `oneapi-23.1.0/spack.yaml` with your own dir (say `/work2/.../username/frontera/SpackView/oneapi/view`) @@ -64,8 +88,19 @@ gmake -j24 SpacetimeX-oneapi ``` +* More tricks: + + * Make `silo@4.10.2` work with `hdf5@1.12.1`: + + modify `/var/spack/repos/builtin/packages/silo/package.py`: + + ```bash + - depends_on("hdf5@1.8:1.10", when="@:4.10+hdf5") + + depends_on("hdf5@1.8:", when="@:4.10+hdf5") + ``` + -## CUDA version (`cuda@11.8.0`) +### CUDA version (`cuda@11.8.0`) * Make sure rerun `spack install gcc@11.2.0 %gcc@4.8.5` again on `rtx-dev` or `rtx` diff --git a/Docs/compile-notes/frontera/oneapi-23.1.0/spack.yaml b/Docs/compile-notes/frontera/oneapi-23.1.0/spack.yaml index 7c9a6170..311a50c4 100644 --- a/Docs/compile-notes/frontera/oneapi-23.1.0/spack.yaml +++ b/Docs/compile-notes/frontera/oneapi-23.1.0/spack.yaml @@ -7,8 +7,9 @@ spack: - compilers: - oneapi@2023.1.0 - packages: + - gmake@4.3 - adios2 - - amrex ~fortran +hdf5 +openmp +particles + - amrex dimensions=3 ~fortran +hdf5 +openmp +particles - boost cxxstd=17 +filesystem +mpi +system - fftw +mpi +openmp - hwloc @1.11.12 @@ -16,7 +17,7 @@ spack: - openpmd-api @0.15.1 - ssht - hdf5 +cxx +fortran +hl +mpi +threadsafe - - silo +hdf5 cflags="-Wno-incompatible-function-pointer-types -Wno-int-conversion" + - silo +hdf5 - yaml-cpp - zlib - gsl