Skip to content

Commit c0f6b77

Browse files
authored
readme: updates for rhel9
1 parent dd31148 commit c0f6b77

File tree

1 file changed

+22
-28
lines changed

1 file changed

+22
-28
lines changed

README.md

Lines changed: 22 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,21 @@
11
# meshFields
22
GPU friendly unstructured mesh field storage and interface
33

4-
## build dependencies
4+
## build dependencies for GPU
55

6-
The following commands were tested on a SCOREC workstation running RHEL7 with a
7-
Nvidia Turing GPU.
6+
The following commands were tested on a SCOREC workstation running RHEL9 with a
7+
Nvidia Ampere GPU.
88

99
`cd` to a working directory that will contain *all* your source code (including
1010
this directory) and build directories. That directory is referred to as `root`
1111
in the following bash scripts.
1212

13-
Create a file named `envRhel7_turing.sh` with the following contents:
13+
Create a file named `envRhel7_ampere.sh` with the following contents:
1414

1515
```
1616
export root=$PWD
17-
module unuse /opt/scorec/spack/lmod/linux-rhel7-x86_64/Core
18-
module use /opt/scorec/spack/v0154_2/lmod/linux-rhel7-x86_64/Core
19-
module load gcc/10.1.0 cmake cuda/11.4
17+
module use /opt/scorec/spack/rhel9/v0201_4/lmod/linux-rhel9-x86_64/Core/
18+
module load gcc/12.3.0-iil3lno mpich/4.1.1-xpoyz4t cuda/12.1.1-zxa4msk
2019
2120
function getname() {
2221
name=$1
@@ -35,7 +34,7 @@ echo "kokkos install dir: $kk"
3534
```
3635

3736

38-
Create a file named `buildAll_turing.sh` with the following contents:
37+
Create a file named `buildAll_ampere.sh` with the following contents:
3938

4039
```
4140
#!/bin/bash -e
@@ -48,7 +47,7 @@ mkdir -p $kk
4847
cd $_/..
4948
cmake ../kokkos \
5049
-DCMAKE_CXX_COMPILER=$root/kokkos/bin/nvcc_wrapper \
51-
-DKokkos_ARCH_TURING75=ON \
50+
-DKokkos_ARCH_AMPERE86=ON \
5251
-DKokkos_ENABLE_SERIAL=ON \
5352
-DKokkos_ENABLE_OPENMP=off \
5453
-DKokkos_ENABLE_CUDA=on \
@@ -60,7 +59,7 @@ make -j 24 install
6059
6160
#omegah
6261
cd $root
63-
git clone [email protected]:sandialabs/omega_h.git
62+
git clone [email protected]:scorec/omega_h.git
6463
[ -d $oh ] && rm -rf ${oh%%install}
6564
mkdir -p $oh
6665
cd ${oh%%install}
@@ -69,7 +68,7 @@ cmake ../omega_h \
6968
-DBUILD_SHARED_LIBS=OFF \
7069
-DOmega_h_USE_Kokkos=ON \
7170
-DOmega_h_USE_CUDA=on \
72-
-DOmega_h_CUDA_ARCH=75 \
71+
-DOmega_h_CUDA_ARCH=86 \
7372
-DOmega_h_USE_MPI=OFF \
7473
-DBUILD_TESTING=on \
7574
-DCMAKE_CXX_COMPILER=g++ \
@@ -98,29 +97,27 @@ make -j 24 install
9897
Make the script executable:
9998

10099
```
101-
chmod +x buildAll_turing.sh
100+
chmod +x buildAll_ampere.sh
102101
```
103102

104103

105104
Source the environment script from this work directory:
106105

107106
```
108-
source envRhel7_turing.sh
107+
source envRhel7_ampere.sh
109108
```
110109

111110
Run the build script:
112111

113112
```
114-
./buildAll_turing.sh
113+
./buildAll_ampere.sh
115114
```
116115

117116
## build dependencies for CPU
118117

119118
This build serves to help debugging, check for memory leaks via valgrind, and
120-
run tests for coverage. (GPU code is not registered as having been run by GCOV
121-
and subsequently LCOV.) These commands can be run in your root directory but you
122-
will need to re-source the enviornment script and re-run the build script for the
123-
GPU build when you want to return to it.
119+
run tests for coverage. GPU code is not registered as having been run by GCOV
120+
and subsequently LCOV.
124121

125122
`cd` to a working directory that will contain *all* your source code (including
126123
this directory) and build directories. That directory is referred to as `root`
@@ -130,12 +127,9 @@ Create a file named `envCpu.sh` with the following contents:
130127

131128
```
132129
export root=$PWD
133-
module unuse /opt/scorec/spack/lmod/linux-rhel7-x86_64/Core
134-
module use /opt/scorec/spack/v0154_2/lmod/linux-rhel7-x86_64/Core
135-
module load lcov/1.16 py-gcovr/4.2
136-
module load gcc/10.1.0 cmake
137-
module load perl/5.30.3
138-
module load perl-io-compress/2.081
130+
module use /opt/scorec/spack/rhel9/v0201_4/lmod/linux-rhel9-x86_64/Core/
131+
module load gcc/12.3.0-iil3lno mpich/4.1.1-xpoyz4t
132+
139133
function getname() {
140134
name=$1
141135
machine=`hostname -s`
@@ -173,7 +167,7 @@ cmake ../kokkos \
173167
make -j 24 install
174168
#omegah
175169
cd $root
176-
git clone https://github.com/sandialabs/omega_h.git
170+
git clone git@github.com:scorec/omega_h.git
177171
[ -d $ohCpu ] && rm -rf ${ohCpu%%install}
178172
mkdir -p $ohCpu
179173
cd ${ohCpu%%install}
@@ -225,14 +219,14 @@ Run the build script:
225219

226220
## build meshFields
227221

228-
The following assumes that the environment is already setup (see above) and the
222+
The following assumes that the environment is already setup (see above, either CPU or GPU) and the
229223
`root` directory is the same directory used to build the dependencies.
230224

231225
```
232226
cd $root
233227
git clone [email protected]:SCOREC/meshFields
234-
cmake -S meshFields -B build-meshFields-cuda
235-
cmake --build build-meshFields-cuda
228+
cmake -S meshFields -B build-meshFields-[CPU|GPU]
229+
cmake --build build-meshFields-[CPU|GPU]
236230
```
237231

238232
## rebuild meshFields

0 commit comments

Comments
 (0)