Skip to content

Commit d6a851e

Browse files
[SYCL][E2E] P2P must use Device USM, not Shared (#15242)
As discussed in #14095 (comment).
1 parent 41c4827 commit d6a851e

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

sycl/test-e2e/USM/P2P/p2p_atomics.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,15 @@ int main() {
5050
h_sum += value;
5151
}
5252

53-
int *d_sum = malloc_shared<int>(1, Queues[0]);
53+
int *d_sum = malloc_device<int>(1, Queues[0]);
5454
int *d_in = malloc_device<int>(N, Queues[0]);
5555

56+
Queues[0].single_task([=]() { *d_sum = 0; });
5657
Queues[0].memcpy(d_in, &input[0], N * sizeof(int));
5758
Queues[0].wait();
5859

5960
range global_range{N};
6061

61-
*d_sum = 0.;
6262
Queues[1].submit([&](handler &h) {
6363
h.parallel_for<class peer_atomic>(global_range, [=](id<1> i) {
6464
sycl::atomic_ref<int, sycl::memory_order::relaxed,
@@ -68,7 +68,10 @@ int main() {
6868
});
6969
Queues[1].wait();
7070

71-
assert(*d_sum == h_sum);
71+
int result = 0;
72+
Queues[0].memcpy(&result, d_sum, sizeof(int)).wait();
73+
74+
assert(result == h_sum);
7275

7376
free(d_sum, Queues[0]);
7477
free(d_in, Queues[0]);

0 commit comments

Comments
 (0)