Skip to content

Improve Intel cmake compiler flags #585

Improve Intel cmake compiler flags

Improve Intel cmake compiler flags #585

Workflow file for this run

name: CI Tests
on: [push, pull_request]
jobs:
GNU:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04]
compiler: [gfortran-9]
env:
FC: ${{ matrix.compiler }}
name: ${{ matrix.os }} / ${{ matrix.compiler }}
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 1
- uses: actions/setup-python@v1
with:
python-version: '3.7'
- name: Install Cmake
run: pip3 install cmake
- name: Install python dependencies
run: pip3 install numpy pytest
- name: Install blas, lapack and other dependencies
run: sudo apt-get install libblas-dev liblapack-dev doxygen
- name: Install Zofu Test Framework
run: |
mkdir -p external && cd external
git clone https://github.com/acroucher/zofu.git
mkdir zofu/build && cd zofu/build
cmake \
-DCMAKE_BUILD_TYPE=release \
-DCMAKE_INSTALL_PREFIX=/home/runner/work/greenX/greenX/external/zofu/install \
-DZOFU_FORTRAN_MODULE_INSTALL_DIR:PATH=include \
..
make -j 4
make install
- name: Build
run: |
mkdir -p build
cd build
cmake -DENABLE_UNITTESTS=ON -DZOFU_PATH=/home/runner/work/greenX/greenX/external/zofu/install ../
make -j$(nproc) VERBOSE=1
- name: Run Tests
run: |
cd python && pip install -e . && cd ../
cd build
ctest -j1 --output-on-failure
# The build system exports GX_BUILD_DIR, but I do not know how to
# propagate env vars between steps in Github Actions
env:
GX_BUILD_DIR: "/home/runner/work/greenX/greenX/build"
intel-oneapi:
runs-on: ubuntu-latest
env:
CC: icx
CXX: icpx
FC: ifort
steps:
- name: Intel Apt repository
timeout-minutes: 1
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
timeout-minutes: 5
run: sudo apt-get install intel-oneapi-compiler-fortran intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-mpi intel-oneapi-mpi-devel intel-oneapi-mkl ninja-build
- name: checkout project code
uses: actions/checkout@v2
- name: Setup Intel oneAPI environment
run: |
source /opt/intel/oneapi/setvars.sh
printenv >> $GITHUB_ENV
- uses: actions/setup-python@v1
with:
python-version: '3.7'
- name: Install Cmake
run: pip3 install cmake
- name: Install python dependencies
run: pip3 install numpy pytest
- name: Install Zofu Test Framework
run: |
mkdir -p external && cd external
git clone https://github.com/acroucher/zofu.git
mkdir zofu/build && cd zofu/build
cmake \
-DCMAKE_BUILD_TYPE=release \
-DCMAKE_INSTALL_PREFIX=/home/runner/work/greenX/greenX/external/zofu/install \
-DZOFU_FORTRAN_MODULE_INSTALL_DIR:PATH=include \
..
make -j 4
make install
- name: Build
run: |
mkdir -p build
cd build
cmake -DENABLE_UNITTESTS=ON -DZOFU_PATH=/home/runner/work/greenX/greenX/external/zofu/install ../
make -j$(nproc) VERBOSE=1
- name: Run Tests
run: |
cd python && pip install -e . && cd ../
cd build
ctest -j1 --output-on-failure
# The build system exports GX_BUILD_DIR, but I do not know how to
# propagate env vars between steps in Github Actions
env:
GX_BUILD_DIR: "/home/runner/work/greenX/greenX/build"