Skip to content

Commit f69dae7

Browse files
[SYCL][E2E] Fix invalid discard_write in atomic_memory_order_seq_cst (#10900)
The atomic_memory_order_seq_cst incorrectly uses discard_write access after initializing its memory. This causes failures on some hardware. This commit fixes this invalid access mode. --------- Signed-off-by: Larsen, Steffen <[email protected]>
1 parent 8d8d3f4 commit f69dae7

File tree

1 file changed

+2
-6
lines changed

1 file changed

+2
-6
lines changed

sycl/test-e2e/AtomicRef/atomic_memory_order_seq_cst.cpp

100755100644
Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
// RUN: %{build} -O3 -o %t.out -Xsycl-target-backend=nvptx64-nvidia-cuda --cuda-gpu-arch=sm_70
22
// RUN: %{run} %t.out
3-
//
4-
// Tracked in the internal bug tracking system.
5-
// UNSUPPORTED: gpu-intel-pvc
63

74
#include "atomic_memory_order.h"
85
#include <iostream>
@@ -39,8 +36,7 @@ void check(queue &q, buffer<int, 2> &res_buf, size_t N_iters) {
3936
});
4037
q.submit([&](handler &cgh) {
4138
auto res = res_buf.template get_access<access::mode::read>(cgh);
42-
auto checked =
43-
checked_buf.template get_access<access::mode::discard_write>(cgh);
39+
auto checked = checked_buf.template get_access<access::mode::write>(cgh);
4440
cgh.parallel_for(nd_range<1>(N_items / 2, 32), [=](nd_item<1> it) {
4541
size_t id = it.get_global_id(0);
4642
for (int i = 1; i < N_iters; i++) {
@@ -58,7 +54,7 @@ void check(queue &q, buffer<int, 2> &res_buf, size_t N_iters) {
5854
q.submit([&](handler &cgh) {
5955
auto res = res_buf.template get_access<access::mode::read>(cgh);
6056
auto checked = checked_buf.template get_access<access::mode::read>(cgh);
61-
auto err = err_buf.template get_access<access::mode::discard_write>(cgh);
57+
auto err = err_buf.template get_access<access::mode::write>(cgh);
6258
cgh.parallel_for(nd_range<1>(N_items / 2, 32), [=](nd_item<1> it) {
6359
size_t id = it.get_global_id(0);
6460
for (int i = 1; i < N_iters; i++) {

0 commit comments

Comments
 (0)