Skip to content

Commit 6d40bc6

Browse files
authored
Merge branch 'sycl' into simd_view_ctor
2 parents d58dbd2 + 701e480 commit 6d40bc6

File tree

12,512 files changed

+783481
-616927
lines changed

Some content is hidden

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

12,512 files changed

+783481
-616927
lines changed

.github/CODEOWNERS

+16-19
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
* @bader
22

33
# Front-end compiler
4-
clang/ @premanandrao @elizabethandrews @AaronBallman
4+
clang/ @premanandrao @elizabethandrews @smanna12
55

66
# Driver
77
clang/**/Driver @mdtoguchi @AGindinson @hchilama
@@ -22,9 +22,10 @@ libdevice/ @vzakhari @jinge90
2222
sycl/ @intel/llvm-reviewers-runtime
2323

2424
# Documentation
25-
sycl/ReleaseNotes.md @pvchupin
25+
sycl/ReleaseNotes.md @pvchupin @tfzhu
2626
sycl/doc/ @pvchupin @bader
2727
sycl/doc/extensions/ @intel/dpcpp-specification-reviewers
28+
sycl/doc/SPIRV @AlexeySotkin @bashbaug @mbelicki
2829

2930
# Sub-groups
3031
sycl/include/CL/sycl/detail/spirv.hpp @Pennycook @AlexeySachkov
@@ -33,15 +34,15 @@ sycl/include/sycl/ext/intel/sub_group.hpp @Pennycook @AlexeySachkov
3334
sycl/include/sycl/ext/intel/sub_group_host.hpp @Pennycook @AlexeySachkov
3435

3536
# PI API
36-
sycl/include/CL/sycl/detail/pi.def @smaslov-intel
37-
sycl/include/CL/sycl/detail/pi.h @smaslov-intel
38-
sycl/include/CL/sycl/detail/pi.hpp @smaslov-intel
39-
sycl/include/CL/sycl/detail/pi* @smaslov-intel
40-
sycl/plugins/ @smaslov-intel
41-
sycl/source/detail/pi.cpp @smaslov-intel
42-
sycl/source/detail/plugin.hpp @smaslov-intel
43-
sycl/source/detail/posix_pi.cpp @smaslov-intel
44-
sycl/source/detail/windows_pi.cpp @smaslov-intel
37+
sycl/include/CL/sycl/detail/pi.def @smaslov-intel @againull
38+
sycl/include/CL/sycl/detail/pi.h @smaslov-intel @againull
39+
sycl/include/CL/sycl/detail/pi.hpp @smaslov-intel @againull
40+
sycl/include/CL/sycl/detail/pi* @smaslov-intel @againull
41+
sycl/plugins/ @smaslov-intel @againull
42+
sycl/source/detail/pi.cpp @smaslov-intel @againull
43+
sycl/source/detail/plugin.hpp @smaslov-intel @againull
44+
sycl/source/detail/posix_pi.cpp @smaslov-intel @againull
45+
sycl/source/detail/windows_pi.cpp @smaslov-intel @againull
4546

4647
# ESIMD CPU emulator plug-in
4748
sycl/plugins/esimd_cpu/ @kbobrovs @smaslov-intel
@@ -73,10 +74,6 @@ sycl/source/function_pointer.cpp @AlexeySachkov
7374
sycl/include/CL/sycl/half_type.hpp @AlexeySachkov
7475
sycl/source/half_type.cpp @AlexeySachkov
7576

76-
# vec and swizzles
77-
sycl/include/CL/sycl/swizzles.def @turinevgeny
78-
sycl/include/CL/sycl/types.hpp @turinevgeny
79-
8077
# XPTI instrumentation utilities
8178
xpti/ @tovinkere @andykaylor @alexbatashev
8279
xptifw/ @tovinkere @andykaylor @alexbatashev
@@ -102,10 +99,10 @@ clang/tools/clang-offload-deps/ @sndmitriev @mlychkov @AlexeySachkov
10299
clang/tools/clang-offload-extract/ @sndmitriev @mlychkov @AlexeySachkov
103100

