-
Notifications
You must be signed in to change notification settings - Fork 19
173 lines (154 loc) · 5.86 KB
/
intel.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
name: 🐧 Intel
on: [workflow_call]
concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-intel
cancel-in-progress: true
jobs:
tests-oneapi-sycl:
name: oneAPI SYCL 3D
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Dependencies
run: |
.github/workflows/dependencies/dpcpp.sh
.github/workflows/dependencies/dependencies_ccache.sh
- name: Set Up Cache
uses: actions/cache@v4
with:
path: ~/.cache/ccache
key: ccache-${{ github.workflow }}-${{ github.job }}-git-${{ github.sha }}
restore-keys: |
ccache-${{ github.workflow }}-${{ github.job }}-git-
- name: Build & Install
# mkl/rng/device/detail/mrg32k3a_impl.hpp has a number of sign-compare error
# mkl/rng/device/detail/mrg32k3a_impl.hpp has missing braces in array-array initalization
env: {CXXFLAGS: "-fno-operator-names -Werror -Wall -Wextra -Wpedantic -Wnull-dereference -Wfloat-conversion -Wshadow -Woverloaded-virtual -Wextra-semi -Wunreachable-code -Wnon-virtual-dtor -Wno-unused-variable -Wno-shadow"}
run: |
set +e
source /opt/intel/oneapi/setvars.sh
set -e
export CCACHE_COMPRESS=1
export CCACHE_COMPRESSLEVEL=10
export CCACHE_MAXSIZE=200M
export CCACHE_DEPEND=1
ccache -z
export CC=$(which icx)
export CXX=$(which icpx)
python3 -m pip install -U pip setuptools wheel
python3 -m pip install -U cmake
python3 -m pip install -U pytest mpi4py
cmake -S . -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DBUILD_SHARED_LIBS=ON \
-DAMReX_GPU_BACKEND=SYCL \
-DAMReX_MPI=ON \
-DAMReX_SPACEDIM="3"
cmake --build build --target pip_install -j 4
ccache -s
du -hs ~/.cache/ccache
tests-icpx:
name: ICPX
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Dependencies
run: |
.github/workflows/dependencies/dpcpp.sh
.github/workflows/dependencies/dependencies_ccache.sh
- name: Set Up Cache
uses: actions/cache@v4
with:
path: ~/.cache/ccache
key: ccache-${{ github.workflow }}-${{ github.job }}-git-${{ github.sha }}
restore-keys: |
ccache-${{ github.workflow }}-${{ github.job }}-git-
- name: Build & Install
# /usr/include/c++/12/bits/stl_tempbuf.h has deprecated-declarations in 'get_temporary_buffer<std::pair<long, int>>'
env: {CXXFLAGS: "-fno-operator-names -Werror -Wall -Wextra -Wpedantic -Wnull-dereference -Wfloat-conversion -Wshadow -Woverloaded-virtual -Wextra-semi -Wunreachable-code -Wnon-virtual-dtor -Wno-deprecated-declarations"}
run: |
set +e
source /opt/intel/oneapi/setvars.sh
set -e
export CCACHE_COMPRESS=1
export CCACHE_COMPRESSLEVEL=10
export CCACHE_MAXSIZE=200M
ccache -z
export CC=$(which icx)
export CXX=$(which icpx)
python3 -m pip install -U pip setuptools wheel
python3 -m pip install -U cmake
python3 -m pip install -U pytest mpi4py
cmake -S . -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DAMReX_MPI=ON \
-DAMReX_SPACEDIM="1;2;3"
cmake --build build --target pip_install -j 4
ccache -s
du -hs ~/.cache/ccache
- name: Run tests
run: |
set +e
source /opt/intel/oneapi/setvars.sh
set -e
cd build
ctest --output-on-failure
# "Classic" EDG Intel Compiler
# Ref.: https://github.com/rscohn2/oneapi-ci
# intel-basekit intel-hpckit are too large in size
tests-icc:
name: ICC
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: install dependencies
run: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get -qqq update
sudo apt-get install -y wget build-essential pkg-config cmake ca-certificates gnupg
sudo wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update
sudo apt-get install -y intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-compiler-fortran intel-oneapi-mpi-devel
.github/workflows/dependencies/dependencies_ccache.sh
- name: Set Up Cache
uses: actions/cache@v4
with:
path: ~/.cache/ccache
key: ccache-${{ github.workflow }}-${{ github.job }}-git-${{ github.sha }}
restore-keys: |
ccache-${{ github.workflow }}-${{ github.job }}-git-
- name: build
env: {CXXFLAGS: "-Werror"}
run: |
set +e
source /opt/intel/oneapi/setvars.sh
set -e
export CCACHE_COMPRESS=1
export CCACHE_COMPRESSLEVEL=10
export CCACHE_MAXSIZE=600M
ccache -z
export CXX=$(which icpc)
export CC=$(which icc)
python3 -m pip install -U pip importlib_metadata launchpadlib setuptools wheel
python3 -m pip install -U cmake
python3 -m pip install -U pytest mpi4py
cmake -S . -B build \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DBUILD_SHARED_LIBS=ON \
-DAMReX_MPI=ON \
-DAMReX_SPACEDIM="1;2;3"
cmake --build build --target pip_install -j 2
ccache -s
du -hs ~/.cache/ccache
- name: Run tests
run: |
set +e
source /opt/intel/oneapi/setvars.sh
set -e
cd build
ctest --output-on-failure