@@ -55,7 +55,8 @@ class AcceleratorViewsUnitTest
55
55
56
56
private:
57
57
58
- ax::Runner* m_runner = nullptr ;
58
+ ax::Runner m_runner;
59
+ ax::RunQueue m_queue;
59
60
VariableCellArrayReal m_cell_array1;
60
61
VariableCellArrayReal m_cell_array2;
61
62
VariableCellReal2 m_cell1_real2;
@@ -136,7 +137,8 @@ AcceleratorViewsUnitTest::
136
137
void AcceleratorViewsUnitTest::
137
138
initializeTest ()
138
139
{
139
- m_runner = subDomain ()->acceleratorMng ()->defaultRunner ();
140
+ m_runner = subDomain ()->acceleratorMng ()->runner ();
141
+ m_queue = subDomain ()->acceleratorMng ()->queue ();
140
142
141
143
m_cell_array1.resize (12 );
142
144
m_cell_array2.resize (12 );
@@ -217,64 +219,70 @@ _executeTest1()
217
219
{
218
220
info () << " Test1" ;
219
221
auto queue = makeQueue (m_runner);
220
- auto command = makeCommand (queue);
221
222
222
223
Integer dim2_size = m_cell_array1.arraySize ();
223
224
224
225
{
225
226
int seed = 37 ;
226
227
_setCellArrayValue (seed);
227
228
228
- auto in_cell_array1 = ax::viewIn (command, m_cell_array1);
229
- auto out_cell_array2 = ax::viewOut (command, m_cell_array2);
230
- auto in_partial_cell_array1 = ax::viewIn (command, m_partial_cell_array1);
231
- auto out_partial_cell_array2 = ax::viewOut (command, m_partial_cell_array2);
232
- auto inout_partial_cell_array2 = ax::viewInOut (command, m_partial_cell_array2);
233
-
234
- auto in_partial_cell1 = ax::viewIn (command, m_partial_cell1);
235
- auto out_partial_cell2 = ax::viewOut (command, m_partial_cell2);
236
- auto inout_partial_cell2 = ax::viewOut (command, m_partial_cell2);
237
-
238
- auto in_partial_cell1_real3 = ax::viewIn (command, m_partial_cell1_real3);
239
- auto out_partial_cell2_real3 = ax::viewOut (command, m_partial_cell2_real3);
240
- auto inout_partial_cell2_real3 = ax::viewInOut (command, m_partial_cell2_real3);
241
-
242
- command << RUNCOMMAND_ENUMERATE (CellLocalId, vi, allCells ())
243
229
{
244
- out_cell_array2[vi].copy (in_cell_array1[vi]);
245
- };
230
+ auto command = makeCommand (m_queue);
231
+ auto in_cell_array1 = viewIn (command, m_cell_array1);
232
+ auto out_cell_array2 = viewOut (command, m_cell_array2);
233
+
234
+ command << RUNCOMMAND_ENUMERATE (CellLocalId, vi, allCells ())
235
+ {
236
+ out_cell_array2[vi].copy (in_cell_array1[vi]);
237
+ };
238
+ }
246
239
247
240
_checkCellArrayValue (" View1" );
248
241
249
- command << RUNCOMMAND_ENUMERATE (IteratorWithIndex<CellLocalId>, vi, m_partial_cell_array1.itemGroup ())
250
242
{
251
- CellEnumeratorIndex iter_index (vi.index ());
252
- CellLocalId cell_lid (vi.value ());
253
- out_partial_cell_array2[iter_index].copy (in_cell_array1[cell_lid]);
254
- out_partial_cell_array2[iter_index][0 ] = in_partial_cell_array1[cell_lid][1 ];
255
- Real3 xyz (in_partial_cell1_real3[iter_index].y , in_partial_cell1_real3[iter_index].z , in_partial_cell1_real3[iter_index].x );
256
- Int32 modulo = vi.index () % 4 ;
257
- if (modulo == 3 ) {
258
- out_partial_cell_array2[iter_index][1 ] = in_partial_cell1[iter_index];
259
- out_partial_cell2[iter_index] = in_partial_cell1[iter_index];
260
- out_partial_cell2_real3[iter_index] = xyz;
261
- }
262
- else if (modulo == 2 ) {
263
- inout_partial_cell_array2[cell_lid][1 ] = in_partial_cell1[cell_lid];
264
- inout_partial_cell2[cell_lid] = in_partial_cell1[iter_index];
265
- inout_partial_cell2_real3[cell_lid] = xyz;
266
- }
267
- else if (modulo == 1 ) {
268
- out_partial_cell_array2[cell_lid][1 ] = in_partial_cell1[iter_index];
269
- out_partial_cell2[cell_lid] = in_partial_cell1[iter_index];
270
- out_partial_cell2_real3[cell_lid] = xyz;
271
- }
272
- else {
273
- inout_partial_cell_array2[iter_index][1 ] = in_partial_cell1[cell_lid];
274
- inout_partial_cell2[iter_index] = in_partial_cell1[iter_index];
275
- inout_partial_cell2_real3[iter_index] = xyz;
276
- }
277
- };
243
+ auto command = makeCommand (m_queue);
244
+ auto in_cell_array1 = viewIn (command, m_cell_array1);
245
+ auto in_partial_cell_array1 = viewIn (command, m_partial_cell_array1);
246
+ auto out_partial_cell_array2 = viewOut (command, m_partial_cell_array2);
247
+ auto inout_partial_cell_array2 = viewInOut (command, m_partial_cell_array2);
248
+
249
+ auto in_partial_cell1 = viewIn (command, m_partial_cell1);
250
+ auto out_partial_cell2 = viewOut (command, m_partial_cell2);
251
+ auto inout_partial_cell2 = viewOut (command, m_partial_cell2);
252
+
253
+ auto in_partial_cell1_real3 = viewIn (command, m_partial_cell1_real3);
254
+ auto out_partial_cell2_real3 = viewOut (command, m_partial_cell2_real3);
255
+ auto inout_partial_cell2_real3 = viewInOut (command, m_partial_cell2_real3);
256
+ command << RUNCOMMAND_ENUMERATE (IteratorWithIndex<CellLocalId>, vi, m_partial_cell_array1.itemGroup ())
257
+ {
258
+ CellEnumeratorIndex iter_index (vi.index ());
259
+ CellLocalId cell_lid (vi.value ());
260
+ out_partial_cell_array2[iter_index].copy (in_cell_array1[cell_lid]);
261
+ out_partial_cell_array2[iter_index][0 ] = in_partial_cell_array1[cell_lid][1 ];
262
+ Real3 xyz (in_partial_cell1_real3[iter_index].y , in_partial_cell1_real3[iter_index].z , in_partial_cell1_real3[iter_index].x );
263
+ Int32 modulo = vi.index () % 4 ;
264
+ if (modulo == 3 ) {
265
+ out_partial_cell_array2[iter_index][1 ] = in_partial_cell1[iter_index];
266
+ out_partial_cell2[iter_index] = in_partial_cell1[iter_index];
267
+ out_partial_cell2_real3[iter_index] = xyz;
268
+ }
269
+ else if (modulo == 2 ) {
270
+ inout_partial_cell_array2[cell_lid][1 ] = in_partial_cell1[cell_lid];
271
+ inout_partial_cell2[cell_lid] = in_partial_cell1[iter_index];
272
+ inout_partial_cell2_real3[cell_lid] = xyz;
273
+ }
274
+ else if (modulo == 1 ) {
275
+ out_partial_cell_array2[cell_lid][1 ] = in_partial_cell1[iter_index];
276
+ out_partial_cell2[cell_lid] = in_partial_cell1[iter_index];
277
+ out_partial_cell2_real3[cell_lid] = xyz;
278
+ }
279
+ else {
280
+ inout_partial_cell_array2[iter_index][1 ] = in_partial_cell1[cell_lid];
281
+ inout_partial_cell2[iter_index] = in_partial_cell1[iter_index];
282
+ inout_partial_cell2_real3[iter_index] = xyz;
283
+ }
284
+ };
285
+ }
278
286
info () << " Check Partial values" ;
279
287
ENUMERATE_ (Cell, iter, m_partial_cell_array1.itemGroup ()) {
280
288
CellEnumeratorIndex iter_index (iter.index ());
@@ -290,6 +298,8 @@ _executeTest1()
290
298
int seed = 23 ;
291
299
_setCellArrayValue (seed);
292
300
301
+ auto command = makeCommand (m_queue);
302
+
293
303
auto in_cell_array1 = viewIn (command, m_cell_array1);
294
304
auto out_cell_array2 = viewOut (command, m_cell_array2);
295
305
@@ -305,6 +315,8 @@ _executeTest1()
305
315
int seed = 53 ;
306
316
_setCellArrayValue (seed);
307
317
318
+ auto command = makeCommand (m_queue);
319
+
308
320
auto in_cell_array1 = viewInOut (command, m_cell_array1);
309
321
auto out_cell_array2 = viewOut (command, m_cell_array2);
310
322
@@ -320,6 +332,8 @@ _executeTest1()
320
332
int seed = 93 ;
321
333
_setCellArrayValue (seed);
322
334
335
+ auto command = makeCommand (m_queue);
336
+
323
337
auto in_cell_array1 = ax::viewIn (command, m_cell_array1);
324
338
auto out_cell_array2 = ax::viewInOut (command, m_cell_array2);
325
339
@@ -335,6 +349,8 @@ _executeTest1()
335
349
int seed = 43 ;
336
350
_setCellArrayValue (seed);
337
351
352
+ auto command = makeCommand (m_queue);
353
+
338
354
auto inout_cell_array1 = ax::viewInOut (command, m_cell_array1);
339
355
auto out_cell_array2 = ax::viewInOut (command, m_cell_array2);
340
356
@@ -686,7 +702,7 @@ _executeTestMemoryCopy()
686
702
info () << " Execute Test MemoryCopy" ;
687
703
eMemoryRessource source_mem = eMemoryRessource::Host;
688
704
eMemoryRessource dest_mem = eMemoryRessource::Host;
689
- if (ax::impl::isAcceleratorPolicy (m_runner-> executionPolicy ()))
705
+ if (ax::impl::isAcceleratorPolicy (m_runner. executionPolicy ()))
690
706
dest_mem = eMemoryRessource::Device;
691
707
692
708
const int nb_value = 100000 ;
0 commit comments