Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test dockers for UR with different containers #17704

Draft
wants to merge 19 commits into
base: sycl
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -128,9 +128,6 @@ devops/ @intel/dpcpp-devops-reviewers
# dev-igc driver update
devops/dependencies-igc-dev.json @intel/sycl-matrix-reviewers @intel/dpcpp-esimd-reviewers @intel/dpcpp-devops-reviewers

# Benchmarking scripts
devops/scripts/benchmarks/ @intel/llvm-reviewers-benchmarking

# Kernel fusion JIT compiler
sycl-jit/ @intel/dpcpp-kernel-fusion-reviewers
sycl/doc/design/KernelFusionJIT.md @intel/dpcpp-kernel-fusion-reviewers
Expand Down Expand Up @@ -211,4 +208,3 @@ llvm/test/Instrumentation/MemorySanitizer/ @intel/dpcpp-sanitizers-review
llvm/test/Instrumentation/ThreadSanitizer/ @intel/dpcpp-sanitizers-review
sycl/test-e2e/AddressSanitizer/ @intel/dpcpp-sanitizers-review
sycl/test-e2e/MemorySanitizer/ @intel/dpcpp-sanitizers-review
sycl/test-e2e/ThreadSanitizer/ @intel/dpcpp-sanitizers-review
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ jobs:
fetch-depth: 1
- name: Get subprojects that have doc changes
id: docs-changed-subprojects
uses: step-security/changed-files@3dbe17c78367e7d60f00d78ae6781a35be47b4a1 # v45.0.1
uses: tj-actions/changed-files@v45
with:
files_yaml: |
llvm:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-code-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:

- name: Get changed files
id: changed-files
uses: step-security/changed-files@3dbe17c78367e7d60f00d78ae6781a35be47b4a1 # v45.0.1
uses: tj-actions/changed-files@v45
with:
separator: ","
skip_initial_fetch: true
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/sycl-linux-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,8 @@ jobs:
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DLLVM_INSTALL_UTILS=ON \
-DNATIVECPU_USE_OCK=Off \
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=SPIRV
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=SPIRV \
--level_zero_v1_and_v2
- name: Compile
id: build
run: cmake --build $GITHUB_WORKSPACE/build --target sycl-toolchain
Expand Down
166 changes: 98 additions & 68 deletions .github/workflows/sycl-linux-precommit-aws.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ permissions:

jobs:
create-check:
if: false
runs-on: [Linux, aux-tasks]
permissions:
checks: write
Expand All @@ -45,78 +46,107 @@ jobs:
})

aws-start:
if: false
runs-on: ubuntu-latest
environment: aws
steps:
- uses: actions/checkout@v4
with:
sparse-checkout: devops/actions/aws-ec2
- run: npm install ./devops/actions/aws-ec2
- uses: ./devops/actions/aws-ec2
with:
mode: start
runs-on-list: '[{"runs-on":"aws_cuda-${{ github.event.workflow_run.id }}-${{ github.event.workflow_run.run_attempt }}","aws-ami":"ami-01cb0573cb039ab24","aws-type":["g5.2xlarge","g5.4xlarge"],"aws-disk":"/dev/sda1:64","aws-spot":"false"}]'
GH_PERSONAL_ACCESS_TOKEN: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
AWS_ACCESS_KEY: ${{ secrets.AWS_ACCESS_KEY }}
AWS_SECRET_KEY: ${{ secrets.AWS_SECRET_KEY }}
- run: echo 'do nothing'
# create-check:
# runs-on: [Linux, aux-tasks]
# permissions:
# checks: write
# statuses: write
# steps:
# - uses: actions/github-script@v7
# with:
# script: |
# const sha = context.payload.workflow_run.head_sha
# const run_id = '${{ github.run_id }}'
# const this_run_url = 'https://github.com/' + context.repo.owner + '/' + context.repo.repo + '/actions/runs/' + run_id

