Skip to content

workaround mem_info compile error on MacOS #867

workaround mem_info compile error on MacOS

workaround mem_info compile error on MacOS #867

Workflow file for this run

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