From 9c166ee7f165483b86c5c592bd9d5ec0797965b6 Mon Sep 17 00:00:00 2001 From: Weiqun Zhang Date: Fri, 24 Mar 2023 15:33:26 -0700 Subject: Workaround for nvcc (#3782) Fixes an issue in #3696. CUDA device lambda appears to have a limitation that explicit by-copy captures in addition to by-copy capture default would result in invalid device function at runtime. --- Source/Particles/RigidInjectedParticleContainer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Source/Particles/RigidInjectedParticleContainer.cpp') diff --git a/Source/Particles/RigidInjectedParticleContainer.cpp b/Source/Particles/RigidInjectedParticleContainer.cpp index 493b14e55..8efe724bd 100644 --- a/Source/Particles/RigidInjectedParticleContainer.cpp +++ b/Source/Particles/RigidInjectedParticleContainer.cpp @@ -413,8 +413,7 @@ RigidInjectedParticleContainer::PushP (int lev, Real dt, amrex::ParallelFor(TypeList>{}, {exteb_runtime_flag}, - np, [=,getExternalEB=getExternalEB] - AMREX_GPU_DEVICE (long ip, auto exteb_control) + np, [=] AMREX_GPU_DEVICE (long ip, auto exteb_control) { ux_save[ip] = uxpp[ip]; uy_save[ip] = uypp[ip]; @@ -433,6 +432,7 @@ RigidInjectedParticleContainer::PushP (int lev, Real dt, dx_arr, xyzmin_arr, lo, n_rz_azimuthal_modes, nox, galerkin_interpolation); + [[maybe_unused]] auto& getExternalEB_tmp = getExternalEB; if constexpr (exteb_control == has_exteb) { getExternalEB(ip, Exp, Eyp, Ezp, Bxp, Byp, Bzp); } -- cgit v1.2.3