e2e-cuda:
needs: [aws-start]
uses: ./.github/workflows/sycl-linux-run-tests.yml
with:
name: CUDA E2E
runner: '["aws_cuda-${{ github.event.workflow_run.id }}-${{ github.event.workflow_run.run_attempt }}"]'
image: ghcr.io/intel/llvm/ubuntu2204_build:latest
image_options: -u 1001 --gpus all --cap-add SYS_ADMIN --env NVIDIA_DISABLE_REQUIRE=1
target_devices: cuda:gpu
# No idea why but that seems to work and be in sync with the main
# pre-commit workflow.
repo_ref: ${{ github.event.workflow_run.referenced_workflows[0].sha }}
# // Create commit status.
# await github.request('POST /repos/{owner}/{repo}/statuses/{sha}', {
# owner: context.repo.owner,
# repo: context.repo.repo,
# sha: sha,
# state: 'pending',
# target_url: this_run_url,
# description: 'SYCL E2E on AWS CUDA',
# context: 'SYCL E2E on AWS CUDA',
# })

sycl_toolchain_artifact: sycl_linux_default
sycl_toolchain_archive: llvm_sycl.tar.zst
sycl_toolchain_decompress_command: zstd
# aws-start:
# runs-on: ubuntu-latest
# environment: aws
# steps:
# - uses: actions/checkout@v4
# with:
# sparse-checkout: devops/actions/aws-ec2
# - run: npm install ./devops/actions/aws-ec2
# - uses: ./devops/actions/aws-ec2
# with:
# mode: start
# runs-on-list: '[{"runs-on":"aws_cuda-${{ github.event.workflow_run.id }}-${{ github.event.workflow_run.run_attempt }}","aws-ami":"ami-01cb0573cb039ab24","aws-type":["g5.2xlarge","g5.4xlarge"],"aws-disk":"/dev/sda1:64","aws-spot":"false"}]'
# GH_PERSONAL_ACCESS_TOKEN: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
# AWS_ACCESS_KEY: ${{ secrets.AWS_ACCESS_KEY }}
# AWS_SECRET_KEY: ${{ secrets.AWS_SECRET_KEY }}

update-check:
needs: [create-check, e2e-cuda]
if: always()
runs-on: [Linux, aux-tasks]
permissions:
checks: write
statuses: write
steps:
- uses: actions/github-script@v7
with:
script: |
const sha = context.payload.workflow_run.head_sha
const run_id = '${{ github.run_id }}'
const this_run_url = 'https://github.com/' + context.repo.owner + '/' + context.repo.repo + '/actions/runs/' + run_id
# e2e-cuda:
# needs: [aws-start]
# uses: ./.github/workflows/sycl-linux-run-tests.yml
# with:
# name: CUDA E2E
# runner: '["aws_cuda-${{ github.event.workflow_run.id }}-${{ github.event.workflow_run.run_attempt }}"]'
# image: ghcr.io/intel/llvm/ubuntu2204_build:latest
# image_options: -u 1001 --gpus all --cap-add SYS_ADMIN --env NVIDIA_DISABLE_REQUIRE=1
# target_devices: cuda:gpu
# # No idea why but that seems to work and be in sync with the main
# # pre-commit workflow.
# repo_ref: ${{ github.event.workflow_run.referenced_workflows[0].sha }}

// Update commit status.
await github.request('POST /repos/{owner}/{repo}/statuses/{sha}', {
owner: context.repo.owner,
repo: context.repo.repo,
sha: sha,
state: '${{ needs.e2e-cuda.result }}',
target_url: this_run_url,
description: 'SYCL E2E on AWS CUDA',
context: 'SYCL E2E on AWS CUDA',
})
# sycl_toolchain_artifact: sycl_linux_default
# sycl_toolchain_archive: llvm_sycl.tar.zst
# sycl_toolchain_decompress_command: zstd

