Skip to content

Commit 4a40d12

Browse files
committed
Merge remote-tracking branch 'origin/sycl' into sycl-max-wg-size-kernel-props
2 parents bb55883 + 340e133 commit 4a40d12

File tree

68 files changed

+157
-505
lines changed

Some content is hidden

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

68 files changed

+157
-505
lines changed

.github/workflows/sycl-docs.yml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Generate Doxygen documentation
1+
name: Generate documentation
22

33
on:
44
schedule:
@@ -25,16 +25,14 @@ jobs:
2525
path: repo
2626
- name: Install deps
2727
run: |
28-
sudo apt-get install -y doxygen graphviz ssh ninja-build libhwloc-dev
28+
sudo apt-get install -y graphviz ssh ninja-build libhwloc-dev
2929
sudo pip3 install -r repo/llvm/docs/requirements.txt
3030
- name: Build Docs
3131
run: |
3232
mkdir -p $GITHUB_WORKSPACE/build
3333
cd $GITHUB_WORKSPACE/build
3434
python $GITHUB_WORKSPACE/repo/buildbot/configure.py -w $GITHUB_WORKSPACE \
3535
-s $GITHUB_WORKSPACE/repo -o $GITHUB_WORKSPACE/build -t Release --docs
36-
cmake --build . --target doxygen-sycl
37-
cmake --build . --target doxygen-clang
3836
cmake --build . --target docs-sycl-html
3937
cmake --build . --target docs-clang-html
4038
- name: Deploy
@@ -52,9 +50,7 @@ jobs:
5250
git rm -rf .
5351
touch .nojekyll
5452
yes | \cp -rf $GITHUB_WORKSPACE/build/tools/sycl/doc/html/* .
55-
mv $GITHUB_WORKSPACE/build/tools/sycl/doc/doxygen/html doxygen/
5653
mv $GITHUB_WORKSPACE/build/tools/clang/docs/html clang/
57-
mv $GITHUB_WORKSPACE/build/tools/clang/docs/doxygen/html clang_doxygen/
5854
git config --global user.name "iclsrc"
5955
git config --global user.email "[email protected]"
6056
git add .

buildbot/configure.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,6 @@ def do_configure(args):
116116
llvm_enable_assertions = "OFF"
117117

118118
if args.docs:
119-
llvm_enable_doxygen = "ON"
120119
llvm_enable_sphinx = "ON"
121120

122121
if args.shared_libs:

clang/include/clang/Driver/Options.td

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7049,9 +7049,16 @@ def fsycl_remove_unused_external_funcs : Flag<["-"], "fsycl-remove-unused-extern
70497049
def fno_sycl_remove_unused_external_funcs : Flag<["-"], "fno-sycl-remove-unused-external-funcs">,
70507050
HelpText<"Prevent removal of unused `SYCL_EXTERNAL` functions">;
70517051
def fsycl_allow_device_dependencies : Flag<["-"], "fsycl-allow-device-dependencies">,
7052-
HelpText<"Allow dependencies between device code images">;
7052+
HelpText<"Deprecated: please use -fsycl-allow-device-image-dependencies instead.">,
7053+
Flags<[Deprecated]>;
70537054
def fno_sycl_allow_device_dependencies : Flag<["-"], "fno-sycl-allow-device-dependencies">,
7054-
HelpText<"Do not allow dependencies between device code images (default)">;
7055+
HelpText<"Deprecated: please use -fno-sycl-allow-device-image-dependencies instead.">,
7056+
Flags<[Deprecated]>;
7057+
7058+
defm sycl_allow_device_image_dependencies: BoolOptionWithoutMarshalling<"f", "sycl-allow-device-image-dependencies",
7059+
PosFlag<SetTrue, [], [ClangOption], "Allow dependencies between device code images">,
7060+
NegFlag<SetFalse, [], [ClangOption], "Do not allow dependencies between device code images (default)">>;
7061+
70557062
def fsycl_dump_device_code_EQ : Joined<["-"], "fsycl-dump-device-code=">,
70567063
Flags<[NoXarchOption]>,
70577064
HelpText<"Dump device code into the user provided directory.">;

clang/lib/Driver/ToolChains/Clang.cpp

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10801,10 +10801,17 @@ static void addArgs(ArgStringList &DstArgs, const llvm::opt::ArgList &Alloc,
1080110801
}
1080210802
}
1080310803

10804-
static bool allowDeviceDependencies(const llvm::opt::ArgList &TCArgs) {
10804+
static bool allowDeviceImageDependencies(const llvm::opt::ArgList &TCArgs) {
10805+
// deprecated
1080510806
if (TCArgs.hasFlag(options::OPT_fsycl_allow_device_dependencies,
1080610807
options::OPT_fno_sycl_allow_device_dependencies, false))
1080710808
return true;
10809+
10810+
// preferred
10811+
if (TCArgs.hasFlag(options::OPT_fsycl_allow_device_image_dependencies,
10812+
options::OPT_fno_sycl_allow_device_image_dependencies, false))
10813+
return true;
10814+
1080810815
return false;
1080910816
}
1081010817

@@ -10835,7 +10842,7 @@ static void getNonTripleBasedSYCLPostLinkOpts(const ToolChain &TC,
1083510842
options::OPT_fsycl_esimd_force_stateless_mem, false))
1083610843
addArgs(PostLinkArgs, TCArgs, {"-lower-esimd-force-stateless-mem=false"});
1083710844

10838-
if (allowDeviceDependencies(TCArgs))
10845+
if (allowDeviceImageDependencies(TCArgs))
1083910846
addArgs(PostLinkArgs, TCArgs, {"-allow-device-image-dependencies"});
1084010847
}
1084110848

@@ -10853,7 +10860,7 @@ static bool shouldEmitOnlyKernelsAsEntryPoints(const ToolChain &TC,
1085310860
return true;
1085410861
// When supporting dynamic linking, non-kernels in a device image can be
1085510862
// called.
10856-
if (allowDeviceDependencies(TCArgs))
10863+
if (allowDeviceImageDependencies(TCArgs))
1085710864
return false;
1085810865
if (Triple.isNVPTX() || Triple.isAMDGPU())
1085910866
return false;

clang/test/Driver/sycl-deprecated.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,6 @@
33
// RUN: %clangxx -fno-sycl-explicit-simd %s -### 2>&1 | FileCheck %s -DOPTION=-fno-sycl-explicit-simd
44
// RUN: %clangxx -fsycl -fsycl-use-bitcode %s -### 2>&1 | FileCheck %s -DOPTION=-fsycl-use-bitcode
55
// RUN: %clangxx -fsycl -fno-sycl-use-bitcode %s -### 2>&1 | FileCheck %s -DOPTION=-fno-sycl-use-bitcode
6+
// RUN: %clangxx -fsycl -fsycl-allow-device-dependencies %s -### 2>&1 | FileCheck %s -DOPTION=-fsycl-allow-device-dependencies
7+
// RUN: %clangxx -fsycl -fno-sycl-allow-device-dependencies %s -### 2>&1 | FileCheck %s -DOPTION=-fno-sycl-allow-device-dependencies
68
// CHECK: option '[[OPTION]]' is deprecated and will be removed in a future release

clang/test/Driver/sycl-offload-old-model.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -174,16 +174,16 @@
174174
// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen %s 2>&1 | FileCheck -check-prefix=CHECK_SYCL_POST_LINK_OPT_PASS %s
175175
// CHECK_SYCL_POST_LINK_OPT_PASS: sycl-post-link{{.*}}emit-only-kernels-as-entry-points
176176
// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen -fno-sycl-remove-unused-external-funcs %s 2>&1 | FileCheck -check-prefix=CHECK_SYCL_POST_LINK_OPT_NO_PASS %s
177-
// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen -fsycl-allow-device-dependencies %s 2>&1 | FileCheck -check-prefix=CHECK_SYCL_POST_LINK_OPT_NO_PASS %s
177+
// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen -fsycl-allow-device-image-dependencies %s 2>&1 | FileCheck -check-prefix=CHECK_SYCL_POST_LINK_OPT_NO_PASS %s
178178
// CHECK_SYCL_POST_LINK_OPT_NO_PASS-NOT: sycl-post-link{{.*}}emit-only-kernels-as-entry-points
179179

180180
/// Check selective passing of -allow-device-image-dependencies to sycl-post-link tool
181-
// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_fpga -fsycl-allow-device-dependencies %s 2>&1 | FileCheck -check-prefix=CHECK_SYCL_POST_LINK_ADID_PASS %s
182-
// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen -fsycl-allow-device-dependencies %s 2>&1 | FileCheck -check-prefix=CHECK_SYCL_POST_LINK_ADID_PASS %s
183-
// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen -fno-sycl-allow-device-dependencies %s 2>&1 | FileCheck -check-prefix=CHECK_SYCL_POST_LINK_ADID_NO_PASS %s
184-
// RUN: %clang_cl -### -fsycl --no-offload-new-driver -fsycl-targets=spir64_fpga -fsycl-allow-device-dependencies %s 2>&1 | FileCheck -check-prefix=CHECK_SYCL_POST_LINK_ADID_PASS %s
185-
// RUN: %clang_cl -### -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen -fsycl-allow-device-dependencies %s 2>&1 | FileCheck -check-prefix=CHECK_SYCL_POST_LINK_ADID_PASS %s
186-
// RUN: %clang_cl -### -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen -fno-sycl-allow-device-dependencies %s 2>&1 | FileCheck -check-prefix=CHECK_SYCL_POST_LINK_ADID_NO_PASS %s
181+
// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_fpga -fsycl-allow-device-image-dependencies %s 2>&1 | FileCheck -check-prefix=CHECK_SYCL_POST_LINK_ADID_PASS %s
182+
// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen -fsycl-allow-device-image-dependencies %s 2>&1 | FileCheck -check-prefix=CHECK_SYCL_POST_LINK_ADID_PASS %s
183+
// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen -fno-sycl-allow-device-image-dependencies %s 2>&1 | FileCheck -check-prefix=CHECK_SYCL_POST_LINK_ADID_NO_PASS %s
184+
// RUN: %clang_cl -### -fsycl --no-offload-new-driver -fsycl-targets=spir64_fpga -fsycl-allow-device-image-dependencies %s 2>&1 | FileCheck -check-prefix=CHECK_SYCL_POST_LINK_ADID_PASS %s
185+
// RUN: %clang_cl -### -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen -fsycl-allow-device-image-dependencies %s 2>&1 | FileCheck -check-prefix=CHECK_SYCL_POST_LINK_ADID_PASS %s
186+
// RUN: %clang_cl -### -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen -fno-sycl-allow-device-image-dependencies %s 2>&1 | FileCheck -check-prefix=CHECK_SYCL_POST_LINK_ADID_NO_PASS %s
187187

188188
// CHECK_SYCL_POST_LINK_ADID_PASS: sycl-post-link{{.*}}allow-device-image-dependencies
189189
// CHECK_SYCL_POST_LINK_ADID_NO_PASS-NOT: sycl-post-link{{.*}}allow-device-image-dependencies

libdevice/cmath_wrapper_fp64.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ short _Exp(double *px, double y,
395395
if (*px < -HUGE_EXP || y == 0.0) // certain underflow
396396
*px = 0.0;
397397
else if (HUGE_EXP < *px) { // certain overflow
398-
*px = _Inf._Double;
398+
*px = _Inf._Double * (y < 0.F ? -1.F : 1.F);
399399
ret = _INFCODE;
400400
} else { // xexp won't overflow
401401
double g = *px * invln2;

sycl/cmake/modules/FetchUnifiedRuntime.cmake

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -116,15 +116,14 @@ if(SYCL_UR_USE_FETCH_CONTENT)
116116
CACHE PATH "Path to external '${name}' adapter source dir" FORCE)
117117
endfunction()
118118

119-
set(UNIFIED_RUNTIME_REPO "https://github.com/frasercrmck/unified-runtime.git")
120-
121-
# commit cabf128094eff9ff7b79bdff559640a8a111f0c3
122-
# Merge: a96fcbc5 15bca3b6
123-
# Author: Omar Ahmed <[email protected]>
124-
# Date: Mon Aug 19 16:20:45 2024 +0100
125-
# Merge pull request #1984 from rafbiels/rafbiels/cuda-stream-race-cond
126-
# Fix race condition in CUDA stream creation
127-
set(UNIFIED_RUNTIME_TAG 6eb5208bad81457d367dbb5b51ad266cda7cf7c1)
119+
set(UNIFIED_RUNTIME_REPO "https://github.com/oneapi-src/unified-runtime.git")
120+
# commit 7ecf64d60c31cd72bd88588498536d067bad59d6
121+
# Merge: 17aa04d3 6eb5208b
122+
# Author: aarongreig <[email protected]>
123+
# Date: Wed Sep 25 11:14:47 2024 +0100
124+
# Merge pull request #1996 from frasercrmck/ur-max-wg-size-props
125+
# Add two new properties to ur_kernel_group_info_t
126+
set(UNIFIED_RUNTIME_TAG 7ecf64d60c31cd72bd88588498536d067bad59d6)
128127

129128
set(UMF_BUILD_EXAMPLES OFF CACHE INTERNAL "EXAMPLES")
130129
# Due to the use of dependentloadflag and no installer for UMF and hwloc we need

sycl/doc/extensions/supported/sycl_ext_intel_esimd/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ vectorization is expressed explicitly in the code by the programmer.
1616
Please see the additional resources on the Intel DPC++ project's github:
1717

1818
1) [ESIMD Extension Specification](./sycl_ext_intel_esimd.md)
19-
1) [ESIMD API/doxygen reference](https://intel.github.io/llvm-docs/doxygen/group__sycl__esimd.html)
2019
1) [Examples](./examples/README.md)
2120
1) [ESIMD end-to-end LIT tests](https://github.com/intel/llvm/blob/sycl/sycl/test-e2e/ESIMD/)
2221
1) [Implementation and API Restrictions](./sycl_ext_intel_esimd.md#implementation-restrictions)

sycl/doc/extensions/supported/sycl_ext_intel_esimd/sycl_ext_intel_esimd.md

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
- [Other restrictions](#other-restrictions)
3939

4040
## Other content:
41-
* [ESIMD API/doxygen reference](https://intel.github.io/llvm-docs/doxygen/group__sycl__esimd.html)
4241
* [Examples](./examples/README.md)
4342
* [ESIMD LIT tests - working code examples](https://github.com/intel/llvm/blob/sycl/sycl/test-e2e/ESIMD/)
4443

@@ -162,7 +161,6 @@ The element type must either be a vectorizable type or the `sycl::half` type.
162161
The set of vectorizable types is the
163162
set of fundamental SYCL arithmetic types excluding `bool`. The length of the
164163
vector is the second template parameter.
165-
See the complete [API reference](https://intel.github.io/llvm-docs/doxygen/classcl_1_1____ESIMD__NS_1_1simd.html#details) for the `simd` class for more details.
166164

167165
ESIMD compiler back-end does the best it can to map each `simd` class object to a
168166
contiguous block of registers in the general register file (GRF).
@@ -351,8 +349,6 @@ reduction operations are supported:
351349
- maximum
352350
- minimum
353351

354-
See more details on the API documentation [page TODO](https://intel.github.io/llvm-docs/doxygen).
355-
356352
### Memory access APIs
357353

358354
Explicit SIMD memory access interface is quite different from the standard SYCL
@@ -598,9 +594,6 @@ Many memory access APIs accept offsets as arguments, which are used to determine
598594
actual memory location for the access. Offsets are always expressed in bytes
599595
rather than element units.
600596
601-
See more details in the API documentation
602-
[page TODO](https://intel.github.io/llvm-docs/doxygen).
603-
604597
### Math operations
605598
606599
#### Extended math
@@ -649,10 +642,6 @@ ESIMD supports the following non-standard math functions implemented in hardware
649642
- Plane equation - `plane`. Solves a component-wise plane equation
650643
`w = p*u + q*v + r` where `u`, `v`, `w` are vectors and `p`, `q`, `r` are scalars.
651644
652-
653-
See more details in the API documentation
654-
[page TODO](https://intel.github.io/llvm-docs/doxygen).
655-
656645
### Dot Product Accumulate Systolic - `DPAS` API
657646
658647
DPAS is the matrix multiply-add-and-accumulate operation performed on limited size matrices/tiles.
@@ -870,9 +859,6 @@ There are other useful miscellaneous APIs provided by ESIMD.
870859
- Find least significant set bit - `fbl`.
871860
- Find most significant set bit - `fbh`.
872861

873-
See more details in the API documentation
874-
[page TODO](https://intel.github.io/llvm-docs/doxygen).
875-
876862
<br>
877863

878864
### Private Global Variables.

0 commit comments

Comments
 (0)