Skip to content

Commit 86f864d

Browse files
Spencer Bryngelsonclaude
andcommitted
Restore GitHub, Phoenix, and Frontier AMD CI/bench jobs
Re-add the jobs that were temporarily removed for CCE testing: - test.yml: github job (gfortran + Intel ifx), Phoenix matrix entries, Frontier AMD matrix entries - bench.yml: Phoenix NVHPC entries, Frontier AMD entry Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 878fddb commit 86f864d

2 files changed

Lines changed: 142 additions & 2 deletions

File tree

.github/workflows/bench.yml

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,30 @@ jobs:
3737
fail-fast: false
3838
matrix:
3939
include:
40-
# Frontier (ORNL) — CCE only
40+
- cluster: phoenix
41+
name: Georgia Tech | Phoenix (NVHPC)
42+
group: phoenix
43+
labels: gt
44+
flag: p
45+
device: cpu
46+
interface: none
47+
build_script: ""
48+
- cluster: phoenix
49+
name: Georgia Tech | Phoenix (NVHPC)
50+
group: phoenix
51+
labels: gt
52+
flag: p
53+
device: gpu
54+
interface: acc
55+
build_script: ""
56+
- cluster: phoenix
57+
name: Georgia Tech | Phoenix (NVHPC)
58+
group: phoenix
59+
labels: gt
60+
flag: p
61+
device: gpu
62+
interface: omp
63+
build_script: ""
4164
- cluster: frontier
4265
name: Oak Ridge | Frontier (CCE)
4366
group: phoenix
@@ -54,6 +77,14 @@ jobs:
5477
device: gpu
5578
interface: omp
5679
build_script: "bash .github/workflows/frontier/build.sh gpu omp bench"
80+
- cluster: frontier_amd
81+
name: Oak Ridge | Frontier (AMD)
82+
group: phoenix
83+
labels: frontier
84+
flag: famd
85+
device: gpu
86+
interface: omp
87+
build_script: "bash .github/workflows/frontier_amd/build.sh gpu omp bench"
5788
runs-on:
5889
group: ${{ matrix.group }}
5990
labels: ${{ matrix.labels }}

.github/workflows/test.yml

Lines changed: 110 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,88 @@ jobs:
6868
with:
6969
filters: ".github/file-filter.yml"
7070

