Skip to content

Commit fcdb1f4

Browse files
author
iclsrc
committed
Merge from 'sycl' to 'sycl-web' (16 commits)
2 parents fa4df96 + 43b3d42 commit fcdb1f4

File tree

88 files changed

+1272
-407
lines changed

Some content is hidden

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

88 files changed

+1272
-407
lines changed

.github/workflows/coverity.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
cd $GITHUB_WORKSPACE/build
4646
python3 $GITHUB_WORKSPACE/src/buildbot/configure.py -w $GITHUB_WORKSPACE \
4747
-s $GITHUB_WORKSPACE/src -o $GITHUB_WORKSPACE/build -t Release \
48-
--ci-defaults --hip --cuda \
48+
--ci-defaults --use-zstd --hip --cuda \
4949
-DNATIVECPU_USE_OCK=Off \
5050
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=SPIRV
5151

.github/workflows/sycl-linux-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ jobs:
173173
cd $GITHUB_WORKSPACE/build
174174
python3 $GITHUB_WORKSPACE/src/buildbot/configure.py -w $GITHUB_WORKSPACE \
175175
-s $GITHUB_WORKSPACE/src -o $GITHUB_WORKSPACE/build -t Release \
176-
--ci-defaults ${{ inputs.build_configure_extra_args }} \
176+
--ci-defaults --use-zstd ${{ inputs.build_configure_extra_args }} \
177177
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
178178
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
179179
-DLLVM_INSTALL_UTILS=ON \

.github/workflows/sycl-macos-build-and-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949
cd $GITHUB_WORKSPACE/build
5050
python3 $GITHUB_WORKSPACE/src/buildbot/configure.py -w $GITHUB_WORKSPACE \
5151
-s $GITHUB_WORKSPACE/src -o $GITHUB_WORKSPACE/build -t Release \
52-
--ci-defaults $ARGS \
52+
--ci-defaults --use-zstd $ARGS \
5353
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
5454
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
5555
-DLLVM_INSTALL_UTILS=ON

.github/workflows/sycl-nightly.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ jobs:
287287
fail-fast: false
288288
matrix:
289289
runner: ['["PVC_PERF"]', '["BMG_PERF"]']
290-
backend: ['level_zero:gpu']
290+
backend: ['level_zero:gpu', 'level_zero_v2:gpu']
291291
include:
292292
- ref: ${{ github.sha }}
293293
save_name: 'Baseline'

.github/workflows/sycl-windows-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ jobs:
140140
IF NOT EXIST D:\github\_work\cache MKDIR D:\github\_work\cache
141141
IF NOT EXIST D:\github\_work\cache\${{inputs.build_cache_suffix}} MKDIR D:\github\_work\cache\${{inputs.build_cache_suffix}}
142142
python.exe src/buildbot/configure.py -o build ^
143-
--ci-defaults %ARGS% ^
143+
--ci-defaults --use-zstd %ARGS% ^
144144
"-DCMAKE_C_COMPILER=${{inputs.cxx}}" ^
145145
"-DCMAKE_CXX_COMPILER=${{inputs.cxx}}" ^
146146
"-DCMAKE_INSTALL_PREFIX=%GITHUB_WORKSPACE%\install" ^

clang/lib/Sema/SPIRVBuiltins.td

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,8 @@ class ConstOCLSPVBuiltin<string _Name, list<Type> _Signature> :
322322
// OpenCL v1.0/1.2/2.0 s6.1.1: Built-in Scalar Data Types.
323323
def Bool : IntType<"bool", QualType<"Context.BoolTy">, 1>;
324324
def TrueChar : IntType<"_char", QualType<"Context.CharTy", 0, 1>, 8>;
325-
def Char : IntType<"char", QualTypeFromFunction<"GetCharType", 0, 1>, 8>;
325+
def Char : IntType<"char", QualType<"Context.SignedCharTy", 0, 1>, 8>;
326+
def SChar : IntType<"schar", QualType<"Context.SignedCharTy", 0, 1>, 8>;
326327
def UChar : UIntType<"uchar", QualType<"Context.UnsignedCharTy">, 8>;
327328
def Short : IntType<"short", QualType<"Context.ShortTy", 0, 1>, 16>;
328329
def UShort : UIntType<"ushort", QualType<"Context.UnsignedShortTy">, 16>;
@@ -411,7 +412,7 @@ def IntLongFloatGenType1 : GenericType<"IntLongFloatGenType1", TLIntLongFloats
411412

