aboutsummaryrefslogtreecommitdiff
path: root/Source/Utils/CoarsenIO.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Utils/CoarsenIO.cpp')
-rw-r--r--Source/Utils/CoarsenIO.cpp35
1 files changed, 15 insertions, 20 deletions
diff --git a/Source/Utils/CoarsenIO.cpp b/Source/Utils/CoarsenIO.cpp
index b75d054b4..d7873f147 100644
--- a/Source/Utils/CoarsenIO.cpp
+++ b/Source/Utils/CoarsenIO.cpp
@@ -22,39 +22,34 @@ CoarsenIO::Loop ( MultiFab& mf_dst,
"source fine MultiFab does not have enough guard cells for this interpolation" );
// Auxiliary integer arrays (always 3D)
- Gpu::ManagedVector<int> sf_gpuarr, sc_gpuarr, cr_gpuarr;
- sf_gpuarr.resize( 3 ); // staggering of source fine MultiFab
- sc_gpuarr.resize( 3 ); // staggering of destination coarse MultiFab
- cr_gpuarr.resize( 3 ); // coarsening ratio
+ GpuArray<int,3> sf; // staggering of source fine MultiFab
+ GpuArray<int,3> sc; // staggering of destination coarse MultiFab
+ GpuArray<int,3> cr; // coarsening ratio
- sf_gpuarr[0] = stag_src[0];
- sf_gpuarr[1] = stag_src[1];
+ sf[0] = stag_src[0];
+ sf[1] = stag_src[1];
#if (AMREX_SPACEDIM == 2)
- sf_gpuarr[2] = 0;
+ sf[2] = 0;
#elif (AMREX_SPACEDIM == 3)
- sf_gpuarr[2] = stag_src[2];
+ sf[2] = stag_src[2];
#endif
- sc_gpuarr[0] = stag_dst[0];
- sc_gpuarr[1] = stag_dst[1];
+ sc[0] = stag_dst[0];
+ sc[1] = stag_dst[1];
#if (AMREX_SPACEDIM == 2)
- sc_gpuarr[2] = 0;
+ sc[2] = 0;
#elif (AMREX_SPACEDIM == 3)
- sc_gpuarr[2] = stag_dst[2];
+ sc[2] = stag_dst[2];
#endif
- cr_gpuarr[0] = crse_ratio[0];
- cr_gpuarr[1] = crse_ratio[1];
+ cr[0] = crse_ratio[0];
+ cr[1] = crse_ratio[1];
#if (AMREX_SPACEDIM == 2)
- cr_gpuarr[2] = 1;
+ cr[2] = 1;
#elif (AMREX_SPACEDIM == 3)
- cr_gpuarr[2] = crse_ratio[2];
+ cr[2] = crse_ratio[2];
#endif
- int const* const AMREX_RESTRICT sf = sf_gpuarr.data();
- int const* const AMREX_RESTRICT sc = sc_gpuarr.data();
- int const* const AMREX_RESTRICT cr = cr_gpuarr.data();
-
#ifdef _OPENMP
#pragma omp parallel if (Gpu::notInLaunchRegion())
#endif