Skip to content

Commit a4bb0a5

Browse files
committed
Add compilers to GitHub actions matrix. Update Ubuntu versions
1 parent 5a11efe commit a4bb0a5

1 file changed

Lines changed: 27 additions & 1 deletion

File tree

.github/workflows/unix_cpu_build.yml

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,16 @@ jobs:
2020
matrix:
2121
blas_backend: [Atlas, MKL, OpenBLAS]
2222
os: [ubuntu-18.04, ubuntu-20.04, macos-latest]
23+
compiler: [gcc, clang, icx]
2324
exclude:
2425
- os: macos-latest
2526
blas_backend: Atlas
2627
- os: macos-latest
2728
blas_backend: MKL
29+
- blas_backend: Atlas
30+
compiler: icx
31+
- blas_backend: OpenBLAS
32+
compiler: icx
2833
steps:
2934
- name: Checkout Repository
3035
uses: actions/checkout@master
@@ -43,6 +48,7 @@ jobs:
4348
if: matrix.os != 'macos-latest'
4449
env:
4550
OS_NAME: ${{ matrix.os }}
51+
CC: ${{ matrix.compiler }}
4652
run: |
4753
cmake_suffix=$(if [ $OS_NAME == 'macos-latest' ]; then echo "Darwin-x86_64"; else echo "Linux-x86_64"; fi)
4854
cmake_url=$(echo "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VER}/cmake-${CMAKE_VER}-${cmake_suffix}.tar.gz")
@@ -54,6 +60,17 @@ jobs:
5460
cmake_osx_dir=$(echo "${cmake_install_dir}/CMake.app/Contents/bin")
5561
cmake_dir=$(if [ $OS_NAME == 'macos-latest' ]; then echo "${cmake_osx_dir}"; else echo "${cmake_lnx_dir}"; fi)
5662
echo "CMAKE_PROGRAM=$(pwd)/${cmake_dir}/cmake" >> $GITHUB_ENV
63+
case "$CC" in
64+
'gcc')
65+
echo "CXX=g++" >> $GITHUB_ENV
66+
;;
67+
'clang')
68+
echo "CXX=clang++" >> $GITHUB_ENV
69+
;;
70+
'icx')
71+
echo "CXX=icpx" >> $GITHUB_ENV
72+
;;
73+
esac
5774
5875
- name: Install Dependencies for Macos
5976
if: matrix.os == 'macos-latest'
@@ -62,7 +79,7 @@ jobs:
6279
echo "CMAKE_PROGRAM=cmake" >> $GITHUB_ENV
6380
6481
- name: Install Common Dependencies for Ubuntu
65-
if: matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-18.04'
82+
if: matrix.os == 'ubuntu-18.04' || matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-22.04'
6683
run: |
6784
sudo add-apt-repository ppa:mhier/libboost-latest
6885
sudo apt-get -qq update
@@ -78,12 +95,15 @@ jobs:
7895

7996
- name: Install MKL for Ubuntu
8097
if: matrix.os != 'macos-latest' && matrix.blas_backend == 'MKL'
98+
env:
99+
CC: ${{ matrix.compiler }}
81100
run: |
82101
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
83102
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
84103
sudo sh -c 'echo deb https://apt.repos.intel.com/oneapi all main > /etc/apt/sources.list.d/oneAPI.list'
85104
sudo apt-get -qq update
86105
sudo apt-get install -y intel-oneapi-mkl-devel
106+
if [ "$CC" == 'icx' ]; then sudo apt-get install -y intel-oneapi-compiler-dpcpp-cpp; fi
87107
echo "MKLROOT=/opt/intel/oneapi/mkl/latest" >> ${GITHUB_ENV}
88108
89109
- name: Install OpenBLAS for Ubuntu
@@ -94,6 +114,8 @@ jobs:
94114
env:
95115
USE_MKL: ${{ matrix.blas_backend == 'MKL' }}
96116
BLAS_BACKEND: ${{ matrix.blas_backend }}
117+
CC: ${{ matrix.compiler }}
118+
OS_NAME: ${{ matrix.os }}
97119
run: |
98120
ref=$(echo ${GITHUB_REF} | awk '/refs\/pull\/[0-9]+\/merge/{print $0}')
99121
prnum=$(echo $ref | awk '{split($0, a, "/"); print a[3]}')
@@ -103,6 +125,7 @@ jobs:
103125
backend=$(if [ "$USE_MKL" == 1 ]; then echo "Intel-MKL"; else echo "FFTW/LAPACK/BLAS"; fi)
104126
buildname="$buildname-cpu-$BLAS_BACKEND"
105127
cmake_rpath=$(if [ $OS_NAME == 'macos-latest' ]; then echo "-DCMAKE_INSTALL_RPATH=/opt/arrayfire/lib"; fi)
128+
if [ "$CC" == 'icx' ]; then source /opt/intel/oneapi/setvars.sh intel64; fi
106129
mkdir build && cd build && unset VCPKG_ROOT
107130
${CMAKE_PROGRAM} -G Ninja \
108131
-DCMAKE_MAKE_PROGRAM:FILEPATH=${GITHUB_WORKSPACE}/ninja \
@@ -115,6 +138,9 @@ jobs:
115138
echo "CTEST_DASHBOARD=${dashboard}" >> $GITHUB_ENV
116139
117140
- name: Build and Test
141+
env:
142+
CC: ${{ matrix.compiler }}
118143
run: |
119144
cd ${GITHUB_WORKSPACE}/build
145+
if [ "$CC" == 'icx' ]; then source /opt/intel/oneapi/setvars.sh intel64; fi
120146
ctest -D Experimental --track ${CTEST_DASHBOARD} -T Test -T Submit -R cpu -j2

0 commit comments

Comments
 (0)