71+
github:
72+
name: Github
73+
if: needs.file-changes.outputs.checkall == 'true'
74+
needs: [lint-gate, file-changes]
75+
strategy:
76+
matrix:
77+
os: ['ubuntu', 'macos']
78+
mpi: ['mpi']
79+
precision: ['']
80+
debug: ['debug', 'no-debug']
81+
intel: [true, false]
82+
exclude:
83+
- os: macos
84+
intel: true
85+
86+
include:
87+
- os: ubuntu
88+
mpi: no-mpi
89+
precision: single
90+
debug: no-debug
91+
intel: false
92+
93+
fail-fast: false
94+
continue-on-error: true
95+
runs-on: ${{ matrix.os }}-latest
96+
97+
steps:
98+
- name: Clone
99+
uses: actions/checkout@v4
100+
101+
- name: Restore Build Cache
102+
uses: actions/cache@v4
103+
with:
104+
path: build
105+
key: mfc-build-${{ matrix.os }}-${{ matrix.mpi }}-${{ matrix.debug }}-${{ matrix.precision }}-${{ matrix.intel }}-${{ hashFiles('CMakeLists.txt', 'toolchain/dependencies/**', 'toolchain/cmake/**', 'src/**/*.fpp', 'src/**/*.f90') }}
106+
107+
- name: Setup MacOS
108+
if: matrix.os == 'macos'
109+
run: |
110+
brew update
111+
brew upgrade
112+
brew install coreutils python fftw hdf5 gcc@15 boost open-mpi lapack
113+
echo "FC=gfortran-15" >> $GITHUB_ENV
114+
echo "BOOST_INCLUDE=/opt/homebrew/include/" >> $GITHUB_ENV
115+
116+
- name: Setup Ubuntu
117+
if: matrix.os == 'ubuntu' && matrix.intel == false
118+
run: |
119+
sudo apt update -y
120+
sudo apt install -y cmake gcc g++ python3 python3-dev hdf5-tools \
121+
libfftw3-dev libhdf5-dev openmpi-bin libopenmpi-dev \
122+
libblas-dev liblapack-dev
123+
124+
- name: Setup Ubuntu (Intel)
125+
if: matrix.os == 'ubuntu' && matrix.intel == true
126+
run: |
127+
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
128+
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
129+
sudo add-apt-repository "deb https://apt.repos.intel.com/oneapi all main"
130+
sudo apt-get update
131+
sudo apt-get install -y intel-oneapi-compiler-fortran intel-oneapi-mpi intel-oneapi-mpi-devel
132+
source /opt/intel/oneapi/setvars.sh
133+
printenv >> $GITHUB_ENV
134+
135+
- name: Set up Python 3.14
136+
uses: actions/setup-python@v5
137+
with:
138+
python-version: '3.14'
139+
140+
- name: Build
141+
run: |
142+
/bin/bash mfc.sh test -v --dry-run -j $(nproc) --${{ matrix.debug }} --${{ matrix.mpi }} --${{ matrix.precision }} $TEST_ALL
143+
env:
144+
TEST_ALL: ${{ matrix.mpi == 'mpi' && '--test-all' || '' }}
145+
146+
- name: Test
147+
run: |
148+
/bin/bash mfc.sh test -v --max-attempts 3 -j $(nproc) $TEST_ALL $TEST_PCT
149+
env:
150+
TEST_ALL: ${{ matrix.mpi == 'mpi' && '--test-all' || '' }}
151+
TEST_PCT: ${{ matrix.debug == 'debug' && '-% 20' || '' }}
152+
71153
self:
72154
name: "${{ matrix.cluster_name }} (${{ matrix.device }}${{ matrix.interface != 'none' && format('-{0}', matrix.interface) || '' }}${{ matrix.shard != '' && format(' [{0}]', matrix.shard) || '' }})"
73155
if: github.repository == 'MFlowCode/MFC' && needs.file-changes.outputs.checkall == 'true' && github.event.pull_request.draft != true
@@ -77,7 +159,23 @@ jobs:
77159
strategy:
78160
matrix:
79161
include:
80-
# Frontier (ORNL) — CCE only
162+
# Phoenix (GT) — build+test combined in SLURM job
163+
- runner: 'gt'
164+
cluster: 'phoenix'
165+
cluster_name: 'Georgia Tech | Phoenix'
166+
device: 'gpu'
167+
interface: 'acc'
168+
- runner: 'gt'
169+
cluster: 'phoenix'
170+
cluster_name: 'Georgia Tech | Phoenix'
171+
device: 'gpu'
172+
interface: 'omp'
173+
- runner: 'gt'
174+
cluster: 'phoenix'
175+
cluster_name: 'Georgia Tech | Phoenix'
176+
device: 'cpu'
177+
interface: 'none'
178+
# Frontier (ORNL) — CCE
81179
- runner: 'frontier'
82180
cluster: 'frontier'
83181
cluster_name: 'Oak Ridge | Frontier'
@@ -107,6 +205,17 @@ jobs:
107205
cluster_name: 'Oak Ridge | Frontier'
108206
device: 'cpu'
109207
interface: 'none'
208+
# Frontier AMD — build on login node, test via SLURM
209+
- runner: 'frontier'
210+
cluster: 'frontier_amd'
211+
cluster_name: 'Oak Ridge | Frontier (AMD)'
212+
device: 'gpu'
213+
interface: 'omp'
214+
- runner: 'frontier'
215+
cluster: 'frontier_amd'
216+
cluster_name: 'Oak Ridge | Frontier (AMD)'
217+
device: 'cpu'
218+
interface: 'none'
110219
runs-on:
111220
group: phoenix
112221
labels: ${{ matrix.runner }}

0 commit comments

Comments
 (0)