412413
// GenType definitions for every single base type (e.g. fp32 only).
413414
// Names are like: GenTypeFloatVecAndScalar.
414-
foreach Type = [Char, UChar, Short, UShort,
415+
foreach Type = [Char, UChar, SChar, Short, UShort,
415416
Int, UInt, Long, ULong,
416417
Float, Double, Half] in {
417418
foreach VecSizes = [VecAndScalar, VecNoScalar] in {
@@ -871,16 +872,16 @@ foreach name = ["Dot"] in {
871872
}
872873

873874
foreach name = ["Any", "All"] in {
874-
def : SPVBuiltin<name, [Bool, GenTypeCharVecNoScalar], Attr.Const>;
875+
def : SPVBuiltin<name, [Bool, GenTypeSCharVecNoScalar], Attr.Const>;
875876
}
876877

877878
foreach name = ["IsNan", "IsInf", "IsFinite", "IsNormal", "SignBitSet"] in {
878879
def : SPVBuiltin<name, [Bool, Float], Attr.Const>;
879880
def : SPVBuiltin<name, [Bool, Double], Attr.Const>;
880881
def : SPVBuiltin<name, [Bool, Half], Attr.Const>;
881-
def : SPVBuiltin<name, [GenTypeCharVecNoScalar, GenTypeFloatVecNoScalar], Attr.Const>;
882-
def : SPVBuiltin<name, [GenTypeCharVecNoScalar, GenTypeDoubleVecNoScalar], Attr.Const>;
883-
def : SPVBuiltin<name, [GenTypeCharVecNoScalar, GenTypeHalfVecNoScalar], Attr.Const>;
882+
def : SPVBuiltin<name, [GenTypeSCharVecNoScalar, GenTypeFloatVecNoScalar], Attr.Const>;
883+
def : SPVBuiltin<name, [GenTypeSCharVecNoScalar, GenTypeDoubleVecNoScalar], Attr.Const>;
884+
def : SPVBuiltin<name, [GenTypeSCharVecNoScalar, GenTypeHalfVecNoScalar], Attr.Const>;
884885
}
885886

886887
foreach name = ["LessOrGreater",
@@ -894,9 +895,9 @@ foreach name = ["LessOrGreater",
894895
def : SPVBuiltin<name, [Bool, Float, Float], Attr.Const>;
895896
def : SPVBuiltin<name, [Bool, Double, Double], Attr.Const>;
896897
def : SPVBuiltin<name, [Bool, Half, Half], Attr.Const>;
897-
def : SPVBuiltin<name, [GenTypeCharVecNoScalar, GenTypeFloatVecNoScalar, GenTypeFloatVecNoScalar], Attr.Const>;
898-
def : SPVBuiltin<name, [GenTypeCharVecNoScalar, GenTypeDoubleVecNoScalar, GenTypeDoubleVecNoScalar], Attr.Const>;
899-
def : SPVBuiltin<name, [GenTypeCharVecNoScalar, GenTypeHalfVecNoScalar, GenTypeHalfVecNoScalar], Attr.Const>;
898+
def : SPVBuiltin<name, [GenTypeSCharVecNoScalar, GenTypeFloatVecNoScalar, GenTypeFloatVecNoScalar], Attr.Const>;
899+
def : SPVBuiltin<name, [GenTypeSCharVecNoScalar, GenTypeDoubleVecNoScalar, GenTypeDoubleVecNoScalar], Attr.Const>;
900+
def : SPVBuiltin<name, [GenTypeSCharVecNoScalar, GenTypeHalfVecNoScalar, GenTypeHalfVecNoScalar], Attr.Const>;
900901
}
901902

902903
foreach name = ["BitCount"] in {

clang/lib/Sema/SemaLookup.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@
5151
#include <utility>
5252
#include <vector>
5353

54-
static inline clang::QualType GetCharType(clang::ASTContext &Context);
5554
static inline clang::QualType GetFloat16Type(clang::ASTContext &Context);
5655

5756
#include "OpenCLBuiltins.inc"
@@ -702,10 +701,6 @@ LLVM_DUMP_METHOD void LookupResult::dump() {
702701
D->dump();
703702
}
704703

705-
static inline QualType GetCharType(clang::ASTContext &Context) {
706-
return Context.getLangOpts().OpenCL ? Context.CharTy : Context.SignedCharTy;
707-
}
708-
709704
static inline QualType GetFloat16Type(clang::ASTContext &Context) {
710705
return Context.getLangOpts().OpenCL ? Context.HalfTy : Context.Float16Ty;
711706
}

clang/test/CodeGenSPIRV/spirv-builtin-lookup-group.cl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ bool group_any(bool predicate) {
2727

2828
char group_broad_cast(char a) {
2929
// CHECK-LABEL: @group_broad_cast(
30-
// CHECK: call spir_func signext i8 @_Z22__spirv_GroupBroadcasticj(
30+
// CHECK: call spir_func i32 @_Z22__spirv_GroupBroadcastiij(
3131
return __spirv_GroupBroadcast(2, a, 0u);
3232
}
3333

@@ -87,7 +87,7 @@ unsigned long group_umax(unsigned long a) {
8787

8888
char group_smin(char a) {
8989
// CHECK-LABEL: @group_smin(
90-
// CHECK: call spir_func signext i8 @_Z17__spirv_GroupSMiniic(
90+
// CHECK: call spir_func i32 @_Z17__spirv_GroupSMiniii(
9191
return __spirv_GroupSMin(2, 0, a);
9292
}
9393

devops/scripts/benchmarks/utils/oneapi.py

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from options import options
99
import os
1010
import hashlib
11+
import glob
1112

1213

1314
class OneAPI:
@@ -18,6 +19,7 @@ def __init__(self):
1819

1920
self.install_package(
2021
"base",
22+
"2025.1.0+627",
2123
"https://registrationcenter-download.intel.com/akdlm/IRC_NAS/cca951e1-31e7-485e-b300-fe7627cb8c08/intel-oneapi-base-toolkit-2025.1.0.651_offline.sh",
2224
"98cad2489f2c90a2b328568a59371cf35855a3338643f61a9fc2d16a265d29f22feb2d673916dd7be18fa12a5e6d2475",
2325
)
@@ -27,26 +29,41 @@ def generate_unique_oneapi_id(self, path):
2729
hash_object = hashlib.md5(path.encode())
2830
return hash_object.hexdigest()
2931

30-
def install_package(self, name, url, checksum):
31-
package_path = os.path.join(self.oneapi_dir, name)
32+
def check_install(self, version):
33+
logs_dir = os.path.join(self.oneapi_dir, "logs")
34+
pattern = f"{logs_dir}/installer.install.intel.oneapi.lin.basekit.product,v={version}*.log"
35+
log_files = glob.glob(pattern)
36+
success_line = f"Operation 'intel.oneapi.lin.basekit.product,v={version}' execution is finished with status Success."
37+
for log_file in log_files:
38+
try:
39+
with open(log_file, "r") as f:
40+
for line in f:
41+
if success_line in line:
42+
return True
43+
except Exception:
44+
continue
45+
return False
46+
47+
def install_package(self, name, version, url, checksum):
48+
if self.check_install(version):
49+
print(f"{name} version {version} already installed, skipping.")
50+
return
51+
package_name = f"package_{name}_{version}.sh"
52+
package_path = os.path.join(self.oneapi_dir, f"{package_name}")
3253
if Path(package_path).exists():
33-
print(
34-
f"{package_path} exists, skipping installing oneAPI package {name}..."
54+
print(f"{package_path} exists, skipping download of oneAPI package...")
55+
else:
56+
package = download(
57+
self.oneapi_dir, url, f"{package_name}", checksum=checksum
3558
)
36-
return
37-
38-
package = download(
39-
self.oneapi_dir, url, f"package_{name}.sh", checksum=checksum
40-
)
4159
try:
42-
print(f"installing {name}")
4360
run(
44-
f"sh {package} -a -s --eula accept --install-dir {self.oneapi_dir} --instance {self.oneapi_instance_id}"
61+
f"sh {package_path} -a -s --eula accept --install-dir {self.oneapi_dir} --instance {self.oneapi_instance_id}"
4562
)
4663
except:
47-
print("oneAPI installation likely exists already")
64+
print(f"OneAPI {name} version {version} installation likely exists already")
4865
return
49-
print(f"{name} installation complete")
66+
print(f"OneAPI {name} version {version} installation complete")
5067

5168
def package_dir(self, package, dir):
5269
return os.path.join(self.oneapi_dir, package, "latest", dir)

libclc/clc/include/clc/clc_as_type.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#define __CLC_CLC_AS_TYPE_H__
1111

1212
#define __clc_as_char(x) __builtin_astype(x, char)
13+
#define __clc_as_schar(x) __builtin_astype(x, schar)
1314
#define __clc_as_uchar(x) __builtin_astype(x, uchar)
1415
#define __clc_as_short(x) __builtin_astype(x, short)
1516
#define __clc_as_ushort(x) __builtin_astype(x, ushort)
@@ -20,6 +21,7 @@
2021
#define __clc_as_float(x) __builtin_astype(x, float)
2122

2223
#define __clc_as_char2(x) __builtin_astype(x, char2)
24+
#define __clc_as_schar2(x) __builtin_astype(x, schar2)
2325
#define __clc_as_uchar2(x) __builtin_astype(x, uchar2)
2426
#define __clc_as_short2(x) __builtin_astype(x, short2)
2527
#define __clc_as_ushort2(x) __builtin_astype(x, ushort2)
@@ -30,6 +32,7 @@
3032
#define __clc_as_float2(x) __builtin_astype(x, float2)
3133

3234
#define __clc_as_char3(x) __builtin_astype(x, char3)
35+
#define __clc_as_schar3(x) __builtin_astype(x, schar3)
3336
#define __clc_as_uchar3(x) __builtin_astype(x, uchar3)
3437
#define __clc_as_short3(x) __builtin_astype(x, short3)
3538
#define __clc_as_ushort3(x) __builtin_astype(x, ushort3)
@@ -40,6 +43,7 @@
4043
#define __clc_as_float3(x) __builtin_astype(x, float3)
4144

4245
#define __clc_as_char4(x) __builtin_astype(x, char4)
46+
#define __clc_as_schar4(x) __builtin_astype(x, schar4)
4347
#define __clc_as_uchar4(x) __builtin_astype(x, uchar4)
4448
#define __clc_as_short4(x) __builtin_astype(x, short4)
4549
#define __clc_as_ushort4(x) __builtin_astype(x, ushort4)
@@ -50,7 +54,9 @@
5054
#define __clc_as_float4(x) __builtin_astype(x, float4)
5155

5256
#define __clc_as_char8(x) __builtin_astype(x, char8)
57+
#define __clc_as_schar8(x) __builtin_astype(x, schar8)
5358
#define __clc_as_uchar8(x) __builtin_astype(x, uchar8)
59+
#define __clc_as_schar8(x) __builtin_astype(x, schar8)
5460
#define __clc_as_short8(x) __builtin_astype(x, short8)
5561
#define __clc_as_ushort8(x) __builtin_astype(x, ushort8)
5662
#define __clc_as_int8(x) __builtin_astype(x, int8)
@@ -60,6 +66,7 @@
6066
#define __clc_as_float8(x) __builtin_astype(x, float8)
6167

6268
#define __clc_as_char16(x) __builtin_astype(x, char16)
69+
#define __clc_as_schar16(x) __builtin_astype(x, schar16)
6370
#define __clc_as_uchar16(x) __builtin_astype(x, uchar16)
6471
#define __clc_as_short16(x) __builtin_astype(x, short16)
6572
#define __clc_as_ushort16(x) __builtin_astype(x, ushort16)

0 commit comments

Comments
 (0)