diff options
author | 2018-12-06 16:45:35 -0800 | |
---|---|---|
committer | 2018-12-06 16:45:35 -0800 | |
commit | ffa7e36c1f7b3ea2a629f918a1a336bd3cc78df1 (patch) | |
tree | 30642262fb924870e404c189f8686cecfa5e1d3a /Source/PhysicalParticleContainer.cpp | |
parent | 25dd277dd1c44457f8ca4432b6e93fe2fdde49bd (diff) | |
parent | 8ae0feaf0f5573c5f1623cb8acaf3bcc6ab5566c (diff) | |
download | WarpX-ffa7e36c1f7b3ea2a629f918a1a336bd3cc78df1.tar.gz WarpX-ffa7e36c1f7b3ea2a629f918a1a336bd3cc78df1.tar.zst WarpX-ffa7e36c1f7b3ea2a629f918a1a336bd3cc78df1.zip |
Merge branch 'fabptr' into dev
Diffstat (limited to 'Source/PhysicalParticleContainer.cpp')
-rw-r--r-- | Source/PhysicalParticleContainer.cpp | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/Source/PhysicalParticleContainer.cpp b/Source/PhysicalParticleContainer.cpp index f76c74579..c4fdd4464 100644 --- a/Source/PhysicalParticleContainer.cpp +++ b/Source/PhysicalParticleContainer.cpp @@ -437,7 +437,11 @@ PhysicalParticleContainer::AddPlasmaCPU (int lev, RealBox part_realbox) if (cost) { wt = (amrex::second() - wt) / tile_box.d_numPts(); - (*cost)[mfi].plus(wt, tile_box); + FArrayBox* costfab = cost->fabPtr(mfi); + AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( tile_box, work_box, + { + costfab->plus(wt, work_box); + }); } } } @@ -674,7 +678,11 @@ PhysicalParticleContainer::AddPlasmaGPU (int lev, RealBox part_realbox) if (cost) { wt = (amrex::second() - wt) / tile_box.d_numPts(); - (*cost)[mfi].plus(wt, tile_box); + FArrayBox* costfab = cost->fabPtr(mfi); + AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( tile_box, work_box, + { + costfab->plus(wt, work_box); + }); } } } @@ -981,7 +989,11 @@ PhysicalParticleContainer::FieldGather (int lev, if (cost) { const Box& tbx = pti.tilebox(); wt = (amrex::second() - wt) / tbx.d_numPts(); - (*cost)[pti].plus(wt, tbx); + FArrayBox* costfab = cost->fabPtr(pti); + AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( tbx, work_box, + { + costfab->plus(wt, work_box); + }); } } } @@ -1406,7 +1418,11 @@ PhysicalParticleContainer::Evolve (int lev, if (cost) { const Box& tbx = pti.tilebox(); wt = (amrex::second() - wt) / tbx.d_numPts(); - (*cost)[pti].plus(wt, tbx); + FArrayBox* costfab = cost->fabPtr(pti); + AMREX_LAUNCH_HOST_DEVICE_LAMBDA ( tbx, work_box, + { + costfab->plus(wt, work_box); + }); } } } |