@@ -196,7 +196,7 @@ void Iso3dfdIterationSLM(sycl::nd_item<3> &it, float *next, float *prev,
196196 *
197197 */
198198void Iso3dfdIterationGlobal (sycl::nd_item<3 > &it, float *next, float *prev,
199- float *vel, const float *coeff, int nx, int nxy,
199+ const float *vel, const float *coeff, int nx, int nxy,
200200 int bx, int by, int z_offset, int full_end_z) {
201201 // We compute the start and the end position in the grid
202202 // for each work-item.
@@ -381,17 +381,17 @@ bool Iso3dfdDevice(sycl::queue &q, float *ptr_next, float *ptr_prev,
381381 if (i % 2 == 0 )
382382 h.parallel_for (
383383 nd_range (global_nd_range, local_nd_range), [=](auto it) {
384- Iso3dfdIterationSLM (it, next.get_pointer (), prev.get_pointer (),
385- vel.get_pointer (), coeff.get_pointer (),
386- tab.get_pointer (), nx, nxy, bx, by,
384+ Iso3dfdIterationSLM (it, next.get (), prev.get (),
385+ vel.get (), coeff.get (),
386+ tab.get (), nx, nxy, bx, by,
387387 n3_block, end_z);
388388 });
389389 else
390390 h.parallel_for (
391391 nd_range (global_nd_range, local_nd_range), [=](auto it) {
392- Iso3dfdIterationSLM (it, prev.get_pointer (), next.get_pointer (),
393- vel.get_pointer (), coeff.get_pointer (),
394- tab.get_pointer (), nx, nxy, bx, by,
392+ Iso3dfdIterationSLM (it, prev.get (), next.get (),
393+ vel.get (), coeff.get (),
394+ tab.get (), nx, nxy, bx, by,
395395 n3_block, end_z);
396396 });
397397
@@ -408,17 +408,25 @@ bool Iso3dfdDevice(sycl::queue &q, float *ptr_next, float *ptr_prev,
408408 if (i % 2 == 0 )
409409 h.parallel_for (
410410 nd_range (global_nd_range, local_nd_range), [=](auto it) {
411- Iso3dfdIterationGlobal (it, next.get_pointer (),
412- prev.get_pointer (), vel.get_pointer (),
413- coeff.get_pointer (), nx, nxy, bx, by,
411+ auto next_ptr = next.template get_multi_ptr <sycl::access::decorated::no>();
412+ auto prev_ptr = prev.template get_multi_ptr <sycl::access::decorated::no>();
413+ auto vel_ptr = vel.template get_multi_ptr <sycl::access::decorated::no>();
414+ auto coeff_ptr = coeff.template get_multi_ptr <sycl::access::decorated::no>();
415+ Iso3dfdIterationGlobal (it, next_ptr.get (),
416+ prev_ptr.get (), vel_ptr.get (),
417+ coeff_ptr.get (), nx, nxy, bx, by,
414418 n3_block, end_z);
415419 });
416420 else
417421 h.parallel_for (
418422 nd_range (global_nd_range, local_nd_range), [=](auto it) {
419- Iso3dfdIterationGlobal (it, prev.get_pointer (),
420- next.get_pointer (), vel.get_pointer (),
421- coeff.get_pointer (), nx, nxy, bx, by,
423+ auto next_ptr = next.template get_multi_ptr <sycl::access::decorated::no>();
424+ auto prev_ptr = prev.template get_multi_ptr <sycl::access::decorated::no>();
425+ auto vel_ptr = vel.template get_multi_ptr <sycl::access::decorated::no>();
426+ auto coeff_ptr = coeff.template get_multi_ptr <sycl::access::decorated::no>();
427+ Iso3dfdIterationGlobal (it, prev_ptr.get (),
428+ next_ptr.get (), vel_ptr.get (),
429+ coeff_ptr.get (), nx, nxy, bx, by,
422430 n3_block, end_z);
423431 });
424432#endif
0 commit comments