[llvm] [libsycl] Implement nd_range kernel submissions (PR #206505)
Sergey Semenov via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 15 07:49:10 PDT 2026
================
@@ -332,6 +332,33 @@ class _LIBSYCL_EXPORT queue {
std::forward<Rest>(rest)...);
}
+ template <typename KernelName = detail::AutoName, int Dims, typename... Rest>
+ event parallel_for(nd_range<Dims> executionRange, Rest &&...rest) {
+ return parallel_for<KernelName, Dims, Rest...>(executionRange, {},
+ std::forward<Rest>(rest)...);
+ }
+
+ template <typename KernelName = detail::AutoName, int Dims, typename... Rest>
+ event parallel_for(nd_range<Dims> executionRange, event depEvent,
+ Rest &&...rest) {
+ return parallel_for<KernelName, Dims, Rest...>(executionRange, {depEvent},
+ std::forward<Rest>(rest)...);
+ }
+
+ template <typename KernelName = detail::AutoName, int Dims, typename... Rest>
+ event parallel_for(nd_range<Dims> executionRange,
+ const std::vector<event> &depEvents, Rest &&...rest) {
+ if (executionRange.get_global_range() != range<Dims>{} &&
+ (executionRange.get_local_range() == range<Dims>{} ||
+ executionRange.get_global_range() % executionRange.get_local_range() !=
----------------
sergey-semenov wrote:
This check looks like it could lead to mod 0 for certain inputs.
https://github.com/llvm/llvm-project/pull/206505
More information about the llvm-commits
mailing list