-
Notifications
You must be signed in to change notification settings - Fork 740
131 lines (119 loc) · 4.9 KB
/
sycl-post-commit.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
name: SYCL Post Commit
on:
push:
branches:
- sycl
- sycl-devops-pr/**
- sycl-rel-**
pull_request:
branches:
- sycl
- sycl-devops-pr/**
paths:
- .github/workflows/sycl-post-commit.yml
- .github/workflows/sycl-linux-build.yml
- .github/workflows/sycl-linux-run-tests.yml
- .github/workflows/sycl-macos-build-and-test.yml
- ./devops/actions/cleanup
- ./devops/actions/cached_checkout
concurrency:
# Cancel a currently running workflow from the same PR or commit hash.
# We need to use the user's branch name (which is in different variables
# for pull request events and push events) so that making a PR from a
# sycl-devops-pr branch doesn't cause two postcommit runs.
group: "${{ github.actor }}-${{ github.head_ref || github.ref_name }}"
cancel-in-progress: true
permissions: read-all
jobs:
build-lin:
name: Linux (Self build + no-assertions)
if: github.repository == 'intel/llvm'
uses: ./.github/workflows/sycl-linux-build.yml
with:
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++
merge_ref: ''
e2e-lin:
needs: [build-lin]
if: ${{ always() && !cancelled() && needs.build-lin.outputs.build_conclusion == 'success' }}
strategy:
fail-fast: false
matrix:
include:
- name: Intel GEN12 Graphics with Level Zero
runner: '["Linux", "gen12"]'
extra_lit_opts: --param gpu-intel-gen12=True
target_devices: level_zero:gpu;opencl:fpga
reset_intel_gpu: true
- name: Intel Arc A-Series Graphics with Level Zero
runner: '["Linux", "arc"]'
extra_lit_opts: --param matrix-xmx8=True --param gpu-intel-dg2=True
reset_intel_gpu: true
- 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
reset_intel_gpu: false
# Performance tests below. Specifics:
# - only run performance tests (use LIT_FILTER env)
# - ask llvm-lit to show all the output, even for PASS (-a)
# - run in single thread (-j 1)
# - enable the tests in LIT (--param enable-perf-tests=True)
# - run on all available devices.
- name: Perf tests on Intel GEN12 Graphics system
runner: '["Linux", "gen12"]'
env: '{"LIT_FILTER":"PerformanceTests/"}'
extra_lit_opts: -a -j 1 --param enable-perf-tests=True --param gpu-intel-gen12=True
target_devices: all
reset_intel_gpu: true
- name: Perf tests on Intel Arc A-Series Graphics system
runner: '["Linux", "arc"]'
env: '{"LIT_FILTER":"PerformanceTests/"}'
extra_lit_opts: -a -j 1 --param enable-perf-tests=True
target_devices: all
reset_intel_gpu: true
uses: ./.github/workflows/sycl-linux-run-tests.yml
with:
name: ${{ matrix.name }}
runner: ${{ matrix. runner }}
image: ${{ matrix.image || 'ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest' }}
image_options: ${{ matrix.image_options || '-u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN' }}
target_devices: ${{ matrix.target_devices || 'level_zero:gpu' }}
reset_intel_gpu: ${{ matrix.reset_intel_gpu }}
extra_lit_opts: ${{ matrix.extra_lit_opts }}
env: ${{ matrix.env || '{}' }}
ref: ${{ github.sha }}
merge_ref: ''
sycl_toolchain_artifact: sycl_linux_default
sycl_toolchain_archive: ${{ needs.build-lin.outputs.artifact_archive_name }}
sycl_toolchain_decompress_command: ${{ needs.build-lin.outputs.artifact_decompress_command }}
build-win:
if: |
always()
&& success()
&& github.repository == 'intel/llvm'
uses: ./.github/workflows/sycl-windows-build.yml
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
macos_default:
name: macOS
if: github.repository == 'intel/llvm'
uses: ./.github/workflows/sycl-macos-build-and-test.yml