Skip to content

Commit bd5bb90

Browse files
committed
updates github action (intel compiler tests)
1 parent ebb78bd commit bd5bb90

File tree

1 file changed

+146
-2
lines changed

1 file changed

+146
-2
lines changed

.github/workflows/CI.yml

Lines changed: 146 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,10 +188,10 @@ jobs:
188188
sudo apt-get update
189189
echo ""
190190
# info
191-
#sudo -E apt-cache pkgnames intel | grep intel-oneapi
191+
sudo -E apt-cache pkgnames intel | grep intel-oneapi
192192
#echo ""
193193
echo "installing packages intel oneapi:"
194-
sudo apt-get install -y intel-oneapi-compiler-fortran-2023.2.2 intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2023.2.2 intel-oneapi-mpi intel-oneapi-mpi-devel
194+
sudo apt-get install -y intel-oneapi-compiler-fortran-2023.2.2 intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2023.2.2 intel-oneapi-mpi-2021.14 intel-oneapi-mpi-devel-2021.14
195195
echo ""
196196
197197
- name: compiler infos
@@ -298,6 +298,150 @@ jobs:
298298
run: |
299299
make tests
300300
301+
linuxCheck-Intel-ifx:
302+
name: Test Intel ifx on ubuntu-latest
303+
runs-on: ubuntu-latest
304+
needs: changesCheck
305+
306+
steps:
307+
- uses: actions/checkout@v4
308+
309+
- name: Cache Intel oneapi packages
310+
id: cache-intel-oneapi-ifx
311+
uses: actions/cache@v4
312+
with:
313+
path: /opt/intel/oneapi
314+
key: install-${{ runner.os }}-all
315+
316+
- name: Install packages
317+
if: steps.cache-intel-oneapi-ifx.outputs.cache-hit != 'true'
318+
run: |
319+
# old way
320+
#wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
321+
#sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB # deprecated warning
322+
# new way
323+
curl -Lo- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | sudo gpg --dearmor -o /usr/share/keyrings/oneapi-archive-keyring.gpg
324+
sudo tee /etc/apt/sources.list.d/oneAPI.list <<< "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main"
325+
echo ""
326+
sudo echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
327+
sudo apt-get update
328+
echo ""
329+
# info
330+
sudo -E apt-cache pkgnames intel | grep intel-oneapi
331+
#echo ""
332+
echo "installing packages intel oneapi:"
333+
sudo apt-get install -y intel-oneapi-compiler-fortran intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-mpi intel-oneapi-mpi-devel
334+
echo ""
335+
336+
- name: compiler infos
337+
run: |
338+
echo ""
339+
source /opt/intel/oneapi/setvars.sh
340+
echo ""
341+
echo "compiler versions:"
342+
echo "icx --version"
343+
which icx
344+
icx --version
345+
echo ""
346+
echo "icc --version"
347+
which icc
348+
icc --version
349+
echo ""
350+
echo "ifx --version"
351+
which ifx
352+
ifx --version
353+
echo ""
354+
# ifort no more provided - use ifx instead
355+
#echo "ifort --version"
356+
#which ifort
357+
#ifort --version
358+
#echo ""
359+
# mpiifort no more provided - use mpiifx instead
360+
#echo "mpiifort --version"
361+
#which mpiifort
362+
#mpiifort --version
363+
echo "mpiifx --version"
364+
which mpiifx
365+
mpiifx --version
366+
echo ""
367+
echo "mpif90 --version"
368+
which mpif90
369+
mpif90 --version
370+
echo ""
371+
# infos
372+
which ifx
373+
which icc
374+
which mpiifx
375+
echo "mpirun:"
376+
which mpirun
377+
echo ""
378+
# intel setup for running tests
379+
echo ""
380+
echo "replacing mpif90 with mpiifx link:"
381+
sudo ln -sf $(which mpiifx) $(which mpif90)
382+
mpif90 --version
383+
echo ""
384+
# debug
385+
#export I_MPI_DEBUG=5,pid,host
386+
#export I_MPI_LIBRARY_KIND=debug
387+
# remove -ftrapuv which leads to issues for running tests
388+
sed -i "s/-ftrapuv//g" flags.guess
389+
# environment setting
390+
export TERM=xterm
391+
# export info
392+
echo "exports:"
393+
export
394+
echo ""
395+
echo ""
396+
printenv >> $GITHUB_ENV
397+
echo "CXX=icpc" >> $GITHUB_ENV
398+
echo "CC=icc" >> $GITHUB_ENV
399+
echo "FC=ifx" >> $GITHUB_ENV
400+
echo ""
401+
402+
- name: configure serial debug
403+
run: |
404+
./configure --enable-debug --without-mpi FC=ifx CC=icc
405+
406+
- name: make serial debug
407+
run: |
408+
make -j2 all
409+
make -j2 all --always-make
410+
make clean
411+
412+
- name: configure serial
413+
run: |
414+
./configure --without-mpi FC=ifx CC=icc
415+
416+
- name: make serial
417+
run: |
418+
make -j2 all
419+
make clean
420+
421+
- name: configure parallel debug
422+
run: |
423+
./configure --enable-debug --with-mpi FC=ifx CC=icc MPIFC=mpiifx MPI_INC="${I_MPI_ROOT}/include"
424+
425+
- name: make parallel debug
426+
run: |
427+
make -j2 all
428+
make -j2 all --always-make
429+
make clean
430+
431+
- name: configure parallel
432+
run: |
433+
./configure --with-mpi FC=ifx CC=icc MPIFC=mpiifx MPI_INC="${I_MPI_ROOT}/include"
434+
435+
- name: make parallel
436+
run: |
437+
make -j2 all
438+
make clean
439+
440+
# note: fails with -ftrapuv flag due to MPI issue on virtual nodes
441+
- name: make tests
442+
run: |
443+
make tests
444+
301445
linuxTest_0:
302446
name: Test 0 - make tests
303447
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)