diff --git a/.github/workflows/sycl-release-nightly.yml b/.github/workflows/sycl-release-nightly.yml new file mode 100644 index 0000000000000..55117a286fc39 --- /dev/null +++ b/.github/workflows/sycl-release-nightly.yml @@ -0,0 +1,243 @@ +name: SYCL Release Branch Nightly + +on: + workflow_dispatch: + # TODO: schedule workflows are only launched on the main branch + schedule: + - cron: '0 3 * * *' + branches: + - sycl-rel* + +permissions: read-all + +# TODO: we need to skip the whole workflow if it was launched by cron job, but +# there were no new commits since the last cron run. + +jobs: + ubuntu2204_build: + if: github.repository == 'intel/llvm' + uses: ./.github/workflows/sycl-linux-build.yml + secrets: inherit + with: + build_cache_root: "/__w/" + build_artifact_suffix: v6 + build_configure_extra_args: '--hip --cuda' + merge_ref: '' + retention-days: 90 + + # We upload the build for people to download/use, override its name and + # prefer widespread gzip compression. + artifact_archive_name: sycl_linux.tar.gz + + ubuntu2204_test: + needs: [ubuntu2204_build] + if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }} + strategy: + 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 -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN + target_devices: level_zero:gpu + reset_intel_gpu: true + tests_selector: e2e + extra_lit_opts: --param gpu-intel-gen12=True + + - name: Intel OCL GPU + runner: '["Linux", "gen12"]' + image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest + image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN + target_devices: opencl:gpu + reset_intel_gpu: true + tests_selector: e2e + extra_lit_opts: --param gpu-intel-gen12=True + + - name: Intel OCL CPU + 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: 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"]' + 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 }} + runner: ${{ matrix.runner }} + image: ${{ matrix.image }} + image_options: ${{ matrix.image_options }} + target_devices: ${{ matrix.target_devices }} + tests_selector: ${{ matrix.tests_selector }} + extra_lit_opts: ${{ matrix.extra_lit_opts }} + reset_intel_gpu: ${{ matrix.reset_intel_gpu }} + ref: ${{ github.sha }} + merge_ref: '' + sycl_toolchain_artifact: sycl_linux_default + 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-win.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 }} + extra_lit_opts: --param gpu-intel-gen12=True + + cuda-aws-start: + needs: [ubuntu2204_build] + if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }} + uses: ./.github/workflows/sycl-aws.yml + secrets: inherit + with: + mode: start + + cuda-run-tests: + needs: [ubuntu2204_build, cuda-aws-start] + if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }} + uses: ./.github/workflows/sycl-linux-run-tests.yml + with: + name: CUDA E2E + runner: '["aws_cuda-${{ github.run_id }}-${{ github.run_attempt }}"]' + image: ghcr.io/intel/llvm/ubuntu2204_build:latest-0300ac924620a51f76c4929794637b82790f12ab + image_options: -u 1001 --gpus all --cap-add SYS_ADMIN --env NVIDIA_DISABLE_REQUIRE=1 + target_devices: ext_oneapi_cuda:gpu + ref: ${{ github.sha }} + merge_ref: '' + + sycl_toolchain_artifact: sycl_linux_default + sycl_toolchain_archive: ${{ needs.ubuntu2204_build.outputs.artifact_archive_name }} + sycl_toolchain_decompress_command: ${{ needs.ubuntu2204_build.outputs.artifact_decompress_command }} + + cuda-aws-stop: + needs: [cuda-aws-start, cuda-run-tests] + if: always() + uses: ./.github/workflows/sycl-aws.yml + secrets: inherit + with: + mode: stop + + # No binaries upload for now + # 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@e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8 + # 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 }} + + # No containers update for now + # 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 diff --git a/devops/cts_exclude_filter_L0_GPU b/devops/cts_exclude_filter_L0_GPU index 3d5c648889005..051c532a97d24 100644 --- a/devops/cts_exclude_filter_L0_GPU +++ b/devops/cts_exclude_filter_L0_GPU @@ -2,4 +2,4 @@ kernel_bundle marray # No issue created yet -optional_kernel_features +# optional_kernel_features diff --git a/devops/cts_exclude_filter_OCL_CPU b/devops/cts_exclude_filter_OCL_CPU index cebc93ef30fd0..a342f697f1d25 100644 --- a/devops/cts_exclude_filter_OCL_CPU +++ b/devops/cts_exclude_filter_OCL_CPU @@ -2,6 +2,6 @@ kernel_bundle marray # https://github.com/intel/llvm/issues/13477 -math_builtin_api +# math_builtin_api # https://github.com/intel/llvm/issues/13574 -hierarchical +# hierarchical