[llvm] [libsycl] Implement nd_range kernel submissions (PR #206505)
Kseniya Tikhomirova via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 30 05:31:35 PDT 2026
================
@@ -47,14 +47,32 @@ int main() {
A[i.get_linear_id()]++;
});
- // TODO: add kernel with offset and kernel with nd_range once they
- // are implemented.
+ sycl::nd_range<1> NDR(sycl::range<1>{N}, sycl::range<1>{2});
+ Q.parallel_for<class NdRange1D>(NDR, [=](auto nd_i) {
+ static_assert(std::is_same<decltype(nd_i), sycl::nd_item<1>>::value,
+ "lambda arg type is unexpected");
+ A[nd_i.get_global_id()]++;
+ });
+
+ sycl::nd_range<2> NDR2D(sycl::range<2>{4, 2}, sycl::range<2>{2, 1});
+ Q.parallel_for<class NdRange2D>(NDR2D, [=](auto nd_i) {
+ static_assert(std::is_same<decltype(nd_i), sycl::nd_item<2>>::value,
+ "lambda arg type is unexpected");
+ A[nd_i.get_global_linear_id()]++;
+ });
+
+ sycl::nd_range<3> NDR3D(sycl::range<3>{2, 2, 2}, sycl::range<3>{1, 2, 2});
----------------
KseniyaTikhomirova wrote:
it would be easier to test function that makes swap in UT. Would it be sufficient?
https://github.com/llvm/llvm-project/pull/206505
More information about the llvm-commits
mailing list