aws-stop:
needs: [aws-start, e2e-cuda]
if: always()
runs-on: ubuntu-latest
environment: aws
steps:
- uses: actions/checkout@v4
with:
sparse-checkout: devops/actions/aws-ec2
- run: npm install ./devops/actions/aws-ec2
- uses: ./devops/actions/aws-ec2
with:
mode: stop
runs-on-list: '[{"runs-on":"aws_cuda-${{ github.event.workflow_run.id }}-${{ github.event.workflow_run.run_attempt }}","aws-ami":"ami-01cb0573cb039ab24","aws-type":["g5.2xlarge","g5.4xlarge"],"aws-disk":"/dev/sda1:64","aws-spot":"false"}]'
GH_PERSONAL_ACCESS_TOKEN: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
AWS_ACCESS_KEY: ${{ secrets.AWS_ACCESS_KEY }}
AWS_SECRET_KEY: ${{ secrets.AWS_SECRET_KEY }}
# update-check:
# needs: [create-check, e2e-cuda]
# if: always()
# runs-on: [Linux, aux-tasks]
# permissions:
# checks: write
# statuses: write
# steps:
# - uses: actions/github-script@v7
# with:
# script: |
# const sha = context.payload.workflow_run.head_sha
# const run_id = '${{ github.run_id }}'
# const this_run_url = 'https://github.com/' + context.repo.owner + '/' + context.repo.repo + '/actions/runs/' + run_id

# // Update commit status.
# await github.request('POST /repos/{owner}/{repo}/statuses/{sha}', {
# owner: context.repo.owner,
# repo: context.repo.repo,
# sha: sha,
# state: '${{ needs.e2e-cuda.result }}',
# target_url: this_run_url,
# description: 'SYCL E2E on AWS CUDA',
# context: 'SYCL E2E on AWS CUDA',
# })

# aws-stop:
# needs: [aws-start, e2e-cuda]
# if: always()
# runs-on: ubuntu-latest
# environment: aws
# steps:
# - uses: actions/checkout@v4
# with:
# sparse-checkout: devops/actions/aws-ec2
# - run: npm install ./devops/actions/aws-ec2
# - uses: ./devops/actions/aws-ec2
# with:
# mode: stop
# runs-on-list: '[{"runs-on":"aws_cuda-${{ github.event.workflow_run.id }}-${{ github.event.workflow_run.run_attempt }}","aws-ami":"ami-01cb0573cb039ab24","aws-type":["g5.2xlarge","g5.4xlarge"],"aws-disk":"/dev/sda1:64","aws-spot":"false"}]'
# GH_PERSONAL_ACCESS_TOKEN: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
# AWS_ACCESS_KEY: ${{ secrets.AWS_ACCESS_KEY }}
# AWS_SECRET_KEY: ${{ secrets.AWS_SECRET_KEY }}
18 changes: 10 additions & 8 deletions .github/workflows/sycl-linux-precommit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ on:
paths-ignore:
- '.github/ISSUE_TEMPLATE/**'
- '.github/CODEOWNERS'
- 'sycl/cts_exclude_filter/**'
- 'sycl/doc/**'
- 'sycl/gdb/**'
- 'clang/docs/**'
Expand All @@ -38,7 +37,8 @@ jobs:

build:
needs: [detect_changes]
if: always() && success()
# if: always() && success()
if: false
uses: ./.github/workflows/sycl-linux-build.yml
with:
build_ref: ${{ github.sha }}
Expand All @@ -54,7 +54,8 @@ jobs:

run_prebuilt_e2e_tests:
needs: [build, detect_changes]
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
# if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
if: false
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -138,11 +139,12 @@ jobs:

test-perf:
needs: [build, detect_changes]
if: |
always() && !cancelled()
&& needs.build.outputs.build_conclusion == 'success'
&& (contains(github.event.pull_request.labels.*.name, 'run-perf-tests')
|| contains(needs.detect_changes.outputs.filters, 'perf-tests'))
# if: |
# always() && !cancelled()
# && needs.build.outputs.build_conclusion == 'success'
# && (contains(github.event.pull_request.labels.*.name, 'run-perf-tests')
# || contains(needs.detect_changes.outputs.filters, 'perf-tests'))
if: false
strategy:
fail-fast: false
matrix:
Expand Down
45 changes: 5 additions & 40 deletions .github/workflows/sycl-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -194,12 +194,12 @@ jobs:
with:
mode: stop

