Skip to content

Commit 98aaa34

Browse files
committed
Merge branch 'sycl' into ptx_atomic_ldst
2 parents db2baab + 4c3e699 commit 98aaa34

File tree

2,795 files changed

+97580
-41993
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,795 files changed

+97580
-41993
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ sycl/ReleaseNotes.md @pvchupin @tfzhu
2626
sycl/doc/ @pvchupin @bader
2727
sycl/doc/extensions/ @intel/dpcpp-specification-reviewers
2828
sycl/doc/extensions/SPIRV/ @AlexeySotkin @bashbaug @mbelicki
29+
sycl/doc/dev @bader @vladimirlaz
2930

3031
# Sub-groups
3132
sycl/include/CL/sycl/detail/spirv.hpp @Pennycook @AlexeySachkov

.github/ISSUE_TEMPLATE.md

Lines changed: 0 additions & 14 deletions
This file was deleted.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 0 additions & 6 deletions
This file was deleted.

.github/ISSUE_TEMPLATE/do-not-file-an-issue.md

Lines changed: 0 additions & 14 deletions
This file was deleted.

.github/workflows/gh_pages.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@ name: Generate Doxygen documentation
33
on:
44
schedule:
55
- cron: 0 1 * * *
6+
pull_request:
7+
branches:
8+
- sycl
9+
paths:
10+
- '.github/workflows/gh_pages.yml'
11+
- 'clang/docs/**'
12+
- 'sycl/docs/**'
613

714
jobs:
815
build:
@@ -16,7 +23,7 @@ jobs:
1623
- name: Install deps
1724
run: |
1825
sudo apt-get install -y doxygen graphviz ssh ninja-build
19-
sudo pip3 install 'sphinx==4.1.2' 'myst-parser==0.15.1'
26+
sudo pip3 install 'sphinx==4.1.2' 'myst-parser==0.15.1' 'recommonmark==0.7.1'
2027
- name: Build Docs
2128
run: |
2229
mkdir -p $GITHUB_WORKSPACE/build
@@ -28,6 +35,7 @@ jobs:
2835
cmake --build . --target docs-sycl-html
2936
cmake --build . --target docs-clang-html
3037
- name: Deploy
38+
if: ${{ github.event_name == 'schedule' }}
3139
env:
3240
SSH_KEY: ${{secrets.ACTIONS_DEPLOY_KEY}}
3341
run: |

.github/workflows/new-issues.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: Labeling new issues
2+
on:
3+
issues:
4+
types: ['opened']
5+
6+
jobs:
7+
automate-issues-labels:
8+
runs-on: ubuntu-latest
9+
if: github.repository == 'llvm/llvm-project'
10+
steps:
11+
- uses: andymckay/[email protected]
12+
with:
13+
add-labels: "new issue"
14+
ignore-if-labeled: true

.github/workflows/sycl_linux_build_and_test.yml

Lines changed: 160 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ on:
1717
build_image:
1818
type: string
1919
required: false
20-
default: "ghcr.io/intel/llvm/ubuntu2004_base:latest"
20+
default: "ghcr.io/intel/llvm/ubuntu2004_build:latest"
2121
build_runs_on:
2222
type: string
2323
required: false
@@ -40,10 +40,30 @@ on:
4040
build_configure_extra_args:
4141
type: string
4242
required: false
43-
default: ""
43+
default: "--hip --hip-amd-arch=gfx906 --cuda"
4444
build_artifact_suffix:
4545
type: string
4646
required: true
47+
intel_drivers_image:
48+
type: string
49+
required: false
50+
default: "ghcr.io/intel/llvm/ubuntu2004_intel_drivers:latest"
51+
lts_config:
52+
type: string
53+
required: false
54+
default: ""
55+
gen9_runs_on:
56+
type: string
57+
required: false
58+
default: "gen9"
59+
amdgpu_image:
60+
type: string
61+
required: false
62+
default: "ghcr.io/intel/llvm/ubuntu2004_build:latest"
63+
amdgpu_runs_on:
64+
type: string
65+
required: false
66+
default: "amdgpu"
4767

