@@ -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