Skip to content
This repository was archived by the owner on Mar 28, 2023. It is now read-only.

Commit e87dcb0

Browse files
authored
[SYCL] Add tests for zero-length USM memset/memcpy preserving the dependency chain (#500)
The corresponding fix in SYCL: intel/llvm#4727
1 parent 6e868ff commit e87dcb0

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

SYCL/USM/dep_events.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,10 @@ int main() {
3131
event eMemset1 = q.memset(x, 0, sizeof(int), event{}); // x = 0
3232
event eMemset2 = q.memset(y, 0, sizeof(int), std::vector<event>{}); // y = 0
3333
event eFill = q.fill(x, 1, 1, {eMemset1, eMemset2}); // x = 1
34-
event eMemcpy = q.memcpy(y, x, sizeof(int), eFill); // y = 1
34+
event eNoOpMemset = q.memset(x, 0, 0, eFill); // 0 count, so x remains 1
35+
event eNoOpMemcpy = q.memcpy(x, y, 0, eNoOpMemset); // 0 count, so x remains 1
36+
event eNoOpCopy = q.copy(y, x, 0, eNoOpMemcpy); // 0 count, so x remains 1
37+
event eMemcpy = q.memcpy(y, x, sizeof(int), eNoOpCopy); // y = 1
3538
event eCopy = q.copy(y, z, 1, eMemcpy); // z = 1
3639
event ePrefetch = q.prefetch(z, sizeof(int), eCopy); //
3740
q.single_task<class kernel>(ePrefetch, [=] { *z *= 2; }).wait(); // z = 2

0 commit comments

Comments
 (0)