Skip to content

Commit 738439d

Browse files
committed
Merge branch 'sycl' into optimize_transfers
2 parents ba5a41e + 40d08c2 commit 738439d

File tree

14 files changed

+201
-186
lines changed

14 files changed

+201
-186
lines changed

.github/workflows/sycl_nightly.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,30 @@ on:
1010
- '.github/workflows/sycl_nightly.yml'
1111

1212
jobs:
13+
resolve_matrix:
14+
name: Resolve Test Matrix
15+
uses: ./.github/workflows/sycl_resolve_test_matrix.yml
16+
with:
17+
lts_config: "ocl_gen9;ocl_x64"
18+
1319
ubuntu2004_build_test:
1420
if: github.repository == 'intel/llvm'
1521
uses: ./.github/workflows/sycl_linux_build_and_test.yml
22+
needs: resolve_matrix
1623
with:
1724
build_cache_root: "/__w/"
1825
build_artifact_suffix: default
1926
build_configure_extra_args: ''
20-
lts_config: "ocl_gen9;ocl_x64"
2127

2228
ubuntu2004_opaque_pointers_build_test:
2329
if: github.repository == 'intel/llvm'
2430
uses: ./.github/workflows/sycl_linux_build_and_test.yml
31+
needs: resolve_matrix
2532
with:
2633
build_cache_root: "/__w/"
2734
build_cache_suffix: opaque_pointers
2835
build_artifact_suffix: opaque_pointers
2936
build_configure_extra_args: "--hip --cuda --enable-esimd-emulator --cmake-opt=-DDPCPP_ENABLE_OPAQUE_POINTERS=TRUE"
30-
lts_config: "ocl_gen9;ocl_x64"
3137

3238
windows_default:
3339
name: Windows

buildbot/dependency.conf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ ocl_cpu_rt_ver=2022.13.3.0.16
44
# https://github.com/intel/llvm/releases/download/2022-WW13/win-oclcpuexp-2022.13.3.0.16_rel.zip
55
ocl_cpu_rt_ver_win=2022.13.3.0.16
66
# Same GPU driver supports Level Zero and OpenCL
7-
# https://github.com/intel/compute-runtime/releases/tag/22.30.23789
8-
ocl_gpu_rt_ver=22.30.23789
7+
# https://github.com/intel/compute-runtime/releases/tag/22.31.23852
8+
ocl_gpu_rt_ver=22.31.23852
99
# Same GPU driver supports Level Zero and OpenCL
1010
# https://downloadmirror.intel.com/723911/igfx_win_101.1404.zip
1111
ocl_gpu_rt_ver_win=101.1404
@@ -31,7 +31,7 @@ ocloc_ver_win=101.1404
3131
[DRIVER VERSIONS]
3232
cpu_driver_lin=2022.13.3.0.16
3333
cpu_driver_win=2022.13.3.0.16
34-
gpu_driver_lin=22.30.23789
34+
gpu_driver_lin=22.31.23852
3535
gpu_driver_win=101.1404
3636
fpga_driver_lin=2022.13.3.0.16
3737
fpga_driver_win=2022.13.3.0.16

devops/containers/ubuntu2004_build.Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM nvidia/cuda:11.4.2-devel-ubuntu20.04
1+
FROM nvidia/cuda:11.7.0-devel-ubuntu20.04
22

33
ENV DEBIAN_FRONTEND=noninteractive
44

sycl/include/sycl/ext/intel/esimd/detail/elem_type_traits.hpp

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -655,13 +655,26 @@ struct computation_type<
655655
using Ty1 = element_type_t<T1>;
656656
using Ty2 = element_type_t<T2>;
657657
using EltTy = typename computation_type<Ty1, Ty2>::type;
658-
static constexpr int N1 = is_simd_like_type_v<T1> ? T1::length : 0;
659-
static constexpr int N2 = is_simd_like_type_v<T2> ? T2::length : 0;
660-
static_assert((N1 == N2) || ((N1 & N2) == 0), "size mismatch");
658+
659+
static constexpr int N1 = [] {
660+
if constexpr (is_simd_like_type_v<T1>) {
661+
return T1::length;
662+
} else {
663+
return 0;
664+
}
665+
}();
666+
static constexpr int N2 = [] {
667+
if constexpr (is_simd_like_type_v<T2>) {
668+
return T2::length;
669+
} else {
670+
return 0;
671+
}
672+
}();
673+
static_assert((N1 == N2) || (N1 == 0) || (N2 == 0), "size mismatch");
661674
static constexpr int N = N1 ? N1 : N2;
662675

