File tree Expand file tree Collapse file tree 1 file changed +6
-3
lines changed Expand file tree Collapse file tree 1 file changed +6
-3
lines changed Original file line number Diff line number Diff line change @@ -50,15 +50,15 @@ int main() {
50
50
h_sum += value;
51
51
}
52
52
53
- int *d_sum = malloc_shared <int >(1 , Queues[0 ]);
53
+ int *d_sum = malloc_device <int >(1 , Queues[0 ]);
54
54
int *d_in = malloc_device<int >(N, Queues[0 ]);
55
55
56
+ Queues[0 ].single_task ([=]() { *d_sum = 0 ; });
56
57
Queues[0 ].memcpy (d_in, &input[0 ], N * sizeof (int ));
57
58
Queues[0 ].wait ();
58
59
59
60
range global_range{N};
60
61
61
- *d_sum = 0 .;
62
62
Queues[1 ].submit ([&](handler &h) {
63
63
h.parallel_for <class peer_atomic >(global_range, [=](id<1 > i) {
64
64
sycl::atomic_ref<int , sycl::memory_order::relaxed,
@@ -68,7 +68,10 @@ int main() {
68
68
});
69
69
Queues[1 ].wait ();
70
70
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);
72
75
73
76
free (d_sum, Queues[0 ]);
74
77
free (d_in, Queues[0 ]);
You can’t perform that action at this time.
0 commit comments