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

Commit f43b38f

Browse files
committed
Fix a crash
1 parent c108aa3 commit f43b38f

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

SYCL/ESIMD/lsc/lsc_predicate.cpp

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ template <unsigned SIMDSize> int testAccessor(queue q) {
7474
pred_disable);
7575
});
7676
});
77-
q.wait_and_throw();
77+
q.wait();
7878
} catch (sycl::exception e) {
7979
std::cout << "SYCL exception caught: " << e.what();
8080
return 1;
@@ -113,7 +113,6 @@ template <unsigned SIMDSize> int testAccessor(queue q) {
113113
template <unsigned SIMDSize> int testUSM(queue q) {
114114
auto size = size_t{128};
115115

116-
auto *vec_input = malloc_shared<int>(size, q);
117116
auto *vec_0 = malloc_shared<int>(size, q);
118117
auto *vec_1 = malloc_shared<int>(size, q);
119118
auto *vec_2 = malloc_shared<int>(size, q);
@@ -122,7 +121,6 @@ template <unsigned SIMDSize> int testUSM(queue q) {
122121
std::iota(vec_1, vec_1 + size, 0);
123122
std::iota(vec_2, vec_2 + size, 0);
124123
std::iota(vec_3, vec_3 + size, 0);
125-
std::iota(vec_input, vec_3 + size, 0);
126124

127125
try {
128126
q.submit([&](handler &h) {
@@ -134,21 +132,21 @@ template <unsigned SIMDSize> int testUSM(queue q) {
134132
auto pred_disable = simd_mask<1>(0);
135133

136134
auto data_0 =
137-
lsc_block_load<int, SIMDSize>(vec_input + offset, pred_enable);
135+
lsc_block_load<int, SIMDSize>(vec_0 + offset, pred_enable);
138136
lsc_block_store<int, SIMDSize>(vec_0 + offset, data_0 * 2,
139137
pred_enable);
140138

141139
auto data_1 =
142-
lsc_block_load<int, SIMDSize>(vec_input + offset, pred_disable);
140+
lsc_block_load<int, SIMDSize>(vec_1 + offset, pred_disable);
143141
lsc_block_store<int, SIMDSize>(vec_1 + offset, data_1 * 2,
144142
pred_enable);
145143

146144
auto data_2 =
147-
lsc_block_load<int, SIMDSize>(vec_input + offset, pred_enable);
145+
lsc_block_load<int, SIMDSize>(vec_2 + offset, pred_enable);
148146
lsc_block_store<int, SIMDSize>(vec_2 + offset, data_2 * 2,
149147
pred_disable);
150148
auto data_3 =
151-
lsc_block_load<int, SIMDSize>(vec_input + offset, pred_disable);
149+
lsc_block_load<int, SIMDSize>(vec_3 + offset, pred_disable);
152150
lsc_block_store<int, SIMDSize>(vec_3 + offset, data_3 * 2,
153151
pred_disable);
154152
});
@@ -160,7 +158,6 @@ template <unsigned SIMDSize> int testUSM(queue q) {
160158
sycl::free(vec_1, q);
161159
sycl::free(vec_2, q);
162160
sycl::free(vec_3, q);
163-
sycl::free(vec_input, q);
164161
return 1;
165162
}
166163

@@ -192,7 +189,6 @@ template <unsigned SIMDSize> int testUSM(queue q) {
192189
sycl::free(vec_1, q);
193190
sycl::free(vec_2, q);
194191
sycl::free(vec_3, q);
195-
sycl::free(vec_input, q);
196192
std::cout << "USM lsc predicate test ";
197193
std::cout << (error != 0 ? "FAILED" : "passed") << std::endl;
198194
return error;

0 commit comments

Comments
 (0)