104101
# Explicit SIMD
105-
SYCLLowerIR/ @kbobrovs @DenisBakhvalov @kychendev
106-
esimd/ @kbobrovs @DenisBakhvalov @kychendev
107-
sycl/include/sycl/ext/intel/experimental/esimd.hpp @kbobrovs @DenisBakhvalov @kychendev
108-
sycl/doc/extensions/ExplicitSIMD/ @kbobrovs @DenisBakhvalov @kychendev
102+
SYCLLowerIR/ @kbobrovs @sndmitriev @kychendev @v-klochkov
103+
esimd/ @kbobrovs @v-klochkov @kychendev
104+
sycl/include/sycl/ext/intel/experimental/esimd.hpp @kbobrovs @v-klochkov @kychendev
105+
sycl/doc/extensions/ExplicitSIMD/ @kbobrovs @v-klochkov @kychendev
109106

110107
# ITT annotations
111108
llvm/lib/Transforms/Instrumentation/SPIRITTAnnotations.cpp @MrSidims @vzakhari

.github/workflows/linux_post_commit.yml

+23-8
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
- sycl
77
jobs:
88
check:
9-
runs-on: ubuntu-18.04
9+
runs-on: ubuntu-20.04
1010
if: github.repository == 'intel/llvm'
1111
strategy:
1212
fail-fast: false
@@ -18,7 +18,15 @@ jobs:
1818
with:
1919
path: src
2020
- name: Install Ubuntu deps
21-
run: sudo apt install -y ninja-build
21+
run: sudo apt install -y ninja-build ccache
22+
- name: Setup Cache
23+
uses: actions/cache@v2
24+
id: cache
25+
with:
26+
path: ${{ github.workspace }}/cache
27+
key: build-${{ runner.os }}-${{ matrix.config }}-${{ github.sha }}
28+
restore-keys: |
29+
build-${{ runner.os }}-${{ matrix.config }}-
2230
- name: Configure
2331
run: |
2432
CONFIG=${{ matrix.config }}
@@ -28,12 +36,12 @@ jobs:
2836
;;
2937
SharedLibs)
3038
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
31-
sudo add-apt-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-12 main"
39+
sudo add-apt-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-13 main"
3240
sudo apt-get update
33-
sudo apt-get install -y clang-12
41+
sudo apt-get install -y clang-13
3442
export ARGS="--shared-libs"
35-
export CC="clang-12"
36-
export CXX="clang++-12"
43+
export CC="clang-13"
44+
export CXX="clang++-13"
3745
;;
3846
NoAssertions)
3947
export ARGS="--no-assertions"
@@ -42,7 +50,10 @@ jobs:
4250
mkdir -p $GITHUB_WORKSPACE/build
4351
cd $GITHUB_WORKSPACE/build
4452
python3 $GITHUB_WORKSPACE/src/buildbot/configure.py -w $GITHUB_WORKSPACE \
45-
-s $GITHUB_WORKSPACE/src -o $GITHUB_WORKSPACE/build -t Release $ARGS
53+
-s $GITHUB_WORKSPACE/src -o $GITHUB_WORKSPACE/build -t Release \
54+
--ci-defaults $ARGS --cmake-opt="-DLLVM_CCACHE_BUILD=ON" \
55+
--cmake-opt="-DLLVM_CCACHE_DIR=$GITHUB_WORKSPACE/cache" \
56+
--cmake-opt="-DLLVM_CCACHE_MAXSIZE=2G"
4657
- name: Compile
4758
run: |
4859
python3 $GITHUB_WORKSPACE/src/buildbot/compile.py -w $GITHUB_WORKSPACE \
@@ -67,11 +78,15 @@ jobs:
6778
run: |
6879
python3 $GITHUB_WORKSPACE/src/buildbot/check.py -w $GITHUB_WORKSPACE \
6980
-s $GITHUB_WORKSPACE/src -o $GITHUB_WORKSPACE/build -t check-llvm-spirv
81+
- name: check-xptifw
82+
if: always()
83+
run: |
84+
python3 $GITHUB_WORKSPACE/src/buildbot/check.py -w $GITHUB_WORKSPACE \
85+
-s $GITHUB_WORKSPACE/src -o $GITHUB_WORKSPACE/build -t check-xptifw
7086
- name: Pack
7187
run: tar -czvf llvm_sycl.tar.gz -C $GITHUB_WORKSPACE/build/install .
7288
- name: Upload artifacts
7389
uses: actions/upload-artifact@v1
7490
with:
7591
name: sycl_linux_${{ matrix.config }}
7692
path: llvm_sycl.tar.gz
77-
+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: CI Containers
2+
on:
3+
workflow_dispatch:
4+
schedule:
5+
# Every 1st and 15th day of month
6+
- cron: '0 0 1,15 * *'
7+
8+
jobs:
9+
base_image_ubuntu2004:
10+
if: github.repository == 'intel/llvm'
11+
name: Base Ubuntu 20.04 Docker image
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout
15+
uses: actions/checkout@v2
16+
with:
17+
fetch-depth: 1
18+
- name: Login to GitHub Container Registry
19+
uses: docker/login-action@v1
20+
with:
21+
registry: ghcr.io
22+
username: ${{ github.repository_owner }}
23+
password: ${{ secrets.GITHUB_TOKEN }}
24+
- name: Build and Push Container
25+
uses: docker/build-push-action@v2
26+
with:
27+
push: true
28+
tags: |
29+
ghcr.io/${{ github.repository }}/ubuntu2004_base:${{ github.sha }}
30+
ghcr.io/${{ github.repository }}/ubuntu2004_base:latest
31+
context: ${{ github.workspace }}/devops
32+
file: ${{ github.workspace }}/devops/containers/ubuntu2004_base.Dockerfile

