Skip to content

20240326

20240326 #36

name: linux with intel
on: [push, pull_request]
jobs:
# Build with Intel toolchain
intel-build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04]
fc: [ifort]
cc: [icc]
env:
FC: ${{ matrix.fc }}
CC: ${{ matrix.cc }}
FPM_COMPILER: ifort
TZ: UTC+04:00
APT_PACKAGES: >-
intel-oneapi-compiler-fortran
intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic
intel-oneapi-mkl-devel
asciidoctor
steps:
- name: Checkout code
uses: actions/checkout@v2
- uses: actions/setup-python@v1
with:
python-version: '3.x'
- name: Add Intel repository
run: |
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
rm 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
- name: Install Intel oneAPI compiler
run: |
sudo apt-get install ${{ env.APT_PACKAGES }}
source /opt/intel/oneapi/setvars.sh
printenv >> $GITHUB_ENV
- name: Install fpm
run: |
echo $PATH
pwd
uname -a
wget https://raw.githubusercontent.com/urbanjost/index/main/bootstrap/fpm.F90
mkdir -p /home/runner/.local/bin tmp
ulimit -c unlimited -d unlimited -f unlimited -m unlimited -s unlimited -t unlimited -v unlimited -x unlimited
ifort fpm.F90 -Itmp -module tmp -o /home/runner/.local/bin/fpm
ls -l
rm -fv *.mod tmp/*.mod
- name: Run Intel unit tests on Linux
run: |
printenv TZ
printenv FPM_COMPILER
printenv OMP_NUM_THREADS
ulimit -c unlimited -d unlimited -f unlimited -m unlimited -s unlimited -t unlimited -v unlimited -x unlimited
fpm test --profile release --compiler ifort
ls -l
env:
OMP_NUM_THREADS: 2,1