From 8f1b5cdd41f9860563ee4b01ca50091d7c061c17 Mon Sep 17 00:00:00 2001 From: KornevNikita Date: Thu, 27 Jun 2024 04:12:04 -0700 Subject: [PATCH 1/5] [CI][SYCL-CTS] Run nightly SYCL-CTS on L0 gen12 --- .github/workflows/sycl-linux-run-tests.yml | 4 ++++ .github/workflows/sycl-nightly.yml | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/.github/workflows/sycl-linux-run-tests.yml b/.github/workflows/sycl-linux-run-tests.yml index 2f8e62eabd701..51262643256ba 100644 --- a/.github/workflows/sycl-linux-run-tests.yml +++ b/.github/workflows/sycl-linux-run-tests.yml @@ -100,11 +100,15 @@ on: - '-u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN' - '-u 1001 --device=/dev/dri --device=/dev/kfd --privileged --cap-add SYS_ADMIN' target_devices: + description: | + For SYCL-CTS use "level_zero:gpu" insted of "ext_oneapi_level_zero:gpu". + ONEAPI_DEVICE_SELECTOR doesn't support the second one. type: choice options: - 'opencl:cpu' - 'opencl:gpu' - 'opencl:fpga' + - 'level_zero:gpu' - 'ext_oneapi_level_zero:gpu' - 'ext_oneapi_hip:gpu' tests_selector: diff --git a/.github/workflows/sycl-nightly.yml b/.github/workflows/sycl-nightly.yml index fc0b90be7990a..e7bbc82284f34 100644 --- a/.github/workflows/sycl-nightly.yml +++ b/.github/workflows/sycl-nightly.yml @@ -80,6 +80,14 @@ jobs: image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN target_devices: opencl:cpu tests_selector: cts + + - name: SYCL-CTS on L0 gen12 + runner: '["Linux", "gen12"]' + image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest + image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN + target_devices: level_zero:gpu + tests_selector: cts + uses: ./.github/workflows/sycl-linux-run-tests.yml with: name: ${{ matrix.name }} From 37bddcaececb1be96bddf1977e2de66c4eb9a4ca Mon Sep 17 00:00:00 2001 From: KornevNikita Date: Thu, 27 Jun 2024 04:17:03 -0700 Subject: [PATCH 2/5] avoid running other steps --- .github/workflows/sycl-nightly.yml | 316 ++++++++++++++--------------- 1 file changed, 158 insertions(+), 158 deletions(-) diff --git a/.github/workflows/sycl-nightly.yml b/.github/workflows/sycl-nightly.yml index e7bbc82284f34..70a8d51eb0353 100644 --- a/.github/workflows/sycl-nightly.yml +++ b/.github/workflows/sycl-nightly.yml @@ -30,56 +30,56 @@ jobs: fail-fast: false matrix: include: - - name: AMD/HIP - runner: '["Linux", "amdgpu"]' - image: ghcr.io/intel/llvm/ubuntu2204_build:latest - image_options: -u 1001 --device=/dev/dri --device=/dev/kfd - target_devices: ext_oneapi_hip:gpu - tests_selector: e2e - - - name: Intel L0 GPU - runner: '["Linux", "gen12"]' - image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest - image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN - target_devices: ext_oneapi_level_zero:gpu - reset_gpu: true - tests_selector: e2e - - - name: Intel OCL GPU - runner: '["Linux", "gen12"]' - image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest - image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN - target_devices: opencl:gpu - reset_gpu: true - tests_selector: e2e - - - name: OCL CPU (AMD) - runner: '["Linux", "amdgpu"]' - image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest - image_options: -u 1001 - target_devices: opencl:cpu - tests_selector: e2e - - - name: OCL CPU (Intel/GEN12) - runner: '["Linux", "gen12"]' - image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest - image_options: -u 1001 --privileged --cap-add SYS_ADMIN - target_devices: opencl:cpu - tests_selector: e2e - - - name: OCL CPU (Intel/Arc) - runner: '["Linux", "arc"]' - image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest - image_options: -u 1001 - target_devices: opencl:cpu - tests_selector: e2e - - - name: SYCL-CTS on OCL CPU - runner: '["Linux", "gen12"]' - image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest - image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN - target_devices: opencl:cpu - tests_selector: cts + # - name: AMD/HIP + # runner: '["Linux", "amdgpu"]' + # image: ghcr.io/intel/llvm/ubuntu2204_build:latest + # image_options: -u 1001 --device=/dev/dri --device=/dev/kfd + # target_devices: ext_oneapi_hip:gpu + # tests_selector: e2e + + # - name: Intel L0 GPU + # runner: '["Linux", "gen12"]' + # image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest + # image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN + # target_devices: ext_oneapi_level_zero:gpu + # reset_gpu: true + # tests_selector: e2e + + # - name: Intel OCL GPU + # runner: '["Linux", "gen12"]' + # image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest + # image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN + # target_devices: opencl:gpu + # reset_gpu: true + # tests_selector: e2e + + # - name: OCL CPU (AMD) + # runner: '["Linux", "amdgpu"]' + # image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest + # image_options: -u 1001 + # target_devices: opencl:cpu + # tests_selector: e2e + + # - name: OCL CPU (Intel/GEN12) + # runner: '["Linux", "gen12"]' + # image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest + # image_options: -u 1001 --privileged --cap-add SYS_ADMIN + # target_devices: opencl:cpu + # tests_selector: e2e + + # - name: OCL CPU (Intel/Arc) + # runner: '["Linux", "arc"]' + # image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest + # image_options: -u 1001 + # target_devices: opencl:cpu + # tests_selector: e2e + + # - name: SYCL-CTS on OCL CPU + # runner: '["Linux", "gen12"]' + # image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest + # image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN + # target_devices: opencl:cpu + # tests_selector: cts - name: SYCL-CTS on L0 gen12 runner: '["Linux", "gen12"]' @@ -103,111 +103,111 @@ jobs: sycl_toolchain_archive: ${{ needs.ubuntu2204_build.outputs.artifact_archive_name }} sycl_toolchain_decompress_command: ${{ needs.ubuntu2204_build.outputs.artifact_decompress_command }} - build-win: - uses: ./.github/workflows/sycl-windows-build.yml - if: github.repository == 'intel/llvm' - with: - retention-days: 90 - # We upload both Linux/Windows build via Github's "Releases" - # functionality, make sure Linux/Windows names follow the same pattern. - artifact_archive_name: sycl_windows.tar.gz - - e2e-win: - needs: build-win - # Continue if build was successful. - if: | - always() - && !cancelled() - && needs.build.outputs.build_conclusion == 'success' - uses: ./.github/workflows/sycl-windows-run-tests.yml - with: - name: Intel GEN12 Graphics with Level Zero - runner: '["Windows","gen12"]' - sycl_toolchain_archive: ${{ needs.build-win.outputs.artifact_archive_name }} - - nightly_build_upload: - name: Nightly Build Upload - if: ${{ github.ref_name == 'sycl' }} - needs: [ubuntu2204_build, build-win] - runs-on: ubuntu-latest - permissions: - contents: write - steps: - - uses: actions/download-artifact@v4 - with: - name: sycl_linux_default - - uses: actions/download-artifact@v4 - with: - name: sycl_windows_default - - name: Compute tag - id: tag - run: | - if [ "${{ github.event_name == 'schedule' }}" == "true" ]; then - echo "TAG=$(date +'%Y-%m-%d')" >> "$GITHUB_OUTPUT" - else - # TODO: Use date of the commit? - echo "TAG=$(date +'%Y-%m-%d')-${GITHUB_SHA::7}" >> "$GITHUB_OUTPUT" - fi - - name: Upload binaries - uses: softprops/action-gh-release@69320dbe05506a9a39fc8ae11030b214ec2d1f87 - with: - files: | - sycl_linux.tar.gz - sycl_windows.tar.gz - tag_name: nightly-${{ steps.tag.outputs.TAG }} - name: DPC++ daily ${{ steps.tag.outputs.TAG }} - prerelease: true - body: "Daily build ${{ steps.tag.outputs.TAG }}" - target_commitish: ${{ github.sha }} - - ubuntu2204_docker_build_push: - if: github.repository == 'intel/llvm' - runs-on: [Linux, build] - permissions: - packages: write - needs: ubuntu2204_build - steps: - - uses: actions/checkout@v4 - - uses: actions/download-artifact@v4 - with: - name: sycl_linux_default - path: devops/ - - name: Build and Push Container (with drivers) - uses: ./devops/actions/build_container - with: - push: ${{ github.ref_name == 'sycl' }} - file: ubuntu2204_preinstalled - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - build-args: | - base_image=ghcr.io/intel/llvm/ubuntu2204_intel_drivers - base_tag=latest - tags: | - ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:${{ github.sha }} - ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:latest - - name: Build and Push Container (no drivers) - uses: ./devops/actions/build_container - with: - push: ${{ github.ref_name == 'sycl' }} - file: ubuntu2204_preinstalled - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - build-args: | - base_image=ghcr.io/intel/llvm/ubuntu2204_base - base_tag=latest - tags: | - ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:no-drivers-${{ github.sha }} - ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:no-drivers - - name: Build and Push Container (Build image) - uses: ./devops/actions/build_container - with: - push: ${{ github.ref_name == 'sycl' }} - file: ubuntu2204_preinstalled - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - build-args: | - base_image=ghcr.io/intel/llvm/ubuntu2204_build - base_tag=latest - tags: | - ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:build-${{ github.sha }} - ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:build + # build-win: + # uses: ./.github/workflows/sycl-windows-build.yml + # if: github.repository == 'intel/llvm' + # with: + # retention-days: 90 + # # We upload both Linux/Windows build via Github's "Releases" + # # functionality, make sure Linux/Windows names follow the same pattern. + # artifact_archive_name: sycl_windows.tar.gz + + # e2e-win: + # needs: build-win + # # Continue if build was successful. + # if: | + # always() + # && !cancelled() + # && needs.build.outputs.build_conclusion == 'success' + # uses: ./.github/workflows/sycl-windows-run-tests.yml + # with: + # name: Intel GEN12 Graphics with Level Zero + # runner: '["Windows","gen12"]' + # sycl_toolchain_archive: ${{ needs.build-win.outputs.artifact_archive_name }} + + # nightly_build_upload: + # name: Nightly Build Upload + # if: ${{ github.ref_name == 'sycl' }} + # needs: [ubuntu2204_build, build-win] + # runs-on: ubuntu-latest + # permissions: + # contents: write + # steps: + # - uses: actions/download-artifact@v4 + # with: + # name: sycl_linux_default + # - uses: actions/download-artifact@v4 + # with: + # name: sycl_windows_default + # - name: Compute tag + # id: tag + # run: | + # if [ "${{ github.event_name == 'schedule' }}" == "true" ]; then + # echo "TAG=$(date +'%Y-%m-%d')" >> "$GITHUB_OUTPUT" + # else + # # TODO: Use date of the commit? + # echo "TAG=$(date +'%Y-%m-%d')-${GITHUB_SHA::7}" >> "$GITHUB_OUTPUT" + # fi + # - name: Upload binaries + # uses: softprops/action-gh-release@69320dbe05506a9a39fc8ae11030b214ec2d1f87 + # with: + # files: | + # sycl_linux.tar.gz + # sycl_windows.tar.gz + # tag_name: nightly-${{ steps.tag.outputs.TAG }} + # name: DPC++ daily ${{ steps.tag.outputs.TAG }} + # prerelease: true + # body: "Daily build ${{ steps.tag.outputs.TAG }}" + # target_commitish: ${{ github.sha }} + + # ubuntu2204_docker_build_push: + # if: github.repository == 'intel/llvm' + # runs-on: [Linux, build] + # permissions: + # packages: write + # needs: ubuntu2204_build + # steps: + # - uses: actions/checkout@v4 + # - uses: actions/download-artifact@v4 + # with: + # name: sycl_linux_default + # path: devops/ + # - name: Build and Push Container (with drivers) + # uses: ./devops/actions/build_container + # with: + # push: ${{ github.ref_name == 'sycl' }} + # file: ubuntu2204_preinstalled + # username: ${{ github.repository_owner }} + # password: ${{ secrets.GITHUB_TOKEN }} + # build-args: | + # base_image=ghcr.io/intel/llvm/ubuntu2204_intel_drivers + # base_tag=latest + # tags: | + # ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:${{ github.sha }} + # ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:latest + # - name: Build and Push Container (no drivers) + # uses: ./devops/actions/build_container + # with: + # push: ${{ github.ref_name == 'sycl' }} + # file: ubuntu2204_preinstalled + # username: ${{ github.repository_owner }} + # password: ${{ secrets.GITHUB_TOKEN }} + # build-args: | + # base_image=ghcr.io/intel/llvm/ubuntu2204_base + # base_tag=latest + # tags: | + # ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:no-drivers-${{ github.sha }} + # ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:no-drivers + # - name: Build and Push Container (Build image) + # uses: ./devops/actions/build_container + # with: + # push: ${{ github.ref_name == 'sycl' }} + # file: ubuntu2204_preinstalled + # username: ${{ github.repository_owner }} + # password: ${{ secrets.GITHUB_TOKEN }} + # build-args: | + # base_image=ghcr.io/intel/llvm/ubuntu2204_build + # base_tag=latest + # tags: | + # ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:build-${{ github.sha }} + # ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:build From eb3d62b1e371dec3f57df70db7d46a0b0666b0bc Mon Sep 17 00:00:00 2001 From: KornevNikita Date: Thu, 27 Jun 2024 08:11:07 -0700 Subject: [PATCH 3/5] Revert "avoid running other steps" This reverts commit 37bddcaececb1be96bddf1977e2de66c4eb9a4ca. --- .github/workflows/sycl-nightly.yml | 316 ++++++++++++++--------------- 1 file changed, 158 insertions(+), 158 deletions(-) diff --git a/.github/workflows/sycl-nightly.yml b/.github/workflows/sycl-nightly.yml index 70a8d51eb0353..e7bbc82284f34 100644 --- a/.github/workflows/sycl-nightly.yml +++ b/.github/workflows/sycl-nightly.yml @@ -30,56 +30,56 @@ jobs: fail-fast: false matrix: include: - # - name: AMD/HIP - # runner: '["Linux", "amdgpu"]' - # image: ghcr.io/intel/llvm/ubuntu2204_build:latest - # image_options: -u 1001 --device=/dev/dri --device=/dev/kfd - # target_devices: ext_oneapi_hip:gpu - # tests_selector: e2e - - # - name: Intel L0 GPU - # runner: '["Linux", "gen12"]' - # image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest - # image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN - # target_devices: ext_oneapi_level_zero:gpu - # reset_gpu: true - # tests_selector: e2e - - # - name: Intel OCL GPU - # runner: '["Linux", "gen12"]' - # image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest - # image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN - # target_devices: opencl:gpu - # reset_gpu: true - # tests_selector: e2e - - # - name: OCL CPU (AMD) - # runner: '["Linux", "amdgpu"]' - # image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest - # image_options: -u 1001 - # target_devices: opencl:cpu - # tests_selector: e2e - - # - name: OCL CPU (Intel/GEN12) - # runner: '["Linux", "gen12"]' - # image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest - # image_options: -u 1001 --privileged --cap-add SYS_ADMIN - # target_devices: opencl:cpu - # tests_selector: e2e - - # - name: OCL CPU (Intel/Arc) - # runner: '["Linux", "arc"]' - # image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest - # image_options: -u 1001 - # target_devices: opencl:cpu - # tests_selector: e2e - - # - name: SYCL-CTS on OCL CPU - # runner: '["Linux", "gen12"]' - # image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest - # image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN - # target_devices: opencl:cpu - # tests_selector: cts + - name: AMD/HIP + runner: '["Linux", "amdgpu"]' + image: ghcr.io/intel/llvm/ubuntu2204_build:latest + image_options: -u 1001 --device=/dev/dri --device=/dev/kfd + target_devices: ext_oneapi_hip:gpu + tests_selector: e2e + + - name: Intel L0 GPU + runner: '["Linux", "gen12"]' + image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest + image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN + target_devices: ext_oneapi_level_zero:gpu + reset_gpu: true + tests_selector: e2e + + - name: Intel OCL GPU + runner: '["Linux", "gen12"]' + image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest + image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN + target_devices: opencl:gpu + reset_gpu: true + tests_selector: e2e + + - name: OCL CPU (AMD) + runner: '["Linux", "amdgpu"]' + image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest + image_options: -u 1001 + target_devices: opencl:cpu + tests_selector: e2e + + - name: OCL CPU (Intel/GEN12) + runner: '["Linux", "gen12"]' + image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest + image_options: -u 1001 --privileged --cap-add SYS_ADMIN + target_devices: opencl:cpu + tests_selector: e2e + + - name: OCL CPU (Intel/Arc) + runner: '["Linux", "arc"]' + image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest + image_options: -u 1001 + target_devices: opencl:cpu + tests_selector: e2e + + - name: SYCL-CTS on OCL CPU + runner: '["Linux", "gen12"]' + image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest + image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN + target_devices: opencl:cpu + tests_selector: cts - name: SYCL-CTS on L0 gen12 runner: '["Linux", "gen12"]' @@ -103,111 +103,111 @@ jobs: sycl_toolchain_archive: ${{ needs.ubuntu2204_build.outputs.artifact_archive_name }} sycl_toolchain_decompress_command: ${{ needs.ubuntu2204_build.outputs.artifact_decompress_command }} - # build-win: - # uses: ./.github/workflows/sycl-windows-build.yml - # if: github.repository == 'intel/llvm' - # with: - # retention-days: 90 - # # We upload both Linux/Windows build via Github's "Releases" - # # functionality, make sure Linux/Windows names follow the same pattern. - # artifact_archive_name: sycl_windows.tar.gz - - # e2e-win: - # needs: build-win - # # Continue if build was successful. - # if: | - # always() - # && !cancelled() - # && needs.build.outputs.build_conclusion == 'success' - # uses: ./.github/workflows/sycl-windows-run-tests.yml - # with: - # name: Intel GEN12 Graphics with Level Zero - # runner: '["Windows","gen12"]' - # sycl_toolchain_archive: ${{ needs.build-win.outputs.artifact_archive_name }} - - # nightly_build_upload: - # name: Nightly Build Upload - # if: ${{ github.ref_name == 'sycl' }} - # needs: [ubuntu2204_build, build-win] - # runs-on: ubuntu-latest - # permissions: - # contents: write - # steps: - # - uses: actions/download-artifact@v4 - # with: - # name: sycl_linux_default - # - uses: actions/download-artifact@v4 - # with: - # name: sycl_windows_default - # - name: Compute tag - # id: tag - # run: | - # if [ "${{ github.event_name == 'schedule' }}" == "true" ]; then - # echo "TAG=$(date +'%Y-%m-%d')" >> "$GITHUB_OUTPUT" - # else - # # TODO: Use date of the commit? - # echo "TAG=$(date +'%Y-%m-%d')-${GITHUB_SHA::7}" >> "$GITHUB_OUTPUT" - # fi - # - name: Upload binaries - # uses: softprops/action-gh-release@69320dbe05506a9a39fc8ae11030b214ec2d1f87 - # with: - # files: | - # sycl_linux.tar.gz - # sycl_windows.tar.gz - # tag_name: nightly-${{ steps.tag.outputs.TAG }} - # name: DPC++ daily ${{ steps.tag.outputs.TAG }} - # prerelease: true - # body: "Daily build ${{ steps.tag.outputs.TAG }}" - # target_commitish: ${{ github.sha }} - - # ubuntu2204_docker_build_push: - # if: github.repository == 'intel/llvm' - # runs-on: [Linux, build] - # permissions: - # packages: write - # needs: ubuntu2204_build - # steps: - # - uses: actions/checkout@v4 - # - uses: actions/download-artifact@v4 - # with: - # name: sycl_linux_default - # path: devops/ - # - name: Build and Push Container (with drivers) - # uses: ./devops/actions/build_container - # with: - # push: ${{ github.ref_name == 'sycl' }} - # file: ubuntu2204_preinstalled - # username: ${{ github.repository_owner }} - # password: ${{ secrets.GITHUB_TOKEN }} - # build-args: | - # base_image=ghcr.io/intel/llvm/ubuntu2204_intel_drivers - # base_tag=latest - # tags: | - # ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:${{ github.sha }} - # ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:latest - # - name: Build and Push Container (no drivers) - # uses: ./devops/actions/build_container - # with: - # push: ${{ github.ref_name == 'sycl' }} - # file: ubuntu2204_preinstalled - # username: ${{ github.repository_owner }} - # password: ${{ secrets.GITHUB_TOKEN }} - # build-args: | - # base_image=ghcr.io/intel/llvm/ubuntu2204_base - # base_tag=latest - # tags: | - # ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:no-drivers-${{ github.sha }} - # ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:no-drivers - # - name: Build and Push Container (Build image) - # uses: ./devops/actions/build_container - # with: - # push: ${{ github.ref_name == 'sycl' }} - # file: ubuntu2204_preinstalled - # username: ${{ github.repository_owner }} - # password: ${{ secrets.GITHUB_TOKEN }} - # build-args: | - # base_image=ghcr.io/intel/llvm/ubuntu2204_build - # base_tag=latest - # tags: | - # ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:build-${{ github.sha }} - # ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:build + build-win: + uses: ./.github/workflows/sycl-windows-build.yml + if: github.repository == 'intel/llvm' + with: + retention-days: 90 + # We upload both Linux/Windows build via Github's "Releases" + # functionality, make sure Linux/Windows names follow the same pattern. + artifact_archive_name: sycl_windows.tar.gz + + e2e-win: + needs: build-win + # Continue if build was successful. + if: | + always() + && !cancelled() + && needs.build.outputs.build_conclusion == 'success' + uses: ./.github/workflows/sycl-windows-run-tests.yml + with: + name: Intel GEN12 Graphics with Level Zero + runner: '["Windows","gen12"]' + sycl_toolchain_archive: ${{ needs.build-win.outputs.artifact_archive_name }} + + nightly_build_upload: + name: Nightly Build Upload + if: ${{ github.ref_name == 'sycl' }} + needs: [ubuntu2204_build, build-win] + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - uses: actions/download-artifact@v4 + with: + name: sycl_linux_default + - uses: actions/download-artifact@v4 + with: + name: sycl_windows_default + - name: Compute tag + id: tag + run: | + if [ "${{ github.event_name == 'schedule' }}" == "true" ]; then + echo "TAG=$(date +'%Y-%m-%d')" >> "$GITHUB_OUTPUT" + else + # TODO: Use date of the commit? + echo "TAG=$(date +'%Y-%m-%d')-${GITHUB_SHA::7}" >> "$GITHUB_OUTPUT" + fi + - name: Upload binaries + uses: softprops/action-gh-release@69320dbe05506a9a39fc8ae11030b214ec2d1f87 + with: + files: | + sycl_linux.tar.gz + sycl_windows.tar.gz + tag_name: nightly-${{ steps.tag.outputs.TAG }} + name: DPC++ daily ${{ steps.tag.outputs.TAG }} + prerelease: true + body: "Daily build ${{ steps.tag.outputs.TAG }}" + target_commitish: ${{ github.sha }} + + ubuntu2204_docker_build_push: + if: github.repository == 'intel/llvm' + runs-on: [Linux, build] + permissions: + packages: write + needs: ubuntu2204_build + steps: + - uses: actions/checkout@v4 + - uses: actions/download-artifact@v4 + with: + name: sycl_linux_default + path: devops/ + - name: Build and Push Container (with drivers) + uses: ./devops/actions/build_container + with: + push: ${{ github.ref_name == 'sycl' }} + file: ubuntu2204_preinstalled + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + build-args: | + base_image=ghcr.io/intel/llvm/ubuntu2204_intel_drivers + base_tag=latest + tags: | + ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:${{ github.sha }} + ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:latest + - name: Build and Push Container (no drivers) + uses: ./devops/actions/build_container + with: + push: ${{ github.ref_name == 'sycl' }} + file: ubuntu2204_preinstalled + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + build-args: | + base_image=ghcr.io/intel/llvm/ubuntu2204_base + base_tag=latest + tags: | + ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:no-drivers-${{ github.sha }} + ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:no-drivers + - name: Build and Push Container (Build image) + uses: ./devops/actions/build_container + with: + push: ${{ github.ref_name == 'sycl' }} + file: ubuntu2204_preinstalled + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + build-args: | + base_image=ghcr.io/intel/llvm/ubuntu2204_build + base_tag=latest + tags: | + ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:build-${{ github.sha }} + ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:build From 553251ab8e6624516975f6c803c6c96f933fffd0 Mon Sep 17 00:00:00 2001 From: KornevNikita Date: Thu, 27 Jun 2024 08:24:04 -0700 Subject: [PATCH 4/5] ext_oneapi_level_zero -> level_zero --- .github/workflows/sycl-linux-matrix-e2e-on-nightly.yml | 2 +- .github/workflows/sycl-linux-precommit.yml | 6 +++--- .github/workflows/sycl-linux-run-tests.yml | 4 ---- .github/workflows/sycl-nightly.yml | 3 +-- .github/workflows/sycl-post-commit.yml | 4 ++-- .github/workflows/sycl-windows-run-tests.yml | 2 +- 6 files changed, 8 insertions(+), 13 deletions(-) diff --git a/.github/workflows/sycl-linux-matrix-e2e-on-nightly.yml b/.github/workflows/sycl-linux-matrix-e2e-on-nightly.yml index d0642202c9300..3213ffe6dbedb 100644 --- a/.github/workflows/sycl-linux-matrix-e2e-on-nightly.yml +++ b/.github/workflows/sycl-linux-matrix-e2e-on-nightly.yml @@ -29,7 +29,7 @@ jobs: runner: '["Linux", "gen12"]' image: ghcr.io/intel/llvm/sycl_ubuntu2204_nightly:latest image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN - target_devices: ext_oneapi_level_zero:gpu + target_devices: level_zero:gpu reset_gpu: true - name: Intel OCL GPU diff --git a/.github/workflows/sycl-linux-precommit.yml b/.github/workflows/sycl-linux-precommit.yml index 19d106fa23675..d3a23e7e3db02 100644 --- a/.github/workflows/sycl-linux-precommit.yml +++ b/.github/workflows/sycl-linux-precommit.yml @@ -85,7 +85,7 @@ jobs: runner: '["Linux", "gen12"]' image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN - target_devices: ext_oneapi_level_zero:gpu;opencl:gpu;opencl:cpu + target_devices: level_zero:gpu;opencl:gpu;opencl:cpu reset_gpu: true install_drivers: ${{ contains(needs.detect_changes.outputs.filters, 'drivers') }} extra_lit_opts: --param gpu-intel-gen12=True @@ -93,7 +93,7 @@ jobs: runner: '["Linux", "arc"]' image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN - target_devices: ext_oneapi_level_zero:gpu;opencl:gpu + target_devices: level_zero:gpu;opencl:gpu reset_gpu: true install_drivers: ${{ contains(needs.detect_changes.outputs.filters, 'drivers') }} extra_lit_opts: --param matrix-xmx8=True --param gpu-intel-dg2=True @@ -102,7 +102,7 @@ jobs: runner: '["Linux", "arc"]' image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:${{ contains(github.event.pull_request.labels.*.name, 'ci-no-devigc') && 'latest' || 'devigc' }} image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN - target_devices: ext_oneapi_level_zero:gpu;opencl:gpu + target_devices: level_zero:gpu;opencl:gpu reset_gpu: true install_drivers: >- ${{ contains(needs.detect_changes.outputs.filters, 'drivers') || diff --git a/.github/workflows/sycl-linux-run-tests.yml b/.github/workflows/sycl-linux-run-tests.yml index 51262643256ba..a4ec858bcfce7 100644 --- a/.github/workflows/sycl-linux-run-tests.yml +++ b/.github/workflows/sycl-linux-run-tests.yml @@ -100,16 +100,12 @@ on: - '-u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN' - '-u 1001 --device=/dev/dri --device=/dev/kfd --privileged --cap-add SYS_ADMIN' target_devices: - description: | - For SYCL-CTS use "level_zero:gpu" insted of "ext_oneapi_level_zero:gpu". - ONEAPI_DEVICE_SELECTOR doesn't support the second one. type: choice options: - 'opencl:cpu' - 'opencl:gpu' - 'opencl:fpga' - 'level_zero:gpu' - - 'ext_oneapi_level_zero:gpu' - 'ext_oneapi_hip:gpu' tests_selector: type: choice diff --git a/.github/workflows/sycl-nightly.yml b/.github/workflows/sycl-nightly.yml index e7bbc82284f34..61f1a1cd6f377 100644 --- a/.github/workflows/sycl-nightly.yml +++ b/.github/workflows/sycl-nightly.yml @@ -41,7 +41,7 @@ jobs: runner: '["Linux", "gen12"]' image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN - target_devices: ext_oneapi_level_zero:gpu + target_devices: level_zero:gpu reset_gpu: true tests_selector: e2e @@ -87,7 +87,6 @@ jobs: image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN target_devices: level_zero:gpu tests_selector: cts - uses: ./.github/workflows/sycl-linux-run-tests.yml with: name: ${{ matrix.name }} diff --git a/.github/workflows/sycl-post-commit.yml b/.github/workflows/sycl-post-commit.yml index 518294c591d3f..26df399f95d6c 100644 --- a/.github/workflows/sycl-post-commit.yml +++ b/.github/workflows/sycl-post-commit.yml @@ -47,7 +47,7 @@ jobs: - name: Intel GEN12 Graphics with Level Zero runner: '["Linux", "gen12"]' extra_lit_opts: --param gpu-intel-gen12=True - target_devices: ext_oneapi_level_zero:gpu;opencl:fpga + target_devices: level_zero:gpu;opencl:fpga - name: Intel Arc A-Series Graphics with Level Zero runner: '["Linux", "arc"]' extra_lit_opts: --param matrix-xmx8=True --param gpu-intel-dg2=True @@ -73,7 +73,7 @@ jobs: runner: ${{ matrix. runner }} image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN - target_devices: ${{ matrix.target_devices || 'ext_oneapi_level_zero:gpu' }} + target_devices: ${{ matrix.target_devices || 'level_zero:gpu' }} reset_gpu: true extra_lit_opts: ${{ matrix.extra_lit_opts }} diff --git a/.github/workflows/sycl-windows-run-tests.yml b/.github/workflows/sycl-windows-run-tests.yml index c632b56867b0c..ac1351ed8b9d1 100644 --- a/.github/workflows/sycl-windows-run-tests.yml +++ b/.github/workflows/sycl-windows-run-tests.yml @@ -79,7 +79,7 @@ jobs: shell: cmd run: | mkdir build-e2e - cmake -GNinja -B build-e2e -S.\llvm\sycl\test-e2e -DSYCL_TEST_E2E_TARGETS="ext_oneapi_level_zero:gpu" -DCMAKE_CXX_COMPILER="clang++" -DLEVEL_ZERO_LIBS_DIR="D:\github\level-zero_win-sdk\lib" -DLLVM_LIT="..\llvm\llvm\utils\lit\lit.py" + cmake -GNinja -B build-e2e -S.\llvm\sycl\test-e2e -DSYCL_TEST_E2E_TARGETS="level_zero:gpu" -DCMAKE_CXX_COMPILER="clang++" -DLEVEL_ZERO_LIBS_DIR="D:\github\level-zero_win-sdk\lib" -DLLVM_LIT="..\llvm\llvm\utils\lit\lit.py" - name: Run End-to-End tests shell: bash run: | From 84a7e6f256a3a4f7798cfb86f64703184f534830 Mon Sep 17 00:00:00 2001 From: KornevNikita Date: Wed, 24 Jul 2024 10:23:21 -0700 Subject: [PATCH 5/5] Use different cts_exclude_filter files --- .github/workflows/sycl-linux-run-tests.yml | 17 +++++++++++++++-- devops/cts_exclude_filter_L0_GPU | 5 +++++ ...xclude_filter => cts_exclude_filter_OCL_CPU} | 0 3 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 devops/cts_exclude_filter_L0_GPU rename devops/{cts_exclude_filter => cts_exclude_filter_OCL_CPU} (100%) diff --git a/.github/workflows/sycl-linux-run-tests.yml b/.github/workflows/sycl-linux-run-tests.yml index a4ec858bcfce7..518148887f939 100644 --- a/.github/workflows/sycl-linux-run-tests.yml +++ b/.github/workflows/sycl-linux-run-tests.yml @@ -303,14 +303,27 @@ jobs: - name: List excluded SYCL CTS categories if: inputs.tests_selector == 'cts' && env.CTS_TESTS_TO_BUILD == '' run: | - cat $PWD/devops/cts_exclude_filter + if [ "${{ contains(inputs.target_devices, 'opencl:cpu') }}" = "true" ]; then + cat $PWD/devops/cts_exclude_filter_OCL_CPU + fi + if [ "${{ contains(inputs.target_devices, 'level_zero:gpu') }}" = "true" ]; then + cat $PWD/devops/cts_exclude_filter_L0_GPU + fi - name: Build SYCL CTS tests if: inputs.tests_selector == 'cts' env: CMAKE_EXTRA_ARGS: ${{ inputs.extra_cmake_args }} run: | # Do not exclude any category if passing the CTS_TESTS_TO_BUILD variable. - cts_exclude_filter=$([ -n "$CTS_TESTS_TO_BUILD" ] && echo "" || echo "$PWD/devops/cts_exclude_filter") + cts_exclude_filter="" + if [ -z "$CTS_TESTS_TO_BUILD" ]; then + if [ "${{ contains(inputs.target_devices, 'opencl:cpu') }}" = "true" ]; then + cts_exclude_filter=$PWD/devops/cts_exclude_filter_OCL_CPU + fi + if [ "${{ contains(inputs.target_devices, 'level_zero:gpu') }}" = "true" ]; then + cts_exclude_filter=$PWD/devops/cts_exclude_filter_L0_GPU + fi + fi cmake -GNinja -B./build-cts -S./khronos_sycl_cts -DCMAKE_CXX_COMPILER=$(which clang++) \ -DSYCL_IMPLEMENTATION=DPCPP \ diff --git a/devops/cts_exclude_filter_L0_GPU b/devops/cts_exclude_filter_L0_GPU new file mode 100644 index 0000000000000..3d5c648889005 --- /dev/null +++ b/devops/cts_exclude_filter_L0_GPU @@ -0,0 +1,5 @@ +# These two take too much time +kernel_bundle +marray +# No issue created yet +optional_kernel_features diff --git a/devops/cts_exclude_filter b/devops/cts_exclude_filter_OCL_CPU similarity index 100% rename from devops/cts_exclude_filter rename to devops/cts_exclude_filter_OCL_CPU