Skip to content

Add matrix_opt into oneMKL_SYCL backend (#39) #295

Add matrix_opt into oneMKL_SYCL backend (#39)

Add matrix_opt into oneMKL_SYCL backend (#39) #295

Workflow file for this run

name: "CI"
on:
push:
branches:
- main
pull_request:
jobs:
checks:
runs-on: 'ubuntu-latest'
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.12'
cache: 'pip'
- run: pip install -r requirements.txt
- name: Checks
uses: pre-commit/action@v3.0.0
gcc:
runs-on: 'ubuntu-latest'
strategy:
matrix:
cxx: [g++-14, g++-13, g++-12, g++-11]
name: ${{ matrix.cxx }}
env:
CXX: ${{ matrix.cxx }}
steps:
- uses: actions/checkout@v4
- name: CMake
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt-get update -y
sudo apt-get install g++-11 g++-12 g++-13 g++-14
cmake -B build
- name: Build
run: make -C build -j `nproc`
- name: Test
run: ./build/test/gtest/spblas-tests
intel-llvm:
runs-on: 'ubuntu-latest'
strategy:
matrix:
mkl: [OFF, ON]
name: intel-llvm${{ matrix.mkl == 'ON' && '-mkl' || '' }}
env:
CXX: icpx
steps:
- uses: actions/checkout@v4
- name: Set up Intel
run: |
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \
| gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update -y
sudo apt-get install -y intel-oneapi-compiler-dpcpp-cpp intel-oneapi-mkl-devel
- name: CMake
run: |
source /opt/intel/oneapi/setvars.sh
cmake -B build -DENABLE_ONEMKL_SYCL=${{ matrix.mkl }}
- name: Build
run: |
source /opt/intel/oneapi/setvars.sh
make -C build -j `nproc`
- name: Test
run: |
source /opt/intel/oneapi/setvars.sh
./build/test/gtest/spblas-tests
macos:
runs-on: 'macos-latest'
strategy:
matrix:
armpl: [OFF, ON]
name: macos${{ matrix.armpl == 'ON' && '-armpl' || '' }}
steps:
- uses: actions/checkout@v4
- name: Set up ArmPL
run: |
brew install --cask arm-performance-libraries
ARMPL_PATH=$(echo /opt/arm/armpl*)
echo "ARMPL_DIR=$ARMPL_PATH" >> $GITHUB_ENV
- name: CMake
run: |
cmake -B build -DENABLE_ARMPL=${{ matrix.armpl }}
- name: Build
run: |
make -C build -j 3
- name: Test
run: |
./build/test/gtest/spblas-tests
aocl:
runs-on: 'cpu_amd'
steps:
- uses: actions/checkout@v4
- name: Add AOCL-Sparse to Environment
run: |
source /apps/spacks/current/share/spack/setup-env.sh
echo "AOCLSPARSE_DIR=$(spack location -i aocl-sparse)" >> $GITHUB_ENV
echo "AOCLUTILS_DIR=$(spack location -i aocl-utils)" >> $GITHUB_ENV
- name: CMake
run: |
source /apps/spacks/current/share/spack/setup-env.sh
spack load /ia2365b
cmake -B build -DENABLE_AOCLSPARSE=ON
- name: Build
run: |
make -C build -j `nproc`
- name: Test
run: |
./build/test/gtest/spblas-tests
rocsparse:
runs-on: 'gpu_amd'
steps:
- uses: actions/checkout@v4
- name: CMake
shell: bash -l {0}
run: |
module load cmake
cmake -B build -DENABLE_ROCSPARSE=ON -DCMAKE_PREFIX_PATH=/opt/rocm
- name: Build
shell: bash -l {0}
run: |
make -C build -j `nproc`
- name: Test
shell: bash -l {0}
run: |
./build/test/gtest/spblas-tests