Skip to content

Commit 2e998d2

Browse files
authored
Add ARM64 tests (#384)
1 parent 61612cf commit 2e998d2

File tree

1 file changed

+235
-17
lines changed

1 file changed

+235
-17
lines changed

.github/workflows/main.yml

Lines changed: 235 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ jobs:
3030
- name: Run linter
3131
run: |
3232
python3 -m flake8 .
33-
ubuntu-gcc-arm64-build:
33+
ubuntu-gcc-build:
3434
needs:
3535
- clang-format
3636
- python-lint
37-
runs-on: ubuntu-24.04-arm
37+
runs-on: ubuntu-24.04
3838
steps:
3939
- uses: actions/checkout@v4
4040
with:
@@ -47,7 +47,7 @@ jobs:
4747
- name: ccache
4848
uses: hendrikmuhs/[email protected]
4949
with:
50-
key: ${{ runner.os }}-gcc-arm64
50+
key: ${{ runner.os }}-gcc
5151
create-symlink: true
5252
max-size: 1G
5353
- name: CMake configure
@@ -60,6 +60,11 @@ jobs:
6060
env:
6161
CC: gcc-14
6262
CXX: g++-14
63+
- name: Archive revert list
64+
uses: actions/upload-artifact@v4
65+
with:
66+
name: revert-list
67+
path: build/revert-list.txt
6368
- name: Build project
6469
run: |
6570
cmake --build build --parallel
@@ -71,17 +76,17 @@ jobs:
7176
cmake --build build --target install
7277
- name: Archive installed package
7378
run: |
74-
tar -czvf ubuntu-gcc-arm64-install.tar.gz -C install .
79+
tar -czvf ubuntu-gcc-install.tar.gz -C install .
7580
- name: Upload installed package
7681
uses: actions/upload-artifact@v4
7782
with:
78-
name: ubuntu-gcc-arm64-install
79-
path: ubuntu-gcc-arm64-install.tar.gz
80-
ubuntu-gcc-build:
83+
name: ubuntu-gcc-install
84+
path: ubuntu-gcc-install.tar.gz
85+
ubuntu-gcc-arm64-build:
8186
needs:
8287
- clang-format
8388
- python-lint
84-
runs-on: ubuntu-24.04
89+
runs-on: ubuntu-24.04-arm
8590
steps:
8691
- uses: actions/checkout@v4
8792
with:
@@ -94,7 +99,7 @@ jobs:
9499
- name: ccache
95100
uses: hendrikmuhs/[email protected]
96101
with:
97-
key: ${{ runner.os }}-gcc
102+
key: ${{ runner.os }}-gcc-arm64
98103
create-symlink: true
99104
max-size: 1G
100105
- name: CMake configure
@@ -107,11 +112,6 @@ jobs:
107112
env:
108113
CC: gcc-14
109114
CXX: g++-14
110-
- name: Archive revert list
111-
uses: actions/upload-artifact@v4
112-
with:
113-
name: revert-list
114-
path: build/revert-list.txt
115115
- name: Build project
116116
run: |
117117
cmake --build build --parallel
@@ -123,12 +123,12 @@ jobs:
123123
cmake --build build --target install
124124
- name: Archive installed package
125125
run: |
126-
tar -czvf ubuntu-gcc-install.tar.gz -C install .
126+
tar -czvf ubuntu-gcc-arm64-install.tar.gz -C install .
127127
- name: Upload installed package
128128
uses: actions/upload-artifact@v4
129129
with:
130-
name: ubuntu-gcc-install
131-
path: ubuntu-gcc-install.tar.gz
130+
name: ubuntu-gcc-arm64-install
131+
path: ubuntu-gcc-arm64-install.tar.gz
132132
ubuntu-gcc-test:
133133
needs:
134134
- ubuntu-gcc-build
@@ -184,6 +184,61 @@ jobs:
184184
run: python3 scripts/run_tests.py --running-type="threads"
185185
env:
186186
OMP_NUM_THREADS: 4
187+
ubuntu-gcc-arm64-test:
188+
needs:
189+
- ubuntu-gcc-arm64-build
190+
runs-on: ubuntu-24.04-arm
191+
steps:
192+
- uses: actions/checkout@v4
193+
- name: Setup environment
194+
run: |
195+
sudo apt-get update
196+
sudo apt-get install --no-install-recommends -y gcc-14 g++-14 ninja-build libmpich-dev libomp-dev valgrind
197+
python3 -m pip install -r requirements.txt
198+
- name: Download installed package
199+
uses: actions/download-artifact@v4
200+
with:
201+
name: ubuntu-gcc-arm64-install
202+
- name: Extract installed package
203+
run: |
204+
mkdir -p install
205+
tar -xzvf ubuntu-gcc-arm64-install.tar.gz -C install
206+
- name: Run func tests (MPI, num_proc=1)
207+
run: python3 scripts/run_tests.py --running-type="processes"
208+
env:
209+
PROC_COUNT: 1
210+
OMP_NUM_THREADS: 3
211+
- name: Run func tests (MPI, num_proc=2)
212+
run: python3 scripts/run_tests.py --running-type="processes"
213+
env:
214+
PROC_COUNT: 2
215+
OMP_NUM_THREADS: 2
216+
- name: Run func tests (MPI, num_proc=3)
217+
run: python3 scripts/run_tests.py --running-type="processes"
218+
env:
219+
PROC_COUNT: 3
220+
OMP_NUM_THREADS: 1
221+
- name: Run func tests (MPI, num_proc=4)
222+
run: python3 scripts/run_tests.py --running-type="processes"
223+
env:
224+
PROC_COUNT: 4
225+
OMP_NUM_THREADS: 1
226+
- name: Run func tests (threads, num_threads=1)
227+
run: python3 scripts/run_tests.py --running-type="threads"
228+
env:
229+
OMP_NUM_THREADS: 1
230+
- name: Run func tests (threads, num_threads=2)
231+
run: python3 scripts/run_tests.py --running-type="threads"
232+
env:
233+
OMP_NUM_THREADS: 2
234+
- name: Run func tests (threads, num_threads=3)
235+
run: python3 scripts/run_tests.py --running-type="threads"
236+
env:
237+
OMP_NUM_THREADS: 3
238+
- name: Run func tests (threads, num_threads=4)
239+
run: python3 scripts/run_tests.py --running-type="threads"
240+
env:
241+
OMP_NUM_THREADS: 4
187242
ubuntu-gcc-test-extended:
188243
needs:
189244
- ubuntu-gcc-test
@@ -235,6 +290,57 @@ jobs:
235290
run: python3 scripts/run_tests.py --running-type="threads"
236291
env:
237292
OMP_NUM_THREADS: 16
293+
ubuntu-gcc-arm64-test-extended:
294+
needs:
295+
- ubuntu-gcc-arm64-test
296+
runs-on: ubuntu-24.04-arm
297+
steps:
298+
- uses: actions/checkout@v4
299+
- name: Setup environment
300+
run: |
301+
sudo apt-get update
302+
sudo apt-get install --no-install-recommends -y gcc-14 g++-14 ninja-build libmpich-dev libomp-dev valgrind
303+
python3 -m pip install -r requirements.txt
304+
- name: Download installed package
305+
uses: actions/download-artifact@v4
306+
with:
307+
name: ubuntu-gcc-arm64-install
308+
- name: Extract installed package
309+
run: |
310+
mkdir -p install
311+
tar -xzvf ubuntu-gcc-arm64-install.tar.gz -C install
312+
- name: Run func tests (threads, num_threads=5)
313+
run: python3 scripts/run_tests.py --running-type="threads"
314+
env:
315+
OMP_NUM_THREADS: 5
316+
- name: Run func tests (threads, num_threads=6)
317+
run: python3 scripts/run_tests.py --running-type="threads"
318+
env:
319+
OMP_NUM_THREADS: 6
320+
- name: Run func tests (threads, num_threads=7)
321+
run: python3 scripts/run_tests.py --running-type="threads"
322+
env:
323+
OMP_NUM_THREADS: 7
324+
- name: Run func tests (threads, num_threads=8)
325+
run: python3 scripts/run_tests.py --running-type="threads"
326+
env:
327+
OMP_NUM_THREADS: 8
328+
- name: Run func tests (threads, num_threads=11)
329+
run: python3 scripts/run_tests.py --running-type="threads"
330+
env:
331+
OMP_NUM_THREADS: 11
332+
- name: Run func tests (threads, num_threads=13)
333+
run: python3 scripts/run_tests.py --running-type="threads"
334+
env:
335+
OMP_NUM_THREADS: 13
336+
- name: Run func tests (threads, num_threads=15)
337+
run: python3 scripts/run_tests.py --running-type="threads"
338+
env:
339+
OMP_NUM_THREADS: 15
340+
- name: Run func tests (threads, num_threads=16)
341+
run: python3 scripts/run_tests.py --running-type="threads"
342+
env:
343+
OMP_NUM_THREADS: 16
238344
ubuntu-clang-build:
239345
needs:
240346
- clang-format
@@ -390,6 +496,63 @@ jobs:
390496
run: python3 scripts/run_tests.py --running-type="threads"
391497
env:
392498
OMP_NUM_THREADS: 4
499+
ubuntu-clang-arm64-test:
500+
needs:
501+
- ubuntu-clang-arm64-build
502+
runs-on: ubuntu-24.04-arm
503+
steps:
504+
- uses: actions/checkout@v4
505+
- name: Setup environment
506+
run: |
507+
sudo apt-get update
508+
sudo apt-get install --no-install-recommends -y ninja-build libmpich-dev python3-pip valgrind
509+
wget https://apt.llvm.org/llvm.sh
510+
chmod u+x llvm.sh
511+
sudo ./llvm.sh 20 all
512+
- name: Download installed package
513+
uses: actions/download-artifact@v4
514+
with:
515+
name: ubuntu-clang-arm64-install
516+
- name: Extract installed package
517+
run: |
518+
mkdir -p install
519+
tar -xzvf ubuntu-clang-arm64-install.tar.gz -C install
520+
- name: Run func tests (MPI, num_proc=1)
521+
run: python3 scripts/run_tests.py --running-type="processes"
522+
env:
523+
PROC_COUNT: 1
524+
OMP_NUM_THREADS: 3
525+
- name: Run func tests (MPI, num_proc=2)
526+
run: python3 scripts/run_tests.py --running-type="processes"
527+
env:
528+
PROC_COUNT: 2
529+
OMP_NUM_THREADS: 2
530+
- name: Run func tests (MPI, num_proc=3)
531+
run: python3 scripts/run_tests.py --running-type="processes"
532+
env:
533+
PROC_COUNT: 3
534+
OMP_NUM_THREADS: 1
535+
- name: Run func tests (MPI, num_proc=4)
536+
run: python3 scripts/run_tests.py --running-type="processes"
537+
env:
538+
PROC_COUNT: 4
539+
OMP_NUM_THREADS: 1
540+
- name: Run tests (threads, num_threads=1)
541+
run: python3 scripts/run_tests.py --running-type="threads"
542+
env:
543+
OMP_NUM_THREADS: 1
544+
- name: Run tests (threads, num_threads=2)
545+
run: python3 scripts/run_tests.py --running-type="threads"
546+
env:
547+
OMP_NUM_THREADS: 2
548+
- name: Run tests (threads, num_threads=3)
549+
run: python3 scripts/run_tests.py --running-type="threads"
550+
env:
551+
OMP_NUM_THREADS: 3
552+
- name: Run tests (threads, num_threads=4)
553+
run: python3 scripts/run_tests.py --running-type="threads"
554+
env:
555+
OMP_NUM_THREADS: 4
393556
ubuntu-clang-test-extended:
394557
needs:
395558
- ubuntu-clang-test
@@ -443,6 +606,59 @@ jobs:
443606
run: python3 scripts/run_tests.py --running-type="threads"
444607
env:
445608
OMP_NUM_THREADS: 16
609+
ubuntu-clang-arm64-test-extended:
610+
needs:
611+
- ubuntu-clang-arm64-test
612+
runs-on: ubuntu-24.04-arm
613+
steps:
614+
- uses: actions/checkout@v4
615+
- name: Setup environment
616+
run: |
617+
sudo apt-get update
618+
sudo apt-get install --no-install-recommends -y ninja-build libmpich-dev python3-pip valgrind
619+
wget https://apt.llvm.org/llvm.sh
620+
chmod u+x llvm.sh
621+
sudo ./llvm.sh 20 all
622+
- name: Download installed package
623+
uses: actions/download-artifact@v4
624+
with:
625+
name: ubuntu-clang-arm64-install
626+
- name: Extract installed package
627+
run: |
628+
mkdir -p install
629+
tar -xzvf ubuntu-clang-arm64-install.tar.gz -C install
630+
- name: Run tests (threads, num_threads=5)
631+
run: python3 scripts/run_tests.py --running-type="threads"
632+
env:
633+
OMP_NUM_THREADS: 5
634+
- name: Run tests (threads, num_threads=6)
635+
run: python3 scripts/run_tests.py --running-type="threads"
636+
env:
637+
OMP_NUM_THREADS: 6
638+
- name: Run tests (threads, num_threads=7)
639+
run: python3 scripts/run_tests.py --running-type="threads"
640+
env:
641+
OMP_NUM_THREADS: 7
642+
- name: Run tests (threads, num_threads=8)
643+
run: python3 scripts/run_tests.py --running-type="threads"
644+
env:
645+
OMP_NUM_THREADS: 8
646+
- name: Run tests (threads, num_threads=11)
647+
run: python3 scripts/run_tests.py --running-type="threads"
648+
env:
649+
OMP_NUM_THREADS: 11
650+
- name: Run tests (threads, num_threads=13)
651+
run: python3 scripts/run_tests.py --running-type="threads"
652+
env:
653+
OMP_NUM_THREADS: 13
654+
- name: Run tests (threads, num_threads=15)
655+
run: python3 scripts/run_tests.py --running-type="threads"
656+
env:
657+
OMP_NUM_THREADS: 15
658+
- name: Run tests (threads, num_threads=16)
659+
run: python3 scripts/run_tests.py --running-type="threads"
660+
env:
661+
OMP_NUM_THREADS: 16
446662
ubuntu-clang-sanitizer-build:
447663
needs:
448664
- ubuntu-clang-build
@@ -1182,7 +1398,9 @@ jobs:
11821398
ubuntu-gcc-build-perf-stats:
11831399
needs:
11841400
- ubuntu-gcc-build-codecov
1401+
- ubuntu-gcc-arm64-test-extended
11851402
- ubuntu-clang-sanitizer-test-extended
1403+
- ubuntu-clang-arm64-test-extended
11861404
- windows-clang-test-extended
11871405
- windows-msvc-test-extended
11881406
runs-on: ubuntu-24.04

0 commit comments

Comments
 (0)