diff --git a/.github/actions/install-dpcpp/action.yml b/.github/actions/install-dpcpp/action.yml index dd07464258..fd9b4f57e2 100644 --- a/.github/actions/install-dpcpp/action.yml +++ b/.github/actions/install-dpcpp/action.yml @@ -19,7 +19,7 @@ runs: if: inputs.DPCPP_RELEASE == 'NIGHTLY' shell: bash run: | - sudo apt update && sudo apt install -y intel-opencl-icd ocl-icd-opencl-dev + sudo apt update && sudo apt install -y intel-opencl-icd ocl-icd-opencl-dev g++ dpkg -l | grep libhwloc15 > /dev/null || sudo apt install -y libhwloc15 export DPCPP_PATH=${{ inputs.DPCPP_PATH }} mkdir -p $DPCPP_PATH diff --git a/.github/workflows/intel_bmg_test.yml b/.github/workflows/intel_bmg_test.yml new file mode 100644 index 0000000000..42ec2492da --- /dev/null +++ b/.github/workflows/intel_bmg_test.yml @@ -0,0 +1,68 @@ +name: "SYCL Intel BMG Test" + +on: + push: + branches: [ "sycl-develop" ] + pull_request: + branches: [ "sycl-develop" ] + merge_group: + branches: [ "sycl-develop" ] + workflow_dispatch: + inputs: + DPCPP_VERSION: + description: "DPCPP version to use" + type: string + +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + run-tests: + strategy: + matrix: + # Disable the release check due to an issue with IGC versions 2.7 to 2.10.8. + # compiler: [ NIGHTLY, RELEASE ] + compiler: [ NIGHTLY ] + name: Run Intel BMG tests + runs-on: cp-b580-gpu + timeout-minutes: 30 + + steps: + - name: Checkout repository + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + # For a specific DPC++ nightly build define the repository variable DPCPP_VERSION + # for example using the tag: 'nightly-2024-04-22' + - name: Install DPC++ + uses: ./.github/actions/install-dpcpp + with: + DPCPP_RELEASE: ${{ matrix.compiler }} + DPCPP_VERSION: ${{ inputs.DPCPP_VERSION }} + - name: Setup virtual environment + shell: bash + run: | + . setvars.sh + # Persist environment variables to following steps + env >> $GITHUB_ENV + which $CXX + $CXX --version + sycl-ls + - name: Build + shell: bash + run: | + cmake -G Ninja \ + -DCUTLASS_ENABLE_SYCL=ON \ + -DDPCPP_SYCL_TARGET=intel_gpu_bmg_g21 + cmake --build . + + - name: Unit test + shell: bash + run: | + cmake --build . --target test_unit -j 24 + + - name: Examples + shell: bash + run: | + cmake --build . --target test_examples -j 24