4868
jobs:
4969
configure:
@@ -60,15 +80,20 @@ jobs:
6080
INPUTS="{
6181
\"cc\":\"gcc\",
6282
\"cxx\":\"g++\",
63-
\"build_runs_on\":\"sycl-precommit-linux\",
64-
\"build_image\":\"ghcr.io/intel/llvm/ubuntu2004_base:latest\",
83+
\"build_runs_on\":\"build\",
84+
\"build_image\":\"ghcr.io/intel/llvm/ubuntu2004_build:latest\",
6585
\"build_github_cache\":\"false\",
6686
\"build_cache_root\":\"/__w/\",
6787
\"build_cache_suffix\":\"default\",
6888
\"build_cache_size\":\"2G\",
69-
\"build_configure_extra_args\":\"\",
89+
\"build_configure_extra_args\":\"--hip --hip-amd-arch=gfx906 --cuda\",
7090
\"build_artifact_suffix\":\"default\",
71-
\"build_upload_artifact\":\"false\"
91+
\"build_upload_artifact\":\"false\",
92+
\"intel_drivers_image\":\"ghcr.io/intel/llvm/ubuntu2004_intel_drivers:latest\",
93+
\"amdgpu_image\":\"ghcr.io/intel/llvm/ubuntu2004_build:latest\",
94+
\"lts_config\":\"ocl_x64;hip_amdgpu\",
95+
\"gen9_runs_on\":\"gen9\",
96+
\"amdgpu_runs_on\":\"amdgpu\"
7297
}"
7398
fi
7499
INPUTS="${INPUTS//'%'/'%25'}"
@@ -77,7 +102,7 @@ jobs:
77102
echo "::set-output name=params::$INPUTS"
78103
echo "$INPUTS"
79104
build:
80-
name: Build SYCL toolchain
105+
name: Build + LIT
81106
needs: configure
82107
runs-on: ${{ fromJSON(needs.configure.outputs.params).build_runs_on }}
83108
container:
@@ -87,6 +112,8 @@ jobs:
87112
- uses: actions/checkout@v2
88113
with:
89114
path: src
115+
- name: Register cleanup after job is finished
116+
uses: ./src/devops/actions/cleanup
90117
- name: Setup Cache
91118
uses: actions/cache@v2
92119
if: ${{ steps.parameters.build_github_cache }}
@@ -104,15 +131,19 @@ jobs:
104131
CACHE_SUFFIX: ${{ fromJSON(needs.configure.outputs.params).build_cache_suffix }}
105132
CACHE_SIZE: ${{ fromJSON(needs.configure.outputs.params).build_cache_size }}
106133
ARGS: ${{ fromJSON(needs.configure.outputs.params).build_configure_extra_args }}
134+
CUDA_LIB_PATH: "/usr/local/cuda/lib64/stubs"
107135
run: |
108136
mkdir -p $CACHE_ROOT/build_cache_$CACHE_SUFFIX
109137
mkdir -p $GITHUB_WORKSPACE/build
110138
cd $GITHUB_WORKSPACE/build
111139
python3 $GITHUB_WORKSPACE/src/buildbot/configure.py -w $GITHUB_WORKSPACE \
112140
-s $GITHUB_WORKSPACE/src -o $GITHUB_WORKSPACE/build -t Release \
113-
--ci-defaults $ARGS --cmake-opt="-DLLVM_CCACHE_BUILD=ON" \
141+
--ci-defaults $ARGS \
142+
--cmake-opt="-DLLVM_CCACHE_BUILD=ON" \
114143
--cmake-opt="-DLLVM_CCACHE_DIR=$CACHE_ROOT/build_cache_$CACHE_SUFFIX" \
115-
--cmake-opt="-DLLVM_CCACHE_MAXSIZE=$CACHE_SIZE"
144+
--cmake-opt="-DLLVM_CCACHE_MAXSIZE=$CACHE_SIZE" \
145+
--cmake-opt="-DLLVM_INSTALL_UTILS=ON" \
146+
--cmake-opt="-DSYCL_PI_TESTS=OFF"
116147
- name: Compile
117148
run: cmake --build $GITHUB_WORKSPACE/build
118149
# TODO allow to optionally disable in-tree checks
@@ -128,6 +159,8 @@ jobs:
128159
- name: check-sycl
129160
if: always()
130161
run: |
162+
# TODO consider moving this to Dockerfile
163+
export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH
131164
cmake --build $GITHUB_WORKSPACE/build --target check-sycl
132165
- name: check-llvm-spirv
133166
if: always()
@@ -152,15 +185,128 @@ jobs:
152185
cmake --build $GITHUB_WORKSPACE/build --target utils/llvm-lit/install
153186
cmake --build $GITHUB_WORKSPACE/build --target install-clang-format
154187
cmake --build $GITHUB_WORKSPACE/build --target install-clang-tidy
188+
cmake --build $GITHUB_WORKSPACE/build --target install-llvm-size
189+
# TODO this should be resolved in CMakeLists.txt
190+
cmake --build $GITHUB_WORKSPACE/build --target install-lld || echo "skipped"
155191
156-
- name: Pack
192+
- name: Pack toolchain
157193
run: tar -cJf llvm_sycl.tar.xz -C $GITHUB_WORKSPACE/build/install .
158-
- name: Upload artifacts
194+
- name: Pack LIT
195+
run: tar -cJf lit.tar.xz -C $GITHUB_WORKSPACE/src/llvm/utils/lit .
196+
- name: Upload toolchain
159197
uses: actions/upload-artifact@v1
160198
with:
161199
name: sycl_linux_${{ fromJSON(needs.configure.outputs.params).build_artifact_suffix }}
162200
path: llvm_sycl.tar.xz
163-
- name: Cleanup
164-
if: always()
165-
run: rm -rf $GITHUB_WORKSPACE/*
201+
- name: Upload LIT
202+
uses: actions/upload-artifact@v1
203+
with:
204+
name: sycl_lit_${{ fromJSON(needs.configure.outputs.params).build_artifact_suffix }}
205+
path: lit.tar.xz
206+
207+
llvm_test_suite_l0_gen9:
208+
name: L0 GEN9 Test Suite
209+
needs: [build, configure]
210+
if: ${{ contains(fromJSON(needs.configure.outputs.params).lts_config, 'l0_gen9') }}
211+
runs-on: ${{ fromJSON(needs.configure.outputs.params).gen9_runs_on }}
212+
container:
213+
image: ${{ fromJSON(needs.configure.outputs.params).intel_drivers_image }}
214+
options: -u 1001 --device=/dev/dri
215+
steps:
216+
- uses: actions/checkout@v2
217+
with:
218+
path: llvm
219+
- name: Register cleanup after job is finished
220+
uses: ./llvm/devops/actions/cleanup
221+
- uses: ./llvm/devops/actions/llvm_test_suite
222+
name: Run LLVM Test Suite
223+
with:
224+
# TODO allow custom test references
225+
test_ref: 'intel'
226+
sycl_artifact: sycl_linux_${{ fromJSON(needs.configure.outputs.params).build_artifact_suffix }}
227+
sycl_archive: llvm_sycl.tar.xz
228+
lit_artifact: sycl_lit_${{ fromJSON(needs.configure.outputs.params).build_artifact_suffix }}
229+
lit_archive: lit.tar.xz
230+
check_sycl_all: 'level_zero:gpu,host'
231+
results_name_suffix: l0_gpu_${{ fromJSON(needs.configure.outputs.params).build_artifact_suffix }}
232+
cmake_args: '-DGPU_AOT_TARGET_OPTS="\\\"-device gen9\\\""'
233+
234+
llvm_test_suite_ocl_gen9:
235+
name: OCL GEN9 Test Suite
236+
needs: [build, configure]
237+
if: ${{ contains(fromJSON(needs.configure.outputs.params).lts_config, 'ocl_gen9') }}
238+
runs-on: ${{ fromJSON(needs.configure.outputs.params).gen9_runs_on }}
239+
container:
240+
image: ${{ fromJSON(needs.configure.outputs.params).intel_drivers_image }}
241+
options: -u 1001 --device=/dev/dri
242+
steps:
243+
- uses: actions/checkout@v2
244+
with:
245+
path: llvm
246+
- name: Register cleanup after job is finished
247+
uses: ./llvm/devops/actions/cleanup
248+
- uses: ./llvm/devops/actions/llvm_test_suite
249+
name: Run LLVM Test Suite
250+
with:
251+
# TODO allow custom test references
252+
test_ref: 'intel'
253+
sycl_artifact: sycl_linux_${{ fromJSON(needs.configure.outputs.params).build_artifact_suffix }}
254+
sycl_archive: llvm_sycl.tar.xz
255+
lit_artifact: sycl_lit_${{ fromJSON(needs.configure.outputs.params).build_artifact_suffix }}
256+
lit_archive: lit.tar.xz
257+
check_sycl_all: 'opencl:gpu,host'
258+
results_name_suffix: ocl_gpu_${{ fromJSON(needs.configure.outputs.params).build_artifact_suffix }}
259+
cmake_args: '-DGPU_AOT_TARGET_OPTS="\\\"-device gen9\\\""'
166260

261+
llvm_test_suite_ocl_x64:
262+
name: OCL x64 Test Suite
263+
needs: [build, configure]
264+
if: ${{ contains(fromJSON(needs.configure.outputs.params).lts_config, 'ocl_x64') }}
265+
runs-on: ${{ fromJSON(needs.configure.outputs.params).gen9_runs_on }}
266+
container:
267+
image: ${{ fromJSON(needs.configure.outputs.params).intel_drivers_image }}
268+
options: -u 1001
269+
steps:
270+
- uses: actions/checkout@v2
271+
with:
272+
path: llvm
273+
- name: Register cleanup after job is finished
274+
uses: ./llvm/devops/actions/cleanup
275+
- uses: ./llvm/devops/actions/llvm_test_suite
276+
name: Run LLVM Test Suite
277+
with:
278+
# TODO allow custom test references
279+
test_ref: 'intel'
280+
sycl_artifact: sycl_linux_${{ fromJSON(needs.configure.outputs.params).build_artifact_suffix }}
281+
sycl_archive: llvm_sycl.tar.xz
282+
lit_artifact: sycl_lit_${{ fromJSON(needs.configure.outputs.params).build_artifact_suffix }}
283+
lit_archive: lit.tar.xz
284+
check_sycl_all: 'opencl:cpu,host'
285+
results_name_suffix: ocl_x64_${{ fromJSON(needs.configure.outputs.params).build_artifact_suffix }}
286+
287+
llvm_test_suite_hip_amdgpu:
288+
name: HIP AMD GPU Test Suite
289+
needs: [build, configure]
290+
if: ${{ contains(fromJSON(needs.configure.outputs.params).lts_config, 'hip_amdgpu') }}
291+
runs-on: ${{ fromJSON(needs.configure.outputs.params).amdgpu_runs_on }}
292+
container:
293+
image: ${{ fromJSON(needs.configure.outputs.params).amdgpu_image }}
294+
options: --device=/dev/dri --device=/dev/kfd
295+
steps:
296+
- uses: actions/checkout@v2
297+
with:
298+
path: llvm
299+
- name: Register cleanup after job is finished
300+
uses: ./llvm/devops/actions/cleanup
301+
- uses: ./llvm/devops/actions/llvm_test_suite
302+
name: Run LLVM Test Suite
303+
with:
304+
# TODO allow custom test references
305+
test_ref: 'intel'
306+
sycl_artifact: sycl_linux_${{ fromJSON(needs.configure.outputs.params).build_artifact_suffix }}
307+
sycl_archive: llvm_sycl.tar.xz
308+
lit_artifact: sycl_lit_${{ fromJSON(needs.configure.outputs.params).build_artifact_suffix }}
309+
lit_archive: lit.tar.xz
310+
check_sycl_all: 'hip:gpu,host'
311+
results_name_suffix: hip_amdgpu_${{ fromJSON(needs.configure.outputs.params).build_artifact_suffix }}
312+
cmake_args: '-DHIP_PLATFORM="AMD" -DAMD_ARCH="gfx1031"'

0 commit comments

Comments
 (0)