Skip to content

Commit f82bf87

Browse files
committed
Add single event versions and comments.
Signed-off-by: James Brodman <[email protected]>
1 parent 68ad9eb commit f82bf87

File tree

2 files changed

+62
-1
lines changed

2 files changed

+62
-1
lines changed

sycl/include/CL/sycl/queue.hpp

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,18 @@ class queue {
130130
});
131131
}
132132

133+
// single_task version with a kernel represented as a lambda.
134+
// Takes an event to specify a dependence.
135+
template <typename KernelName = detail::auto_name, typename KernelType>
136+
event single_task(event DepEvent, KernelType KernelFunc) {
137+
return submit([&](handler &CGH) {
138+
CGH.depends_on(DepEvent);
139+
CGH.template single_task<KernelName, KernelType>(KernelFunc);
140+
});
141+
}
142+
143+
// single_task version with a kernel represented as a lambda.
144+
// Takes a vector of events to specify dependences.
133145
template <typename KernelName = detail::auto_name, typename KernelType>
134146
event single_task(std::vector<event> DepEvents, KernelType KernelFunc) {
135147
return submit([&](handler &CGH) {
@@ -149,6 +161,21 @@ class queue {
149161
});
150162
}
151163

164+
// parallel_for version with a kernel represented as a lambda + range that
165+
// specifies global size only. Takes an event to specify dependences
166+
template <typename KernelName = detail::auto_name, typename KernelType,
167+
int Dims>
168+
event parallel_for(range<Dims> NumWorkItems, event DepEvent,
169+
KernelType KernelFunc) {
170+
return submit([&](handler &CGH) {
171+
CGH.depends_on(DepEvent);
172+
CGH.template parallel_for<KernelName, KernelType, Dims>(NumWorkItems,
173+
KernelFunc);
174+
});
175+
}
176+
177+
// parallel_for version with a kernel represented as a lambda + range that
178+
// specifies global size only. Takes a vector of events to specify dependences
152179
template <typename KernelName = detail::auto_name, typename KernelType,
153180
int Dims>
154181
event parallel_for(range<Dims> NumWorkItems, std::vector<event> DepEvents,
@@ -172,6 +199,23 @@ class queue {
172199
});
173200
}
174201

202+
// parallel_for version with a kernel represented as a lambda + range and
203+
// offset that specify global size and global offset correspondingly.
204+
// Takes an event to specify dependences.
205+
template <typename KernelName = detail::auto_name, typename KernelType,
206+
int Dims>
207+
event parallel_for(range<Dims> NumWorkItems, id<Dims> WorkItemOffset,
208+
event DepEvent, KernelType KernelFunc) {
209+
return submit([&](handler &CGH) {
210+
CGH.depends_on(DepEvent);
211+
CGH.template parallel_for<KernelName, KernelType, Dims>(
212+
NumWorkItems, WorkItemOffset, KernelFunc);
213+
});
214+
}
215+
216+
// parallel_for version with a kernel represented as a lambda + range and
217+
// offset that specify global size and global offset correspondingly.
218+
// Takes a vector of events to specify dependences.
175219
template <typename KernelName = detail::auto_name, typename KernelType,
176220
int Dims>
177221
event parallel_for(range<Dims> NumWorkItems, id<Dims> WorkItemOffset,
@@ -194,6 +238,23 @@ class queue {
194238
});
195239
}
196240

241+
// parallel_for version with a kernel represented as a lambda + nd_range that
242+
// specifies global, local sizes and offset.
243+
// Takes an event to specify dependences.
244+
template <typename KernelName = detail::auto_name, typename KernelType,
245+
int Dims>
246+
event parallel_for(nd_range<Dims> ExecutionRange,
247+
event DepEvent, KernelType KernelFunc) {
248+
return submit([&](handler &CGH) {
249+
CGH.depends_on(DepEvent);
250+
CGH.template parallel_for<KernelName, KernelType, Dims>(ExecutionRange,
251+
KernelFunc);
252+
});
253+
}
254+
255+
// parallel_for version with a kernel represented as a lambda + nd_range that
256+
// specifies global, local sizes and offset.
257+
// Takes a vector of events to specify dependences.
197258
template <typename KernelName = detail::auto_name, typename KernelType,
198259
int Dims>
199260
event parallel_for(nd_range<Dims> ExecutionRange,

sycl/test/usm/pfor_flatten.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ int main() {
3636
});
3737

3838

39-
auto e2 = q.parallel_for(R, {e1}, [=](id<1> ID) {
39+
auto e2 = q.parallel_for(R, e1, [=](id<1> ID) {
4040
int i = ID[0];
4141
array[i] += 2;
4242
});

0 commit comments

Comments
 (0)