File tree Expand file tree Collapse file tree 1 file changed +15
-5
lines changed
examples/pybind11/onemkl_gemv/sycl_gemm Expand file tree Collapse file tree 1 file changed +15
-5
lines changed Original file line number Diff line number Diff line change @@ -240,6 +240,7 @@ sub(sycl::queue q,
240
240
return std::make_pair (ht_event, res_ev);
241
241
}
242
242
243
+ template <typename T> class axpy_inplace_kern ;
243
244
template <typename T> class axpby_inplace_kern ;
244
245
245
246
template <typename T>
@@ -259,11 +260,20 @@ sycl::event axpby_inplace_impl(sycl::queue q,
259
260
260
261
sycl::event res_ev = q.submit ([&](sycl::handler &cgh) {
261
262
cgh.depends_on (depends);
262
- cgh.parallel_for <axpby_inplace_kern<T>>(sycl::range<1 >{nelems},
263
- [=](sycl::id<1 > id) {
264
- auto i = id.get (0 );
265
- y[i] = a * x[i] + b * y[i];
266
- });
263
+ if (b == T (1 )) {
264
+ cgh.parallel_for <axpy_inplace_kern<T>>(sycl::range<1 >{nelems},
265
+ [=](sycl::id<1 > id) {
266
+ auto i = id.get (0 );
267
+ y[i] += a * x[i];
268
+ });
269
+ }
270
+ else {
271
+ cgh.parallel_for <axpby_inplace_kern<T>>(
272
+ sycl::range<1 >{nelems}, [=](sycl::id<1 > id) {
273
+ auto i = id.get (0 );
274
+ y[i] = b * y[i] + a * x[i];
275
+ });
276
+ }
267
277
});
268
278
269
279
return res_ev;
You can’t perform that action at this time.
0 commit comments