Skip to content

Commit e46d4f5

Browse files
authored
Globus Refactor (#121)
* test globus * remove push * increment version * fix test * remove push
1 parent e501152 commit e46d4f5

File tree

8 files changed

+152
-102
lines changed

8 files changed

+152
-102
lines changed

.github/workflows/frontier/install.sh

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# #!/bin/bash
2+
3+
branch=$1
4+
5+
cd /lustre/orion/phy122/scratch/castia5/globus-compute/omega_h-test
6+
7+
module load rocm
8+
module load craype-accel-amd-gfx90a
9+
module load cray-mpich
10+
export CRAYPE_LINK_TYPE=dynamic
11+
export MPICH_GPU_SUPPORT_ENABLED=1
12+
13+
# # Kokkos
14+
# rm kokkos -rf
15+
# rm build-kokkos -rf
16+
# git clone -b 4.1.00 [email protected]:Kokkos/kokkos.git
17+
# cmake -S kokkos -B build-kokkos \
18+
# -DCMAKE_BUILD_TYPE=RelWithDebInfo \
19+
# -DCMAKE_CXX_COMPILER=CC \
20+
# -DCMAKE_CXX_EXTENSIONS=OFF \
21+
# -DKokkos_ENABLE_TESTS=OFF \
22+
# -DKokkos_ENABLE_EXAMPLES=OFF \
23+
# -DKokkos_ENABLE_HIP=ON \
24+
# -DKokkos_ARCH_VEGA90A=ON \
25+
# -DKokkos_ENABLE_SERIAL=ON \
26+
# -DKokkos_ENABLE_OPENMP=OFF \
27+
# -DKokkos_ENABLE_DEBUG=OFF \
28+
# -DCMAKE_INSTALL_PREFIX=build-kokkos/install
29+
# cmake --build build-kokkos -j8 --target install
30+
31+
# Omega_h
32+
rm omega_h -rf
33+
rm build-omega_h -rf
34+
git clone [email protected]:SCOREC/omega_h.git
35+
cd omega_h && git checkout $branch && cd -
36+
cmake -S omega_h -B build-omega_h \
37+
-DCMAKE_INSTALL_PREFIX=build-omega_h/install \
38+
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
39+
-DBUILD_SHARED_LIBS=OFF \
40+
-DOmega_h_USE_MPI=ON \
41+
-DOmega_h_USE_OpenMP=OFF \
42+
-DCMAKE_CXX_COMPILER=CC \
43+
-DOMEGA_H_USE_HIP=ON \
44+
-DOmega_h_USE_Kokkos=ON \
45+
-DKokkos_PREFIX=$PWD/build-kokkos/install \
46+
-DBUILD_TESTING=ON
47+
cmake --build build-omega_h -j24 --target install

.github/workflows/frontier/run.sh

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
3+
name=omega_h
4+
5+
cd /lustre/orion/phy122/scratch/castia5/globus-compute/$name-test
6+
7+
module load rocm
8+
module load craype-accel-amd-gfx90a
9+
module load cray-mpich
10+
export CRAYPE_LINK_TYPE=dynamic
11+
export MPICH_GPU_SUPPORT_ENABLED=1
12+
13+
cd build-$name
14+
salloc --account=PHY122 --time=00:20:00 -q debug --nodes=1 --ntasks=1 --cpus-per-task=1 --gpus-per-task=1 --gpus=1 ctest
15+
cat $PWD/Testing/Temporary/LastTest.log

.github/workflows/globus-test.yml

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Globus-Systems
2+
on:
3+
schedule:
4+
# Monday 6:35 UTC or 02:35 EDT
5+
- cron: '35 6 * * 1'
6+
7+
jobs:
8+
9+
perlmutter-test:
10+
uses: SCOREC/github-actions/.github/workflows/globus-test.yml@main
11+
secrets: inherit
12+
with:
13+
machine: "perlmutter"
14+
15+
frontier-test:
16+
uses: SCOREC/github-actions/.github/workflows/globus-test.yml@main
17+
secrets: inherit
18+
with:
19+
machine: "frontier"
+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# !/bin/bash -e
2+
3+
branch=$1
4+
5+
cd $SCRATCH/globus-compute/omega_h-test
6+
7+
export root=$PWD
8+
module load PrgEnv-gnu
9+
module load cudatoolkit
10+
module load cmake
11+
12+
export kk=$root/build-kokkos/install # This is where kokkos will be (or is) installed
13+
export oh=$root/build-omega_h/install # This is where omega_h will be (or is) installed
14+
export CMAKE_PREFIX_PATH=$kk:$kk/lib64/cmake:$oh:$CMAKE_PREFIX_PATH
15+
export MPICH_CXX=$root/kokkos/bin/nvcc_wrapper
16+
17+
export SLURM_CPU_BIND="cores"
18+
19+
20+
# #kokkos
21+
# rm ${kk%%install} -rf
22+
# rm kokkos -rf
23+
# git clone -b 4.2.00 https://github.com/kokkos/kokkos.git
24+
# cmake -S kokkos -B ${kk%%install} \
25+
# -DCMAKE_INSTALL_PREFIX=$kk \
26+
# -DCMAKE_BUILD_TYPE="Release" \
27+
# -DCMAKE_CXX_COMPILER=$root/kokkos/bin/nvcc_wrapper \
28+
# -DKokkos_ARCH_AMPERE80=ON \
29+
# -DKokkos_ENABLE_SERIAL=ON \
30+
# -DKokkos_ENABLE_OPENMP=off \
31+
# -DKokkos_ENABLE_CUDA=on \
32+
# -DKokkos_ENABLE_CUDA_LAMBDA=on \
33+
# -DKokkos_ENABLE_DEBUG=off
34+
# cmake --build ${kk%%install} -j 24 --target install
35+
36+
#omegah
37+
rm ${oh%%install} -rf
38+
rm omega_h -rf
39+
git clone https://github.com/SCOREC/omega_h.git
40+
cd omega_h && git checkout $branch && cd -
41+
cmake -S omega_h -B ${oh%%install} \
42+
-DCMAKE_INSTALL_PREFIX=$oh \
43+
-DCMAKE_BUILD_TYPE=Release \
44+
-DBUILD_SHARED_LIBS=off \
45+
-DOmega_h_USE_Kokkos=ON \
46+
-DOmega_h_USE_CUDA=on \
47+
-DOmega_h_CUDA_ARCH=80 \
48+
-DOmega_h_USE_MPI=on \
49+
-DMPIEXEC_EXECUTABLE=srun \
50+
-DBUILD_TESTING=on \
51+
-DCMAKE_C_COMPILER=cc \
52+
-DCMAKE_CXX_COMPILER=CC \
53+
-DKokkos_PREFIX=$kk/lib64/cmake
54+
cmake --build ${oh%%install} -j 24 --target install

.github/workflows/perlmutter/run.sh

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/bin/bash
2+
3+
name=omega_h
4+
5+
cd $SCRATCH/globus-compute/$name-test
6+
7+
export root=$PWD
8+
module load PrgEnv-gnu
9+
module load cudatoolkit
10+
module load cmake
11+
export MPICH_CXX=$root/kokkos/bin/nvcc_wrapper
12+
export SLURM_CPU_BIND="cores"
13+
14+
cd build-$name
15+
salloc --time 00:20:00 --constrain=gpu --qos=interactive --nodes=1 --ntasks-per-node=40 --cpus-per-task=1 --gpus=1 --account=m4564 ctest
16+
cat $PWD/Testing/Temporary/LastTest.log

.github/workflows/systems.yml

-63
This file was deleted.

.github/workflows/test_on_system.py

-38
This file was deleted.

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required(VERSION 3.18.0...${CMAKE_VERSION})
22

3-
project(Omega_h VERSION 10.8.6 LANGUAGES CXX)
3+
project(Omega_h VERSION 10.8.7 LANGUAGES CXX)
44
set(Omega_h_USE_STK_DEFAULT OFF)
55
option(Omega_h_USE_STK "Whether to build the STK interface" ${Omega_h_USE_STK_DEFAULT})
66

0 commit comments

Comments
 (0)