663676
public:
664-
using type = simd<EltTy, N1>;
677+
using type = simd<EltTy, N>;
665678
};
666679

667680
template <class T1, class T2 = T1>

sycl/include/sycl/ext/intel/experimental/esimd/detail/math_intrin.hpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ __ESIMD_INTRIN __ESIMD_raw_vec_t(T0, SZ)
149149

150150
for (i = 0; i < SZ; i++) {
151151
SIMDCF_ELEMENT_SKIP(i);
152-
ret = src0.get(i) << src1.get(i);
152+
ret = src0[i] << src1[i];
153153
retv[i] = ret;
154154
}
155155
return retv;
@@ -167,7 +167,7 @@ __ESIMD_INTRIN __ESIMD_raw_vec_t(T0, SZ)
167167

168168
for (i = 0; i < SZ; i++) {
169169
SIMDCF_ELEMENT_SKIP(i);
170-
ret = src0.get(i) << src1.get(i);
170+
ret = src0[i] << src1[i];
171171
retv[i] = ret;
172172
}
173173
return retv;
@@ -185,7 +185,7 @@ __ESIMD_INTRIN __ESIMD_raw_vec_t(T0, SZ)
185185

186186
for (i = 0; i < SZ; i++) {
187187
SIMDCF_ELEMENT_SKIP(i);
188-
ret = src0.get(i) << src1.get(i);
188+
ret = src0[i] << src1[i];
189189
retv[i] = ret;
190190
}
191191
return retv;
@@ -203,7 +203,7 @@ __ESIMD_INTRIN __ESIMD_raw_vec_t(T0, SZ)
203203

204204
for (i = 0; i < SZ; i++) {
205205
SIMDCF_ELEMENT_SKIP(i);
206-
ret = src0.get(i) << src1.get(i);
206+
ret = src0[i] << src1[i];
207207
retv[i] = ret;
208208
}
209209
return retv;
@@ -221,7 +221,7 @@ __ESIMD_INTRIN __ESIMD_raw_vec_t(T0, SZ)
221221

222222
for (i = 0; i < SZ; i++) {
223223
SIMDCF_ELEMENT_SKIP(i);
224-
ret = src0.get(i) << src1.get(i);
224+
ret = src0[i] << src1[i];
225225
retv[i] = __ESIMD_EMU_DNS::satur<T0>::template saturate<T1>(ret, 1);
226226
}
227227
return retv;
@@ -239,7 +239,7 @@ __ESIMD_INTRIN __ESIMD_raw_vec_t(T0, SZ)
239239

240240
for (i = 0; i < SZ; i++) {
241241
SIMDCF_ELEMENT_SKIP(i);
242-
ret = src0.get(i) << src1.get(i);
242+
ret = src0[i] << src1[i];
243243
retv[i] = __ESIMD_EMU_DNS::satur<T0>::template saturate<T1>(ret, 1);
244244
}
245245
return retv;
@@ -257,7 +257,7 @@ __ESIMD_INTRIN __ESIMD_raw_vec_t(T0, SZ)
257257

258258
for (i = 0; i < SZ; i++) {
259259
SIMDCF_ELEMENT_SKIP(i);
260-
ret = src0.get(i) << src1.get(i);
260+
ret = src0[i] << src1[i];
261261
retv[i] = __ESIMD_EMU_DNS::satur<T0>::template saturate<T1>(ret, 1);
262262
}
263263
return retv;
@@ -275,7 +275,7 @@ __ESIMD_INTRIN __ESIMD_raw_vec_t(T0, SZ)
275275

276276
for (i = 0; i < SZ; i++) {
277277
SIMDCF_ELEMENT_SKIP(i);
278-
ret = src0.get(i) << src1.get(i);
278+
ret = src0[i] << src1[i];
279279
retv[i] = __ESIMD_EMU_DNS::satur<T0>::template saturate<T1>(ret, 1);
280280
}
281281
return retv;

0 commit comments

Comments
 (0)