mxp: Mixed precision extension #931
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: SYCL CI | |
on: | |
workflow_dispatch: | |
push: | |
branches: [ main, 'pr/*' ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
test-sycl: | |
runs-on: ubuntu-latest | |
container: intel/oneapi-basekit:2023.1.0-devel-ubuntu22.04 | |
env: | |
GTEST_VERSION: 1.12.1 | |
GTEST_ROOT: ${{ github.workspace }}/googletest | |
DEBIAN_FRONTEND: noninteractive | |
GTENSOR_TEST_EXCLUDE: test_fft test_reductions test_solver test_bandsolver | |
CMAKE_BUILD_PARALLEL_LEVEL: 8 | |
ONEAPI_DEVICE_SELECTOR: opencl:cpu | |
UMPIRE_ROOT: ${{ github.workspace }}/umpire | |
steps: | |
- uses: actions/checkout@v3 | |
- name: install dependencies | |
run: apt-get -y update && apt-get install -y --no-install-recommends level-zero-dev | |
- name: sycl-ls | |
run: | | |
which sycl-ls | |
sycl-ls | |
- name: setup compiler env | |
run: | | |
which icpx | |
echo "CXX=$(which icpx)" >> $GITHUB_ENV | |
- name: env check | |
run: | | |
env | grep oneapi | |
- name: install googletest | |
run: | | |
mkdir -p ${{ env.GTEST_ROOT }} | |
cd ${{ env.GTEST_ROOT }} | |
wget https://github.com/google/googletest/archive/release-${{ env.GTEST_VERSION }}.tar.gz | |
tar xzf release-${{ env.GTEST_VERSION }}.tar.gz | |
cmake -S googletest-release-${{ env.GTEST_VERSION }} -B build -DCMAKE_INSTALL_PREFIX=${{ env.GTEST_ROOT }} | |
cmake --build build -t install | |
env: | |
CXX: g++ | |
- name: cmake | |
run: cmake -S . -B build-sycl -DGTENSOR_DEVICE=sycl -DCMAKE_BUILD_TYPE=RelWithDebInfo -DGTENSOR_BUILD_EXAMPLES=ON -DGTEST_ROOT=${{ env.GTEST_ROOT }} -DGTENSOR_ENABLE_CLIB=ON -DGTENSOR_ENABLE_BLAS=ON -DGTENSOR_ENABLE_FFT=ON -DGTENSOR_ENABLE_SOLVER=ON -DGTENSOR_TEST_DEBUG=ON | |
- name: cmake build | |
run: cmake --build build-sycl -v | |
- name: cmake debug | |
run: cmake -S . -B build-sycl-debug -DGTENSOR_DEVICE=sycl -DCMAKE_BUILD_TYPE=Debug -DGTENSOR_BUILD_EXAMPLES=ON -DGTEST_ROOT=${{ env.GTEST_ROOT }} -DGTENSOR_ENABLE_CLIB=ON -DGTENSOR_ENABLE_BLAS=ON -DGTENSOR_ENABLE_FFT=ON -DGTENSOR_TEST_DEBUG=ON | |
- name: cmake debug build | |
run: cmake --build build-sycl-debug -v | |
- name: cmake cpu run tests | |
run: ./run-gtests.sh build-sycl | |
- name: cmake cpu run daxpy | |
run: ./daxpy | |
working-directory: ${{ github.workspace }}/build-sycl/examples | |
- name: cmake cpu run stencil1d | |
run: ./stencil1d | |
working-directory: ${{ github.workspace }}/build-sycl/examples | |
- name: cmake cpu run mult_table | |
run: ./mult_table | |
working-directory: ${{ github.workspace }}/build-sycl/examples | |
- name: GNU make setup gtensor subdir | |
run: mkdir -p external/gtensor && cp -R ../include external/gtensor/ | |
working-directory: ${{ github.workspace }}/examples | |
- name: GNU make build | |
run: make GTENSOR_DEVICE=sycl | |
working-directory: ${{ github.workspace }}/examples | |
- name: GNU make run daxpy | |
run: ./daxpy | |
working-directory: ${{ github.workspace }}/examples | |
- name: GNU make run stencil1d | |
run: ./stencil1d | |
working-directory: ${{ github.workspace }}/examples | |
- name: GNU make run mult_table | |
run: ./mult_table | |
working-directory: ${{ github.workspace }}/examples | |
- name: install umpire | |
run: | | |
mkdir -p ${{ env.UMPIRE_ROOT }} | |
cd ${{ env.UMPIRE_ROOT }} | |
git clone -b feature/oneapi-2023 --recursive https://github.com/bd4/Umpire.git src | |
cmake -S src -B build -DCMAKE_INSTALL_PREFIX=${{ env.UMPIRE_ROOT }}/install -DUMPIRE_ENABLE_SYCL=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo | |
cmake --build build -t install | |
- name: cmake umpire | |
run: cmake -S . -B build-sycl-umpire -DGTENSOR_DEVICE=sycl -DCMAKE_BUILD_TYPE=RelWithDebInfo -DGTENSOR_BUILD_EXAMPLES=ON -DGTENSOR_USE_THRUST=OFF -DGTEST_ROOT=${{ env.GTEST_ROOT }} -DGTENSOR_ENABLE_CLIB=ON -DGTENSOR_ENABLE_BLAS=ON -DGTENSOR_ENABLE_FFT=ON -DGTENSOR_ENABLE_SOLVER=ON | |
env: | |
CMAKE_PREFIX_PATH: ${{env.CMAKE_PREFIX_PATH}}:${{ env.UMPIRE_ROOT }}/install | |
- name: cmake umpire build | |
run: cmake --build build-sycl-umpire -v |