]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Add Intel oneAPI to github-actions.
authorMarc Fehling <mafehling.git@gmail.com>
Thu, 13 Jan 2022 11:18:10 +0000 (12:18 +0100)
committerMarc Fehling <mafehling.git@gmail.com>
Thu, 13 Jan 2022 11:58:31 +0000 (12:58 +0100)
PR: #12554 #13057 #13138

.github/workflows/linux.yml

index d1be33ae19ada35bbe86c00c1a1f20bdc676332d..19446b2d47ab20391afde8767f14338cee5e62b3 100644 (file)
@@ -150,3 +150,74 @@ jobs:
     - 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

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.