Skip to content

use thread library instead of sequential mkl (#15) #53

use thread library instead of sequential mkl (#15)

use thread library instead of sequential mkl (#15) #53

Workflow file for this run

name: C/C++ CI
on:
workflow_dispatch:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build-and-test:
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
strategy:
matrix:
config:
- {
name: "ubuntu-20.04 (lapack)",
os: ubuntu-20.04,
cc: "gcc",
cxx: "g++",
use_mkl: "OFF",
use_tbb: "OFF"
}
- {
name: "ubuntu-20.04 (mkl)",
os: ubuntu-20.04,
cc: "gcc",
cxx: "g++",
use_mkl: "ON",
use_tbb: "ON"
}
- {
name: "macos-11",
os: macos-11,
cc: "clang",
cxx: "clang++",
use_mkl: "OFF",
use_tbb: "OFF"
}
steps:
- uses: actions/checkout@v2
- name: install thirdparties (ubuntu-20.04)
if: startsWith(matrix.config.name, 'ubuntu-20.04 (lapack)')
run: |
sudo apt-get update
sudo apt install -y libgl1-mesa-dev libglu1-mesa-dev
sudo apt install -y libblas-dev liblapacke-dev
- name: install thirdparties (ubuntu-20.04)
if: startsWith(matrix.config.name, 'ubuntu-20.04 (mkl)')
run: |
sudo apt-get update
sudo apt install -y libgl1-mesa-dev libglu1-mesa-dev
sudo DEBIAN_FRONTEND=noninteractive apt install -y intel-mkl
- name: install thirdparties (macos)
if: startsWith(matrix.config.name, 'macos')
run: |
cmake --version
- name: configure
run: |
cmake -S . -B CIBuild -DCMAKE_INSTALL_PREFIX=CIInstall \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=ON \
-DVEGA_USE_TBB=${{ matrix.config.use_tbb }} \
-DVEGA_USE_INTEL_MKL=${{ matrix.config.use_mkl }}
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
- name: make
run: cmake --build CIBuild -j2
- name: make test
run: |
cd CIBuild
ctest -V
- name: make install
run: |
cmake --build CIBuild --target install --config Release