- name: build
run: |
make -j 2
+
+
+ linux-debug-intel-oneapi:
+ # parallel debug build with Intel oneAPI including MPI and MKL
+ #
+ # Based on https://github.com/oneapi-src/oneapi-ci
+ # For a list of Intel packages see https://oneapi-src.github.io/oneapi-ci/#linux-apt
+
+ name: linux debug intel oneapi
+ runs-on: [ubuntu-18.04]
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: setup apt repo
+ run: |
+ # oneapi-ci/scripts/setup_apt_repo_linux.sh
+ 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 -o Dir::Etc::sourcelist="sources.list.d/oneAPI.list" -o APT::Get::List-Cleanup="0"
+ - name: collect versioned dependencies of apt packages
+ run : |
+ # oneapi-ci/scripts/apt_depends.sh
+ apt-cache depends intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic \
+ intel-oneapi-mpi-devel \
+ intel-oneapi-mkl-devel \
+ intel-oneapi-tbb-devel | tee dependencies.txt
+ - name: cache install
+ id: cache-install
+ uses: actions/cache@v2
+ with:
+ path: /opt/intel/oneapi
+ key: install-${{ hashFiles('**/dependencies.txt') }}
+ - name: install
+ if: steps.cache-install.outputs.cache-hit != 'true'
+ run: |
+ # oneapi-ci/scripts/install_linux_apt.sh
+ sudo apt-get install -y intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic \
+ intel-oneapi-mpi-devel \
+ intel-oneapi-mkl-devel \
+ intel-oneapi-tbb-devel
+ sudo apt-get clean
+ - name: info
+ run: |
+ source /opt/intel/oneapi/setvars.sh
+ mpiicpc -v
+ cmake --version
+ - name: configure
+ run: |
+ source /opt/intel/oneapi/setvars.sh
+ cmake -D CMAKE_BUILD_TYPE=Debug \
+ -D CMAKE_CXX_COMPILER=icpc \
+ -D DEAL_II_CXX_FLAGS='-Werror' \
+ -D DEAL_II_EARLY_DEPRECATIONS=ON \
+ -D DEAL_II_WITH_MPI=ON \
+ -D DEAL_II_WITH_LAPACK=ON \
+ -D DEAL_II_WITH_TBB=ON \
+ -D MPI_DIR=${I_MPI_ROOT} \
+ -D BLAS_DIR=${MKLROOT} \
+ -D LAPACK_DIR=${MKLROOT} \
+ -D TBB_DIR=${TBBROOT} \
+ .
+ - name: archive
+ uses: actions/upload-artifact@v1
+ with:
+ name: linux-intel-detailed.log
+ path: detailed.log
+ - name: build
+ run: |
+ source /opt/intel/oneapi/setvars.sh
+ make -j 2