diff --git a/Src/Base/AMReX_GpuLaunch.nolint.H b/Src/Base/AMReX_GpuLaunch.nolint.H index c09181cd729..2df0ddf171a 100644 --- a/Src/Base/AMReX_GpuLaunch.nolint.H +++ b/Src/Base/AMReX_GpuLaunch.nolint.H @@ -123,6 +123,16 @@ ); \ } +#if defined(AMREX_USE_CUDA) && defined(_WIN32) +#define AMREX_LAUNCH_HOST_DEVICE_LAMBDA_FLAG(where_to_run,box,tbox,block) \ + if ((where_to_run == RunOn::Device) && (Gpu::inLaunchRegion())) \ + { \ + amrex::launch(box, tbox, [=] AMREX_GPU_DEVICE () { block }); \ + } else { \ + auto tbox = box; \ + block; \ + } +#else #define AMREX_LAUNCH_HOST_DEVICE_LAMBDA_FLAG(where_to_run,box,tbox,block) \ if ((where_to_run == RunOn::Device) && (Gpu::inLaunchRegion())) \ { \ @@ -131,6 +141,7 @@ auto tbox = box; \ block; \ } +#endif #define AMREX_LAUNCH_HOST_DEVICE_LAMBDA_RANGE_FLAG(where_to_run,bx1,tbx1,block1) \ if ((where_to_run == RunOn::Device) && (Gpu::inLaunchRegion())) \ diff --git a/Src/FFT/AMReX_FFT_R2C.H b/Src/FFT/AMReX_FFT_R2C.H index 53899770e9f..0d36b3c7493 100644 --- a/Src/FFT/AMReX_FFT_R2C.H +++ b/Src/FFT/AMReX_FFT_R2C.H @@ -672,7 +672,11 @@ void R2C::post_forward_doit (F const& post_forward) amrex::Abort("xxxxx todo: post_forward"); #if (AMREX_SPACEDIM > 1) } else if (m_r2c_sub) { +#if defined(AMREX_USE_CUDA) && defined(_WIN32) + if (Depth == 0) { +#else if constexpr (Depth == 0) { +#endif // We need to pass the originally ordered indices to post_forward. #if (AMREX_SPACEDIM == 2) // The original domain is (1,ny). The sub domain is (ny,1). diff --git a/Src/FFT/AMReX_FFT_R2X.H b/Src/FFT/AMReX_FFT_R2X.H index d86bf5c29b0..19326323a74 100644 --- a/Src/FFT/AMReX_FFT_R2X.H +++ b/Src/FFT/AMReX_FFT_R2X.H @@ -565,7 +565,11 @@ void R2X::forwardThenBackward_doit (MF const& inmf, MF& outmf, BL_PROFILE("FFT::R2X::forwardbackward"); if (m_r2x_sub) { +#if defined(AMREX_USE_CUDA) && defined(_WIN32) + if (Depth == 0) +#else if constexpr (Depth == 0) +#endif { bool inmf_safe = m_sub_helper.ghost_safe(inmf.nGrowVect()); MF inmf_sub, inmf_tmp; diff --git a/Src/LinearSolvers/MLMG/AMReX_MLABecLaplacian.H b/Src/LinearSolvers/MLMG/AMReX_MLABecLaplacian.H index a7a38fadcac..5fcdb85eab6 100644 --- a/Src/LinearSolvers/MLMG/AMReX_MLABecLaplacian.H +++ b/Src/LinearSolvers/MLMG/AMReX_MLABecLaplacian.H @@ -673,18 +673,25 @@ MLABecLaplacianT::averageDownCoeffsSameAmrLevel (int amrlev, Vector& a, auto const& bz = b[mglev][2].array(mfi)); auto const& osm = this->m_overset_mask[amrlev][mglev]->const_array(mfi); #if defined(AMREX_USE_CUDA) && defined(_WIN32) - amrex::launch(xbx, [=] AMREX_GPU_DEVICE (Box const& t_xbx) - { - overset_rescale_bcoef_x(t_xbx, bx, osm, ncomp, osfac); - }); - amrex::launch(ybx, [=] AMREX_GPU_DEVICE (Box const& t_ybx) - { - overset_rescale_bcoef_y(t_ybx, by, osm, ncomp, osfac); - }); - amrex::launch(zbx, [=] AMREX_GPU_DEVICE (Box const& t_zbx) - { - overset_rescale_bcoef_z(t_zbx, bz, osm, ncomp, osfac); - }); + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE + (xbx, t_xbx, + { + overset_rescale_bcoef_x(t_xbx, bx, osm, ncomp, osfac); + }); +#if (AMREX_SPACEDIM >= 2) + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE + (ybx, t_ybx, + { + overset_rescale_bcoef_y(t_ybx, by, osm, ncomp, osfac); + }); +#endif +#if (AMREX_SPACEDIM == 3) + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE + (zbx, t_zbx, + { + overset_rescale_bcoef_z(t_zbx, bz, osm, ncomp, osfac); + }); +#endif #else AMREX_LAUNCH_HOST_DEVICE_LAMBDA_DIM (xbx, t_xbx, @@ -1179,7 +1186,7 @@ MLABecLaplacianT::FFlux (Box const& box, Real const* dxinv, RT bscalar, RT fac = bscalar*static_cast(dxinv[0]); Box blo = amrex::bdryLo(box, 0); int blen = box.length(0); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlabeclap_flux_xface(tbox, fxarr, solarr, bx, fac, blen, ncomp); }); @@ -1187,7 +1194,7 @@ MLABecLaplacianT::FFlux (Box const& box, Real const* dxinv, RT bscalar, fac = bscalar*static_cast(dxinv[1]); blo = amrex::bdryLo(box, 1); blen = box.length(1); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlabeclap_flux_yface(tbox, fyarr, solarr, by, fac, blen, ncomp); }); @@ -1196,7 +1203,7 @@ MLABecLaplacianT::FFlux (Box const& box, Real const* dxinv, RT bscalar, fac = bscalar*static_cast(dxinv[2]); blo = amrex::bdryLo(box, 2); blen = box.length(2); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlabeclap_flux_zface(tbox, fzarr, solarr, bz, fac, blen, ncomp); }); @@ -1206,14 +1213,14 @@ MLABecLaplacianT::FFlux (Box const& box, Real const* dxinv, RT bscalar, { RT fac = bscalar*static_cast(dxinv[0]); Box bflux = amrex::surroundingNodes(box, 0); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlabeclap_flux_x(tbox, fxarr, solarr, bx, fac, ncomp); }); #if (AMREX_SPACEDIM >= 2) fac = bscalar*static_cast(dxinv[1]); bflux = amrex::surroundingNodes(box, 1); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlabeclap_flux_y(tbox, fyarr, solarr, by, fac, ncomp); }); @@ -1221,7 +1228,7 @@ MLABecLaplacianT::FFlux (Box const& box, Real const* dxinv, RT bscalar, #if (AMREX_SPACEDIM == 3) fac = bscalar*static_cast(dxinv[2]); bflux = amrex::surroundingNodes(box, 2); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlabeclap_flux_z(tbox, fzarr, solarr, bz, fac, ncomp); }); diff --git a/Src/LinearSolvers/MLMG/AMReX_MLALaplacian.H b/Src/LinearSolvers/MLMG/AMReX_MLALaplacian.H index 9df9088e77d..2e3feceabc9 100644 --- a/Src/LinearSolvers/MLMG/AMReX_MLALaplacian.H +++ b/Src/LinearSolvers/MLMG/AMReX_MLALaplacian.H @@ -302,12 +302,12 @@ MLALaplacianT::Fapply (int amrlev, int mglev, MF& out, const MF& in) const #if (AMREX_SPACEDIM != 3) if (this->m_has_metric_term) { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bx, tbx, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bx, tbx, { mlalap_adotx_m(tbx, yfab, xfab, afab, dxinv, ascalar, bscalar, dx, probxlo, ncomp); }); } else { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bx, tbx, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bx, tbx, { mlalap_adotx(tbx, yfab, xfab, afab, dxinv, ascalar, bscalar, ncomp); }); @@ -318,12 +318,12 @@ MLALaplacianT::Fapply (int amrlev, int mglev, MF& out, const MF& in) const const auto& xfab2d = this->compactify(xfab); const auto& yfab2d = this->compactify(yfab); const auto& afab2d = this->compactify(afab); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bx2d, tbx2d, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bx2d, tbx2d, { TwoD::mlalap_adotx(tbx2d, yfab2d, xfab2d, afab2d, dhinv, ascalar, bscalar, ncomp); }); } else { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bx, tbx, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bx, tbx, { mlalap_adotx(tbx, yfab, xfab, afab, dxinv, ascalar, bscalar, ncomp); }); @@ -370,12 +370,12 @@ MLALaplacianT::normalize (int amrlev, int mglev, MF& mf) const #if (AMREX_SPACEDIM != 3) if (this->m_has_metric_term) { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bx, tbx, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bx, tbx, { mlalap_normalize_m(tbx, fab, afab, dxinv, ascalar, bscalar, dx, probxlo, ncomp); }); } else { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bx, tbx, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bx, tbx, { mlalap_normalize(tbx, fab, afab, dxinv, ascalar, bscalar, ncomp); }); @@ -385,12 +385,12 @@ MLALaplacianT::normalize (int amrlev, int mglev, MF& mf) const Box const& bx2d = this->compactify(bx); const auto& fab2d = this->compactify(fab); const auto& afab2d = this->compactify(afab); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bx2d, tbx2d, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bx2d, tbx2d, { TwoD::mlalap_normalize(tbx2d, fab2d, afab2d, dhinv, ascalar, bscalar, ncomp); }); } else { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bx, tbx, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bx, tbx, { mlalap_normalize(tbx, fab, afab, dxinv, ascalar, bscalar, ncomp); }); @@ -490,7 +490,7 @@ MLALaplacianT::Fsmooth (int amrlev, int mglev, MF& sol, const MF& rhs, int r #if (AMREX_SPACEDIM == 1) if (this->m_has_metric_term) { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( tbx, thread_box, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( tbx, thread_box, { mlalap_gsrb_m(thread_box, solnfab, rhsfab, alpha, dhx, afab, @@ -500,7 +500,7 @@ MLALaplacianT::Fsmooth (int amrlev, int mglev, MF& sol, const MF& rhs, int r dx, probxlo, ncomp); }); } else { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( tbx, thread_box, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( tbx, thread_box, { mlalap_gsrb(thread_box, solnfab, rhsfab, alpha, dhx, afab, @@ -514,7 +514,7 @@ MLALaplacianT::Fsmooth (int amrlev, int mglev, MF& sol, const MF& rhs, int r #if (AMREX_SPACEDIM == 2) if (this->m_has_metric_term) { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( tbx, thread_box, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( tbx, thread_box, { mlalap_gsrb_m(thread_box, solnfab, rhsfab, alpha, dhx, dhy, afab, @@ -526,7 +526,7 @@ MLALaplacianT::Fsmooth (int amrlev, int mglev, MF& sol, const MF& rhs, int r dx, probxlo, ncomp); }); } else { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( tbx, thread_box, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( tbx, thread_box, { mlalap_gsrb(thread_box, solnfab, rhsfab, alpha, dhx, dhy, afab, @@ -554,7 +554,7 @@ MLALaplacianT::Fsmooth (int amrlev, int mglev, MF& sol, const MF& rhs, int r const auto& m1_2d = this->compactify(this->get_d1(m0,m1,m2)); const auto& m2_2d = this->compactify(this->get_d0(m3,m4,m5)); const auto& m3_2d = this->compactify(this->get_d1(m3,m4,m5)); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( tbx_2d, thread_box, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( tbx_2d, thread_box, { TwoD::mlalap_gsrb(thread_box, solnfab_2d, rhsfab_2d, alpha, dh0, dh1, afab_2d, @@ -565,7 +565,7 @@ MLALaplacianT::Fsmooth (int amrlev, int mglev, MF& sol, const MF& rhs, int r vbx_2d, redblack, ncomp); }); } else { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( tbx, thread_box, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( tbx, thread_box, { mlalap_gsrb(thread_box, solnfab, rhsfab, alpha, dhx, dhy, dhz, afab, @@ -611,7 +611,7 @@ MLALaplacianT::FFlux (int amrlev, const MFIter& mfi, RT fac = m_b_scalar * RT(dxinv[0]); Box blo = amrex::bdryLo(box, 0); int blen = box.length(0); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlalap_flux_xface(tbox, fxarr, solarr, fac, blen, ncomp); }); @@ -622,7 +622,7 @@ MLALaplacianT::FFlux (int amrlev, const MFIter& mfi, RT fac = m_b_scalar * RT(dxinv[1]); Box blo = amrex::bdryLo(box, 1); int blen = box.length(1); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlalap_flux_yface(tbox, fyarr, solarr, fac, blen, ncomp); }); @@ -633,7 +633,7 @@ MLALaplacianT::FFlux (int amrlev, const MFIter& mfi, RT fac = m_b_scalar * RT(dxinv[2]); Box blo = amrex::bdryLo(box, 2); int blen = box.length(2); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlalap_flux_zface(tbox, fzarr, solarr, fac, blen, ncomp); }); @@ -644,7 +644,7 @@ MLALaplacianT::FFlux (int amrlev, const MFIter& mfi, if (this->hiddenDirection() != 0) { RT fac = m_b_scalar * RT(dxinv[0]); Box bflux = amrex::surroundingNodes(box, 0); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlalap_flux_x(tbox, fxarr, solarr, fac, ncomp); }); @@ -654,7 +654,7 @@ MLALaplacianT::FFlux (int amrlev, const MFIter& mfi, if (this->hiddenDirection() != 1) { RT fac = m_b_scalar * RT(dxinv[1]); Box bflux = amrex::surroundingNodes(box, 1); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlalap_flux_y(tbox, fyarr, solarr, fac, ncomp); }); @@ -664,7 +664,7 @@ MLALaplacianT::FFlux (int amrlev, const MFIter& mfi, if (this->hiddenDirection() != 2) { RT fac = m_b_scalar * RT(dxinv[2]); Box bflux = amrex::surroundingNodes(box, 2); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlalap_flux_z(tbox, fzarr, solarr, fac, ncomp); }); @@ -679,12 +679,12 @@ MLALaplacianT::FFlux (int amrlev, const MFIter& mfi, Box blo = amrex::bdryLo(box, 0); int blen = box.length(0); if (this->m_has_metric_term) { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlalap_flux_xface_m(tbox, fxarr, solarr, fac, blen, dx, probxlo, ncomp); }); } else { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlalap_flux_xface(tbox, fxarr, solarr, fac, blen, ncomp); }); @@ -697,12 +697,12 @@ MLALaplacianT::FFlux (int amrlev, const MFIter& mfi, Box blo = amrex::bdryLo(box, 1); int blen = box.length(1); if (this->m_has_metric_term) { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlalap_flux_yface_m(tbox, fyarr, solarr, fac, blen, dx, probxlo, ncomp); }); } else { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlalap_flux_yface(tbox, fyarr, solarr, fac, blen, ncomp); }); @@ -715,12 +715,12 @@ MLALaplacianT::FFlux (int amrlev, const MFIter& mfi, RT fac = m_b_scalar * RT(dxinv[0]); Box bflux = amrex::surroundingNodes(box, 0); if (this->m_has_metric_term) { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlalap_flux_x_m(tbox, fxarr, solarr, fac, dx, probxlo, ncomp); }); } else { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlalap_flux_x(tbox, fxarr, solarr, fac, ncomp); }); @@ -732,12 +732,12 @@ MLALaplacianT::FFlux (int amrlev, const MFIter& mfi, RT fac = m_b_scalar * RT(dxinv[1]); Box bflux = amrex::surroundingNodes(box, 1); if (this->m_has_metric_term) { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlalap_flux_y_m(tbox, fyarr, solarr, fac, dx, probxlo, ncomp); }); } else { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlalap_flux_y(tbox, fyarr, solarr, fac, ncomp); }); @@ -752,12 +752,12 @@ MLALaplacianT::FFlux (int amrlev, const MFIter& mfi, Box blo = amrex::bdryLo(box, 0); int blen = box.length(0); if (this->m_has_metric_term) { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlalap_flux_xface_m(tbox, fxarr, solarr, fac, blen, dx, probxlo, ncomp); }); } else { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlalap_flux_xface(tbox, fxarr, solarr, fac, blen, ncomp); }); @@ -766,12 +766,12 @@ MLALaplacianT::FFlux (int amrlev, const MFIter& mfi, RT fac = m_b_scalar * RT(dxinv[0]); Box bflux = amrex::surroundingNodes(box, 0); if (this->m_has_metric_term) { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlalap_flux_x_m(tbox, fxarr, solarr, fac, dx, probxlo, ncomp); }); } else { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlalap_flux_x(tbox, fxarr, solarr, fac, ncomp); }); diff --git a/Src/LinearSolvers/MLMG/AMReX_MLCellLinOp.H b/Src/LinearSolvers/MLMG/AMReX_MLCellLinOp.H index d985c3d20d0..2541d62bf2f 100644 --- a/Src/LinearSolvers/MLMG/AMReX_MLCellLinOp.H +++ b/Src/LinearSolvers/MLMG/AMReX_MLCellLinOp.H @@ -1053,7 +1053,7 @@ MLCellLinOpT::interpAssign (int amrlev, int fmglev, MF& fine, MF& crse) cons call_lincc = true; } else { Array4 const& flg = flag.const_array(); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA (bx, tbx, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE (bx, tbx, { mlmg_eb_cc_interp_r<2>(tbx, ff, cc, flg, ncomp); }); @@ -1075,14 +1075,14 @@ MLCellLinOpT::interpAssign (int amrlev, int fmglev, MF& fine, MF& crse) cons Box const& bx_2d = this->compactify(bx); auto const& ff_2d = this->compactify(ff); auto const& cc_2d = this->compactify(cc); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA (bx_2d, tbx, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE (bx_2d, tbx, { TwoD::mlmg_lin_cc_interp_r2(tbx, ff_2d, cc_2d, ncomp); }); } else #endif { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA (bx, tbx, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE (bx, tbx, { mlmg_lin_cc_interp_r2(tbx, ff, cc, ncomp); }); @@ -1126,7 +1126,7 @@ MLCellLinOpT::interpolationAmr (int famrlev, MF& fine, const MF& crse, switch(refratio) { case 2: { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA (bx, tbx, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE (bx, tbx, { mlmg_eb_cc_interp_r<2>(tbx, ff, cc, flg, ncomp); }); @@ -1134,7 +1134,7 @@ MLCellLinOpT::interpolationAmr (int famrlev, MF& fine, const MF& crse, } case 4: { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA (bx, tbx, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE (bx, tbx, { mlmg_eb_cc_interp_r<4>(tbx, ff, cc, flg, ncomp); }); @@ -1159,7 +1159,7 @@ MLCellLinOpT::interpolationAmr (int famrlev, MF& fine, const MF& crse, switch(refratio) { case 2: { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA (bx, tbx, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE (bx, tbx, { mlmg_lin_cc_interp_r2(tbx, ff, cc, ncomp); }); @@ -1167,7 +1167,7 @@ MLCellLinOpT::interpolationAmr (int famrlev, MF& fine, const MF& crse, } case 4: { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA (bx, tbx, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE (bx, tbx, { mlmg_lin_cc_interp_r4(tbx, ff, cc, ncomp); }); diff --git a/Src/LinearSolvers/MLMG/AMReX_MLPoisson.H b/Src/LinearSolvers/MLMG/AMReX_MLPoisson.H index 4a529dff9d7..679a1c9e583 100644 --- a/Src/LinearSolvers/MLMG/AMReX_MLPoisson.H +++ b/Src/LinearSolvers/MLMG/AMReX_MLPoisson.H @@ -880,7 +880,7 @@ MLPoissonT::FFlux (int amrlev, const MFIter& mfi, RT fac = RT(dxinv[0]); Box blo = amrex::bdryLo(box, 0); int blen = box.length(0); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlpoisson_flux_xface(tbox, fxarr, solarr, fac, blen); }); @@ -891,7 +891,7 @@ MLPoissonT::FFlux (int amrlev, const MFIter& mfi, RT fac = RT(dxinv[1]); Box blo = amrex::bdryLo(box, 1); int blen = box.length(1); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlpoisson_flux_yface(tbox, fyarr, solarr, fac, blen); }); @@ -902,7 +902,7 @@ MLPoissonT::FFlux (int amrlev, const MFIter& mfi, RT fac = RT(dxinv[2]); Box blo = amrex::bdryLo(box, 2); int blen = box.length(2); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlpoisson_flux_zface(tbox, fzarr, solarr, fac, blen); }); @@ -913,7 +913,7 @@ MLPoissonT::FFlux (int amrlev, const MFIter& mfi, if (this->hiddenDirection() != 0) { RT fac = RT(dxinv[0]); Box bflux = amrex::surroundingNodes(box, 0); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlpoisson_flux_x(tbox, fxarr, solarr, fac); }); @@ -923,7 +923,7 @@ MLPoissonT::FFlux (int amrlev, const MFIter& mfi, if (this->hiddenDirection() != 1) { RT fac = RT(dxinv[1]); Box bflux = amrex::surroundingNodes(box, 1); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlpoisson_flux_y(tbox, fyarr, solarr, fac); }); @@ -933,7 +933,7 @@ MLPoissonT::FFlux (int amrlev, const MFIter& mfi, if (this->hiddenDirection() != 2) { RT fac = RT(dxinv[2]); Box bflux = amrex::surroundingNodes(box, 2); - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlpoisson_flux_z(tbox, fzarr, solarr, fac); }); @@ -948,12 +948,12 @@ MLPoissonT::FFlux (int amrlev, const MFIter& mfi, Box blo = amrex::bdryLo(box, 0); int blen = box.length(0); if (this->m_has_metric_term) { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlpoisson_flux_xface_m(tbox, fxarr, solarr, fac, blen, dx, probxlo); }); } else { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlpoisson_flux_xface(tbox, fxarr, solarr, fac, blen); }); @@ -966,12 +966,12 @@ MLPoissonT::FFlux (int amrlev, const MFIter& mfi, Box blo = amrex::bdryLo(box, 1); int blen = box.length(1); if (this->m_has_metric_term) { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlpoisson_flux_yface_m(tbox, fyarr, solarr, fac, blen, dx, probxlo); }); } else { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlpoisson_flux_yface(tbox, fyarr, solarr, fac, blen); }); @@ -984,12 +984,12 @@ MLPoissonT::FFlux (int amrlev, const MFIter& mfi, RT fac = RT(dxinv[0]); Box bflux = amrex::surroundingNodes(box, 0); if (this->m_has_metric_term) { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlpoisson_flux_x_m(tbox, fxarr, solarr, fac, dx, probxlo); }); } else { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlpoisson_flux_x(tbox, fxarr, solarr, fac); }); @@ -1001,12 +1001,12 @@ MLPoissonT::FFlux (int amrlev, const MFIter& mfi, RT fac = RT(dxinv[1]); Box bflux = amrex::surroundingNodes(box, 1); if (this->m_has_metric_term) { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlpoisson_flux_y_m(tbox, fyarr, solarr, fac, dx, probxlo); }); } else { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlpoisson_flux_y(tbox, fyarr, solarr, fac); }); @@ -1021,12 +1021,12 @@ MLPoissonT::FFlux (int amrlev, const MFIter& mfi, Box blo = amrex::bdryLo(box, 0); int blen = box.length(0); if (this->m_has_metric_term) { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlpoisson_flux_xface_m(tbox, fxarr, solarr, fac, blen, dx, probxlo); }); } else { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( blo, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( blo, tbox, { mlpoisson_flux_xface(tbox, fxarr, solarr, fac, blen); }); @@ -1035,12 +1035,12 @@ MLPoissonT::FFlux (int amrlev, const MFIter& mfi, RT fac = RT(dxinv[0]); Box bflux = amrex::surroundingNodes(box, 0); if (this->m_has_metric_term) { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlpoisson_flux_x_m(tbox, fxarr, solarr, fac, dx, probxlo); }); } else { - AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( bflux, tbox, + AMREX_GPU_LAUNCH_HOST_DEVICE_LAMBDA_RANGE ( bflux, tbox, { mlpoisson_flux_x(tbox, fxarr, solarr, fac); });