Skip to content

Commit

Permalink
Merge branch 'sycl' into llvmspirv_pulldown
Browse files Browse the repository at this point in the history
 Conflicts:
	clang/lib/Sema/SemaChecking.cpp
  • Loading branch information
jsji committed Dec 15, 2024
2 parents d1a2e01 + 3524739 commit 1349b09
Show file tree
Hide file tree
Showing 2,259 changed files with 12,586 additions and 5,506 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/release-binaries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -436,7 +436,7 @@ jobs:

- name: Attest Build Provenance
id: provenance
uses: actions/attest-build-provenance@1c608d11d69870c2092266b3f9a6f3abbf17002c # v1.4.3
uses: actions/attest-build-provenance@ef244123eb79f2f7a7e75d99086184180e6d0018 # v1.4.4
with:
subject-path: ${{ needs.prepare.outputs.release-binary-filename }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-sources.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ jobs:
- name: Attest Build Provenance
if: github.event_name != 'pull_request'
id: provenance
uses: actions/attest-build-provenance@1c608d11d69870c2092266b3f9a6f3abbf17002c # v1.4.3
uses: actions/attest-build-provenance@ef244123eb79f2f7a7e75d99086184180e6d0018 # v1.4.4
with:
subject-path: "*.xz"
- if: github.event_name != 'pull_request'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,6 @@ jobs:

# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@662472033e021d55d94146f66f6058822b0b39fd # v3.27.0
uses: github/codeql-action/upload-sarif@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5
with:
sarif_file: results.sarif
4 changes: 4 additions & 0 deletions .github/workflows/sycl-aws.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ on:
description: "JSON string with array of objects with aws-type, runs-on, aws-ami, aws-spot, aws-disk, aws-timebomb, one-job properties"
type: string
default: '[{"runs-on":"aws_cuda-${{ github.run_id }}-${{ github.run_attempt }}","aws-ami":"ami-01cb0573cb039ab24","aws-type":["g5.2xlarge","g5.4xlarge"],"aws-disk":"/dev/sda1:64","aws-spot":"false"}]'
ref:
type: string
required: false

jobs:
aws:
Expand All @@ -24,6 +27,7 @@ jobs:
- uses: actions/checkout@v4
with:
sparse-checkout: devops/actions/aws-ec2
ref: ${{ inputs.ref || github.sha }}
- run: npm install ./devops/actions/aws-ec2
- uses: ./devops/actions/aws-ec2
with:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/sycl-containers-igc-dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ jobs:
strategy:
matrix:
include:
- name: Intel Drivers Ubuntu 22.04 Docker image with dev IGC
dockerfile: ubuntu2204_intel_drivers_igc_dev
imagefile: ubuntu2204_intel_drivers
- name: Intel Drivers Ubuntu 24.04 Docker image with dev IGC
dockerfile: ubuntu2404_intel_drivers_igc_dev
imagefile: ubuntu2404_intel_drivers
tag: devigc
build_args: |
"use_latest=false"
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/sycl-containers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ jobs:
file: ubuntu2204_base
tag: latest
build_args: ""
- name: Base Ubuntu 24.04 Docker image
file: ubuntu2404_base
tag: latest
build_args: ""
- name: Build Ubuntu Docker image
file: ubuntu2204_build
tag: latest
Expand All @@ -47,8 +51,8 @@ jobs:
file: ubuntu2204_intel_drivers
tag: latest
build_args: "use_latest=false"
- name: Intel Drivers (unstable) Ubuntu 22.04 Docker image
file: ubuntu2204_intel_drivers
- name: Intel Drivers (unstable) Ubuntu 24.04 Docker image
file: ubuntu2404_intel_drivers
tag: unstable
build_args: "use_latest=true"
- name: Build + Intel Drivers Ubuntu 22.04 Docker image
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/sycl-linux-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ on:
description: 'Artifacts retention period'
type: string
default: 3
ref:
type: string
required: false

outputs:
build_conclusion:
Expand Down Expand Up @@ -143,6 +146,7 @@ jobs:
with:
sparse-checkout: |
devops/actions
ref: ${{ inputs.ref || github.sha }}
# Cleanup will be run after all actions are completed.
- name: Register cleanup after job is finished
uses: ./devops/actions/cleanup
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/sycl-linux-precommit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,10 @@ jobs:
build_cache_root: "/__w/"
build_artifact_suffix: "default"
build_cache_suffix: "default"
# Docker image has last nightly pre-installed and added to the PATH
build_image: "ghcr.io/intel/llvm/sycl_ubuntu2204_nightly:build"
cc: clang
cxx: clang++
changes: ${{ needs.detect_changes.outputs.filters }}

determine_arc_tests:
Expand Down Expand Up @@ -103,7 +107,7 @@ jobs:
env: '{"LIT_FILTER":${{ needs.determine_arc_tests.outputs.arc_tests }} }'
- name: E2E tests with dev igc on Intel Arc A-Series Graphics
runner: '["Linux", "arc"]'
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:devigc
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
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;opencl:gpu
reset_intel_gpu: true
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/sycl-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ jobs:
image_options: ${{ matrix.image_options }}
target_devices: ${{ matrix.target_devices }}
tests_selector: ${{ matrix.tests_selector }}
extra_lit_opts: ${{ matrix.extra_lit_opts }}
extra_lit_opts: "--param 'cxx_flags=-D_GLIBCXX_USE_CXX11_ABI=0' ${{ matrix.extra_lit_opts }}"
reset_intel_gpu: ${{ matrix.reset_intel_gpu }}
ref: ${{ github.sha }}
merge_ref: ''
Expand Down Expand Up @@ -168,7 +168,7 @@ jobs:

cuda-aws-stop:
needs: [cuda-aws-start, cuda-run-tests]
if: always()
if: always() && ${{ needs.cuda-aws-start.result != 'skipped' }}
uses: ./.github/workflows/sycl-aws.yml
secrets: inherit
with:
Expand Down Expand Up @@ -198,7 +198,7 @@ jobs:
echo "TAG=$(date +'%Y-%m-%d')-${GITHUB_SHA::7}" >> "$GITHUB_OUTPUT"
fi
- name: Upload binaries
uses: softprops/action-gh-release@e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8
uses: softprops/action-gh-release@01570a1f39cb168c169c802c3bceb9e93fb10974
with:
files: |
sycl_linux.tar.gz
Expand Down
13 changes: 7 additions & 6 deletions .github/workflows/sycl-post-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,7 @@ jobs:
build_cache_root: "/__w/llvm"
build_cache_suffix: default
build_artifact_suffix: default
build_configure_extra_args: --no-assertions --hip --cuda --native_cpu --cmake-opt="-DSYCL_ENABLE_STACK_PRINTING=ON" --cmake-opt="-DSYCL_LIB_WITH_DEBUG_SYMBOL=ON"
# Docker image has last nightly pre-installed and added to the PATH
build_image: "ghcr.io/intel/llvm/sycl_ubuntu2204_nightly:build"
cc: clang
cxx: clang++
build_configure_extra_args: --no-assertions --hip --cuda --native_cpu --cmake-opt="-DSYCL_ENABLE_STACK_PRINTING=ON" --cmake-opt="-DSYCL_LIB_WITH_DEBUG_SYMBOL=ON"
merge_ref: ''

e2e-lin:
Expand Down Expand Up @@ -107,7 +103,11 @@ jobs:
&& success()
&& github.repository == 'intel/llvm'
uses: ./.github/workflows/sycl-windows-build.yml

with:
compiler: icx
build_configure_extra_args: --cmake-opt=-DCMAKE_C_FLAGS="/clang:-Wno-nonportable-include-path /clang:-Wno-cast-function-type-mismatch" --cmake-opt=-DCMAKE_CXX_FLAGS="/clang:-Wno-nonportable-include-path /clang:-Wno-cast-function-type-mismatch" --cmake-opt="-DCMAKE_EXE_LINKER_FLAGS=/manifest:no" --cmake-opt="-DCMAKE_MODULE_LINKER_FLAGS=/manifest:no" --cmake-opt="-DCMAKE_SHARED_LINKER_FLAGS=/manifest:no"
build_cache_suffix: icx

e2e-win:
needs: build-win
# Continue if build was successful.
Expand All @@ -121,6 +121,7 @@ jobs:
runner: '["Windows","gen12"]'
sycl_toolchain_archive: ${{ needs.build-win.outputs.artifact_archive_name }}
extra_lit_opts: --param gpu-intel-gen12=True
compiler: icx

macos_default:
name: macOS
Expand Down
180 changes: 180 additions & 0 deletions .github/workflows/sycl-rel-nightly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
name: SYCL Release Branch Nightly

on:
workflow_dispatch:
schedule:
- cron: '0 3 * * *'

permissions: read-all

env:
# NOTE: so that GitHub Actions can trigger the scheduled workflow run - the
# workflow file should be on the default branch. Therefore every job should
# checkout the release branch.
SYCL_REL_BRANCH: "draft-sycl-rel-6_0_0"

jobs:
# To avoid unnecessary scheduled runs this job checks if there are new commits
# since the last run. More precisely, it checks if the last commit is older
# than 24h. That means the previous Nightly already tested this commit.
check_for_new_commits:
runs-on: ubuntu-latest
name: Check for new commits
outputs:
is_new_commit: ${{ steps.is_new_commit.outputs.is_new_commit }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ env.SYCL_REL_BRANCH }}
- run: git show --quiet | tee -a $GITHUB_STEP_SUMMARY

- id: is_new_commit
if: ${{ github.event_name == 'schedule' }}
run: |
if [ -z "$(git rev-list --after="24 hours" HEAD)" ]; then
echo "is_new_commit=false" >> $GITHUB_OUTPUT
fi
ubuntu2204_build:
needs: [check_for_new_commits]
if: ${{ github.repository == 'intel/llvm' && needs.check_for_new_commits.outputs.is_new_commit != 'false' }}
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: ''
ref: ${{ env.SYCL_REL_BRANCH }}

# 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: ${{ env.SYCL_REL_BRANCH }}
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:
needs: [check_for_new_commits]
if: ${{ github.repository == 'intel/llvm' && needs.check_for_new_commits.outputs.is_new_commit != 'false' }}
uses: ./.github/workflows/sycl-windows-build.yml
with:
# 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
build_ref: ${{ env.SYCL_REL_BRANCH }}

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
ref: ${{ env.SYCL_REL_BRANCH }}

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
ref: ${{ env.SYCL_REL_BRANCH }}

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: ${{ env.SYCL_REL_BRANCH }}
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
ref: ${{ env.SYCL_REL_BRANCH }}
Loading

0 comments on commit 1349b09

Please sign in to comment.