@@ -83,6 +83,9 @@ void load_global_test(queue q, size_t N) {
83
83
}
84
84
85
85
<<<<<<< HEAD
86
+ <<<<<<< HEAD
87
+ =======
88
+ >>>>>>> d94406530 ([SYCL][CUDA] Added tests for atomic loads and stores for various orders and scopes (#648 ))
86
89
template <access::address_space space, typename T,
87
90
memory_order order = memory_order::relaxed,
88
91
memory_scope scope = memory_scope::device>
@@ -105,6 +108,7 @@ void load_test(queue q, size_t N) {
105
108
#endif
106
109
}
107
110
if constexpr (do_global_tests) {
111
+ <<<<<<< HEAD
108
112
#ifdef RUN_DEPRECATED
109
113
if constexpr (do_ext_tests) {
110
114
load_global_test<::sycl::ext::oneapi::atomic_ref, space, T, order, scope>(
@@ -147,13 +151,52 @@ void load_test_orders_scopes(queue q, size_t N) {
147
151
load_test_scopes<space, T, memory_order::relaxed>(q, N);
148
152
=======
149
153
template <typename T> void load_test (queue q, size_t N) {
154
+ =======
155
+ >>>>>>> d94406530 ([SYCL][CUDA] Added tests for atomic loads and stores for various orders and scopes (#648 ))
150
156
#ifdef RUN_DEPRECATED
151
- load_test<::sycl::ext::oneapi::atomic_ref,
152
- access::address_space::global_space, T>(q, N);
157
+ if constexpr (do_ext_tests) {
158
+ load_global_test<::sycl::ext::oneapi::atomic_ref, space, T, order, scope>(
159
+ q, N);
160
+ }
153
161
#else
154
- load_test <::sycl::atomic_ref, access::address_space::global_space , T>(q, N);
162
+ load_global_test <::sycl::atomic_ref, space , T, order, scope >(q, N);
155
163
#endif
164
+ <<<<<<< HEAD
156
165
>>>>>>> a5f90c0cd ([SYCL] Speed up atomic_ref tests (#879 ))
166
+ =======
167
+ }
168
+ }
169
+
170
+ template <access::address_space space, typename T,
171
+ memory_order order = memory_order::relaxed>
172
+ void load_test_scopes (queue q, size_t N) {
173
+ std::vector<memory_scope> scopes =
174
+ q.get_device ().get_info <info::device::atomic_memory_scope_capabilities>();
175
+ if (std::find (scopes.begin (), scopes.end (), memory_scope::system) !=
176
+ scopes.end ()) {
177
+ load_test<space, T, order, memory_scope::system>(q, N);
178
+ }
179
+ if (std::find (scopes.begin (), scopes.end (), memory_scope::work_group) !=
180
+ scopes.end ()) {
181
+ load_test<space, T, order, memory_scope::work_group>(q, N);
182
+ }
183
+ if (std::find (scopes.begin (), scopes.end (), memory_scope::sub_group) !=
184
+ scopes.end ()) {
185
+ load_test<space, T, order, memory_scope::sub_group>(q, N);
186
+ }
187
+ load_test<space, T, order, memory_scope::device>(q, N);
188
+ }
189
+
190
+ template <access::address_space space, typename T>
191
+ void load_test_orders_scopes (queue q, size_t N) {
192
+ std::vector<memory_order> orders =
193
+ q.get_device ().get_info <info::device::atomic_memory_order_capabilities>();
194
+ if (std::find (orders.begin (), orders.end (), memory_order::acquire) !=
195
+ orders.end ()) {
196
+ load_test_scopes<space, T, memory_order::acquire>(q, N);
197
+ }
198
+ load_test_scopes<space, T, memory_order::relaxed>(q, N);
199
+ >>>>>>> d94406530 ([SYCL][CUDA] Added tests for atomic loads and stores for various orders and scopes (#648 ))
157
200
}
158
201
159
202
template <access::address_space space> void load_test_all () {
0 commit comments