build-sycl-cts-linux:
build-sycl-cts:
needs: ubuntu2204_build
if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
uses: ./.github/workflows/sycl-linux-run-tests.yml
with:
name: Build SYCL-CTS for Linux
name: Build SYCL-CTS
runner: '["Linux", "build"]'
cts_testing_mode: 'build-only'
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
Expand All @@ -208,10 +208,9 @@ jobs:
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 }}
sycl_cts_artifact: sycl_cts_bin_linux

run-sycl-cts-linux:
needs: [ubuntu2204_build, build-sycl-cts-linux]
run-sycl-cts:
needs: [ubuntu2204_build, build-sycl-cts]
if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
strategy:
fail-fast: false
Expand All @@ -238,41 +237,7 @@ jobs:
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 }}
sycl_cts_artifact: sycl_cts_bin_linux

build-sycl-cts-win:
needs: build-win
if: ${{ always() && !cancelled() && needs.build-win.outputs.build_conclusion == 'success' }}
uses: ./.github/workflows/sycl-windows-run-tests.yml
with:
name: Build SYCL-CTS for Windows
runner: '["Windows", "build-e2e"]'
cts_testing_mode: 'build-only'
tests_selector: cts
repo_ref: ${{ github.sha }}
sycl_toolchain_archive: ${{ needs.build-win.outputs.artifact_archive_name }}
sycl_cts_artifact: sycl_cts_bin_win

run-sycl-cts-win:
needs: [build-win, build-sycl-cts-win]
if: ${{ always() && !cancelled() && needs.build-win.outputs.build_conclusion == 'success' }}
strategy:
fail-fast: false
matrix:
include:
- name: SYCL-CTS on L0 gen12
runner: '["Windows", "gen12"]'
target_devices: level_zero:gpu
uses: ./.github/workflows/sycl-windows-run-tests.yml
with:
name: ${{ matrix.name }}
runner: ${{ matrix.runner }}
cts_testing_mode: 'run-only'
target_devices: ${{ matrix.target_devices }}
tests_selector: cts
repo_ref: ${{ github.sha }}
sycl_toolchain_archive: ${{ needs.build-win.outputs.artifact_archive_name }}
sycl_cts_artifact: sycl_cts_bin_win
sycl_cts_artifact: sycl_cts_bin

aggregate_benchmark_results:
if: github.repository == 'intel/llvm' && !cancelled()
Expand Down
13 changes: 1 addition & 12 deletions .github/workflows/sycl-post-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,6 @@ concurrency:
permissions: read-all

jobs:
detect_changes:
if: ${{ github.event_name == 'pull_request' }}
uses: ./.github/workflows/sycl-detect-changes.yml

build-lin:
name: Linux (Self build + no-assertions)
if: github.repository == 'intel/llvm'
Expand All @@ -44,7 +40,7 @@ jobs:
build_configure_extra_args: --no-assertions --hip --cuda --native_cpu -DSYCL_ENABLE_STACK_PRINTING=ON -DSYCL_LIB_WITH_DEBUG_SYMBOL=ON

e2e-lin:
needs: [detect_changes, build-lin]
needs: [build-lin]
if: ${{ always() && !cancelled() && needs.build-lin.outputs.build_conclusion == 'success' }}
strategy:
fail-fast: false
Expand Down Expand Up @@ -88,13 +84,6 @@ jobs:
sycl_toolchain_archive: ${{ needs.build-lin.outputs.artifact_archive_name }}
sycl_toolchain_decompress_command: ${{ needs.build-lin.outputs.artifact_decompress_command }}

# Do not install drivers on AMD and CUDA runners.
install_igc_driver: >-
${{ github.event_name == 'pull_request' }} &&
${{ !contains(matrix.target_devices, 'cuda') &&
!contains(matrix.target_devices, 'hip') &&
contains(needs.detect_changes.outputs.filters, 'drivers') }}

build-win:
if: |
always()
Expand Down
Loading
Loading