|
33 | 33 | build: cmake-inline
|
34 | 34 | toolchain:
|
35 | 35 | - {compiler: gcc, version: 10}
|
| 36 | + APT_PACKAGES: >- |
| 37 | + intel-oneapi-mkl-2024.1.0 |
| 38 | + intel-oneapi-mkl-devel-2024.1.0 |
36 | 39 | exclude:
|
37 | 40 | - os: macos-12
|
38 | 41 | toolchain: {compiler: intel, version: '2024.1'}
|
@@ -67,15 +70,16 @@ jobs:
|
67 | 70 | -DCMAKE_BUILD_TYPE=Release
|
68 | 71 | -DCMAKE_MAXIMUM_RANK:String=4
|
69 | 72 | -DCMAKE_INSTALL_PREFIX=$PWD/_dist
|
| 73 | + -DFIND_BLAS:STRING=FALSE |
70 | 74 | -S . -B ${{ env.BUILD_DIR }}
|
71 | 75 |
|
72 | 76 | - name: Build and compile
|
73 | 77 | if: ${{ contains(matrix.build, 'cmake') }}
|
74 | 78 | run: cmake --build ${{ env.BUILD_DIR }} --parallel
|
75 | 79 |
|
76 | 80 | - name: catch build fail
|
77 |
| - run: cmake --build ${{ env.BUILD_DIR }} --verbose --parallel 1 |
78 | 81 | if: ${{ failure() && contains(matrix.build, 'cmake') }}
|
| 82 | + run: cmake --build ${{ env.BUILD_DIR }} --verbose --parallel 1 |
79 | 83 |
|
80 | 84 | - name: test
|
81 | 85 | if: ${{ contains(matrix.build, 'cmake') }}
|
|
89 | 93 | - name: Install project
|
90 | 94 | if: ${{ contains(matrix.build, 'cmake') }}
|
91 | 95 | run: cmake --install ${{ env.BUILD_DIR }}
|
| 96 | + |
| 97 | + # Build and test with external BLAS and LAPACK (MKL on Ubuntu with Intel compilers) |
| 98 | + - name: Configure with CMake and MKL |
| 99 | + if: ${{ contains(matrix.build, 'cmake') && matrix.os == 'ubuntu-latest' && matrix.toolchain.compiler == 'intel' }} |
| 100 | + run: >- |
| 101 | + cmake -Wdev -G Ninja |
| 102 | + -DCMAKE_BUILD_TYPE=Release |
| 103 | + -DCMAKE_MAXIMUM_RANK:String=4 |
| 104 | + -DCMAKE_INSTALL_PREFIX=$PWD/_dist |
| 105 | + -DFIND_BLAS:STRING=TRUE |
| 106 | + -DBLA_VENDOR=Intel10_64lp |
| 107 | + -S . -B build_mkl |
| 108 | + |
| 109 | + - name: Build and compile with MKL |
| 110 | + if: ${{ contains(matrix.build, 'cmake') && matrix.os == 'ubuntu-latest' && matrix.toolchain.compiler == 'intel' }} |
| 111 | + run: cmake --build build_mkl --parallel |
| 112 | + |
| 113 | + - name: catch build fail with MKL |
| 114 | + if: ${{ failure() && contains(matrix.build, 'cmake') && matrix.os == 'ubuntu-latest' && matrix.toolchain.compiler == 'intel' }} |
| 115 | + run: cmake --build build_mkl --verbose --parallel 1 |
| 116 | + |
| 117 | + - name: test with MKL |
| 118 | + if: ${{ contains(matrix.build, 'cmake') && matrix.os == 'ubuntu-latest' && matrix.toolchain.compiler == 'intel' }} |
| 119 | + run: >- |
| 120 | + ctest |
| 121 | + --test-dir build_mkl |
| 122 | + --parallel |
| 123 | + --output-on-failure |
| 124 | + --no-tests=error |
| 125 | + |
| 126 | + - name: Install project with MKL |
| 127 | + if: ${{ contains(matrix.build, 'cmake') && matrix.os == 'ubuntu-latest' && matrix.toolchain.compiler == 'intel' }} |
| 128 | + run: cmake --install build_mkl |
0 commit comments