.mailmap

+1

CONTRIBUTING.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@ see [ABI Policy Guide](sycl/doc/ABIPolicyGuide.md) for more information.
3838
- [clang-format](https://clang.llvm.org/docs/ClangFormat.html) and
3939
[clang-tidy](https://clang.llvm.org/extra/clang-tidy/) tools can be
4040
integrated into your workflow to ensure formatting and stylistic
41-
compliance of your changes.
41+
compliance of your changes. To avoid code formatting misalignment with
42+
GitHub Actions check we recommend using 10 version of clang-format tool
43+
(default version on Ubuntu 20.04).
4244
- use
4345

4446
```bash

buildbot/configure.py

+30-16
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,10 @@ def do_configure(args):
2929
libclc_targets_to_build = ''
3030
libclc_gen_remangled_variants = 'OFF'
3131
sycl_build_pi_cuda = 'OFF'
32-
sycl_build_pi_esimd_cpu = 'OFF'
33-
sycl_build_pi_rocm = 'OFF'
34-
sycl_build_pi_rocm_platform = 'AMD'
32+
sycl_build_pi_esimd_emulator = 'OFF'
33+
sycl_build_pi_hip = 'OFF'
34+
sycl_build_pi_hip_platform = 'AMD'
35+
sycl_clang_extra_flags = ''
3536
sycl_werror = 'ON'
3637
llvm_enable_assertions = 'ON'
3738
llvm_enable_doxygen = 'OFF'
@@ -40,15 +41,21 @@ def do_configure(args):
4041
llvm_enable_lld = 'OFF'
4142

4243
sycl_enable_xpti_tracing = 'ON'
44+
xpti_enable_werror = 'ON'
45+
46+
if args.ci_defaults:
47+
print("#############################################")
48+
print("# Default CI configuration will be applied. #")
49+
print("#############################################")
4350

4451
# replace not append, so ARM ^ X86
4552
if args.arm:
4653
llvm_targets_to_build = 'ARM;AArch64'
4754

4855
if args.enable_esimd_cpu_emulation:
49-
sycl_build_pi_esimd_cpu = 'ON'
56+
sycl_build_pi_esimd_emulator = 'ON'
5057

51-
if args.cuda or args.rocm:
58+
if args.cuda or args.hip:
5259
llvm_enable_projects += ';libclc'
5360

5461
if args.cuda:
@@ -57,23 +64,26 @@ def do_configure(args):
5764
libclc_gen_remangled_variants = 'ON'
5865
sycl_build_pi_cuda = 'ON'
5966

60-
if args.rocm:
61-
if args.rocm_platform == 'AMD':
67+
if args.hip:
68+
if args.hip_platform == 'AMD':
6269
llvm_targets_to_build += ';AMDGPU'
6370
libclc_targets_to_build += ';amdgcn--;amdgcn--amdhsa'
71+
if args.hip_amd_arch:
72+
sycl_clang_extra_flags += "-Xsycl-target-backend=amdgcn-amd-amdhsa --offload-arch="+args.hip_amd_arch
6473

65-
# The ROCm plugin for AMD uses lld for linking
74+
# The HIP plugin for AMD uses lld for linking
6675
llvm_enable_projects += ';lld'
67-
elif args.rocm_platform == 'NVIDIA' and not args.cuda:
76+
elif args.hip_platform == 'NVIDIA' and not args.cuda:
6877
llvm_targets_to_build += ';NVPTX'
6978
libclc_targets_to_build += ';nvptx64--;nvptx64--nvidiacl'
7079
libclc_gen_remangled_variants = 'ON'
7180

72-
sycl_build_pi_rocm_platform = args.rocm_platform
73-
sycl_build_pi_rocm = 'ON'
81+
sycl_build_pi_hip_platform = args.hip_platform
82+
sycl_build_pi_hip = 'ON'
7483

7584
if args.no_werror:
7685
sycl_werror = 'OFF'
86+
xpti_enable_werror = 'OFF'
7787

7888
if args.no_assertions:
7989
llvm_enable_assertions = 'OFF'
@@ -107,8 +117,8 @@ def do_configure(args):
107117
"-DLIBCLC_TARGETS_TO_BUILD={}".format(libclc_targets_to_build),
108118
"-DLIBCLC_GENERATE_REMANGLED_VARIANTS={}".format(libclc_gen_remangled_variants),
109119
"-DSYCL_BUILD_PI_CUDA={}".format(sycl_build_pi_cuda),
110-
"-DSYCL_BUILD_PI_ROCM={}".format(sycl_build_pi_rocm),
111-
"-DSYCL_BUILD_PI_ROCM_PLATFORM={}".format(sycl_build_pi_rocm_platform),
120+
"-DSYCL_BUILD_PI_HIP={}".format(sycl_build_pi_hip),
121+
"-DSYCL_BUILD_PI_HIP_PLATFORM={}".format(sycl_build_pi_hip_platform),
112122
"-DLLVM_BUILD_TOOLS=ON",
113123
"-DSYCL_ENABLE_WERROR={}".format(sycl_werror),
114124
"-DCMAKE_INSTALL_PREFIX={}".format(install_dir),
@@ -118,7 +128,9 @@ def do_configure(args):
118128
"-DBUILD_SHARED_LIBS={}".format(llvm_build_shared_libs),
119129
"-DSYCL_ENABLE_XPTI_TRACING={}".format(sycl_enable_xpti_tracing),
120130
"-DLLVM_ENABLE_LLD={}".format(llvm_enable_lld),
121-
"-DSYCL_BUILD_PI_ESIMD_CPU={}".format(sycl_build_pi_esimd_cpu)
131+
"-DSYCL_BUILD_PI_ESIMD_EMULATOR={}".format(sycl_build_pi_esimd_emulator),
132+
"-DXPTI_ENABLE_WERROR={}".format(xpti_enable_werror),
133+
"-DSYCL_CLANG_EXTRA_FLAGS={}".format(sycl_clang_extra_flags)
122134
]
123135

124136
if args.l0_headers and args.l0_loader:
@@ -178,8 +190,9 @@ def main():
178190
parser.add_argument("-t", "--build-type",
179191
metavar="BUILD_TYPE", default="Release", help="build type: Debug, Release")
180192
parser.add_argument("--cuda", action='store_true', help="switch from OpenCL to CUDA")
181-
parser.add_argument("--rocm", action='store_true', help="switch from OpenCL to ROCm")
182-
parser.add_argument("--rocm-platform", type=str, choices=['AMD', 'NVIDIA'], default='AMD', help="choose ROCm backend")
193+
parser.add_argument("--hip", action='store_true', help="switch from OpenCL to HIP")
194+
parser.add_argument("--hip-platform", type=str, choices=['AMD', 'NVIDIA'], default='AMD', help="choose hardware platform for HIP backend")
195+
parser.add_argument("--hip-amd-arch", type=str, help="Sets AMD gpu architecture for llvm lit tests, this is only needed for the HIP backend and AMD platform")
183196
parser.add_argument("--arm", action='store_true', help="build ARM support rather than x86")
184197
parser.add_argument("--enable-esimd-cpu-emulation", action='store_true', help="build with ESIMD_CPU emulation support")
185198
parser.add_argument("--no-assertions", action='store_true', help="build without assertions")
@@ -193,6 +206,7 @@ def main():
193206
parser.add_argument("--libcxx-library", metavar="LIBCXX_LIBRARY_PATH", help="libcxx library path")
194207
parser.add_argument("--use-lld", action="store_true", help="Use LLD linker for build")
195208
parser.add_argument("--llvm-external-projects", help="Add external projects to build. Add as comma seperated list.")
209+
parser.add_argument("--ci-defaults", action="store_true", help="Enable default CI parameters")
196210
args = parser.parse_args()
197211

198212
print("args:{}".format(args))

buildbot/dependency.conf

+24-24
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,39 @@
11
[VERSIONS]
2-
# https://github.com/intel/llvm/releases/download/2021-WW26/oclcpuexp-2021.12.6.0.19_rel.tar.gz
3-
ocl_cpu_rt_ver=2021.12.6.0.19
4-
# https://github.com/intel/llvm/releases/download/2021-WW26/win-oclcpuexp-2021.12.6.0.19_rel.zip
5-
ocl_cpu_rt_ver_win=2021.12.6.0.19
2+
# https://github.com/intel/llvm/releases/download/2021-WW40/oclcpuexp-2021.12.9.0.24_rel.tar.gz
3+
ocl_cpu_rt_ver=2021.12.9.0.24
4+
# https://github.com/intel/llvm/releases/download/2021-WW40/win-oclcpuexp-2021.12.9.0.24_rel.zip
5+
ocl_cpu_rt_ver_win=2021.12.9.0.24
66
# Same GPU driver supports Level Zero and OpenCL
7-
# https://github.com/intel/compute-runtime/releases/tag/21.33.20678
8-
ocl_gpu_rt_ver=21.33.20678
7+
# https://github.com/intel/compute-runtime/releases/tag/21.37.20939
8+
ocl_gpu_rt_ver=21.37.20939
99
# Same GPU driver supports Level Zero and OpenCL
10-
# https://downloadmirror.intel.com/646152/igfx_win_100.9805.zip
11-
ocl_gpu_rt_ver_win=30.0.100.9805
10+
# https://downloadmirror.intel.com/648245/igfx_win_100.9864.zip
11+
ocl_gpu_rt_ver_win=30.0.100.9864
1212
intel_sycl_ver=build
1313

1414
# TBB binaries can be built from sources following instructions under
1515
# https://github.com/oneapi-src/oneTBB/blob/master/cmake/README.md
1616
# or downloaded using links below:
17-
# https://github.com/oneapi-src/oneTBB/releases/download/v2021.2.0/oneapi-tbb-2021.2.0-lin.tgz
18-
tbb_ver=2021.3.0.418
19-
# https://github.com/oneapi-src/oneTBB/releases/download/v2021.2.0/oneapi-tbb-2021.2.0-win.zip
20-
tbb_ver_win=2021.3.0.418
17+
# https://github.com/oneapi-src/oneTBB/releases/download/v2021.3.0/oneapi-tbb-2021.3.0-lin.tgz
18+
tbb_ver=2021.4.0.569
19+
# https://github.com/oneapi-src/oneTBB/releases/download/v2021.3.0/oneapi-tbb-2021.3.0-win.zip
20+
tbb_ver_win=2021.4.0.561
2121

22-
# https://github.com/intel/llvm/releases/download/2021-WW26/fpgaemu-2021.12.6.0.19_rel.tar.gz
23-
ocl_fpga_emu_ver=2021.12.6.0.19
24-
# https://github.com/intel/llvm/releases/download/2021-WW26/win-fpgaemu-2021.12.6.0.19_rel.zip
25-
ocl_fpga_emu_ver_win=2021.12.6.0.19
26-
fpga_ver=20210519_000004
27-
fpga_ver_win=20210509_000006
22+
# https://github.com/intel/llvm/releases/download/2021-WW40/fpgaemu-2021.12.9.0.24_rel.tar.gz
23+
ocl_fpga_emu_ver=2021.12.9.0.24
24+
# https://github.com/intel/llvm/releases/download/2021-WW40/win-fpgaemu-2021.12.9.0.24_rel.zip
25+
ocl_fpga_emu_ver_win=2021.12.9.0.24
26+
fpga_ver=20210805_000004
27+
fpga_ver_win=20210805_000004
2828
ocloc_ver_win=27.20.100.9168
2929

3030
[DRIVER VERSIONS]
31-
cpu_driver_lin=2021.12.6.0.19
32-
cpu_driver_win=2021.12.6.0.19
33-
gpu_driver_lin=21.33.20678
34-
gpu_driver_win=30.0.100.9805
35-
fpga_driver_lin=2021.12.6.0.19
36-
fpga_driver_win=2021.12.6.0.19
31+
cpu_driver_lin=2021.12.9.0.24
32+
cpu_driver_win=2021.12.9.0.24
33+
gpu_driver_lin=21.37.20939
34+
gpu_driver_win=30.0.100.9864
35+
fpga_driver_lin=2021.12.9.0.24
36+
fpga_driver_win=2021.12.9.0.24
3737
# NVidia CUDA driver
3838
# TODO provide URL for CUDA driver
3939
nvidia_gpu_driver_lin=435.21

0 commit comments

Comments
 (0)