diff options
author | 2020-01-13 11:41:22 -0800 | |
---|---|---|
committer | 2020-01-13 11:41:22 -0800 | |
commit | eae5b5934107d1f044c9f869e53b8c41678ea2ea (patch) | |
tree | 4a03b2f88f1e49d8eae1980064da8bca06ee06aa /Source/Particles/PhysicalParticleContainer.cpp | |
parent | 314155c64214c4b37d66e6fe4b668143920dd6cf (diff) | |
download | WarpX-eae5b5934107d1f044c9f869e53b8c41678ea2ea.tar.gz WarpX-eae5b5934107d1f044c9f869e53b8c41678ea2ea.tar.zst WarpX-eae5b5934107d1f044c9f869e53b8c41678ea2ea.zip |
shared memory for parser on gpu
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.cpp')
-rw-r--r-- | Source/Particles/PhysicalParticleContainer.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/Source/Particles/PhysicalParticleContainer.cpp b/Source/Particles/PhysicalParticleContainer.cpp index 51448c747..dc6b5f6c1 100644 --- a/Source/Particles/PhysicalParticleContainer.cpp +++ b/Source/Particles/PhysicalParticleContainer.cpp @@ -1003,7 +1003,11 @@ PhysicalParticleContainer::AssignExternalFieldOnParticles(WarpXParIter& pti, Exp_data[i] = xfield_partparser->getField(xp_data[i],yp_data[i],zp_data[i]); Eyp_data[i] = yfield_partparser->getField(xp_data[i],yp_data[i],zp_data[i]); Ezp_data[i] = zfield_partparser->getField(xp_data[i],yp_data[i],zp_data[i]); - }); + } + /* To allocate shared memory for the GPU threads. */ + /* But, for now only 3 doubles (x,y,z) are allocated. */ + amrex::Gpu::numThreadsPerBlockParallelFor() * sizeof(double) * 3 + ); } if (mypc.m_B_ext_particle_s=="parse_b_ext_particle_function") { Real* const AMREX_RESTRICT xp_data = xp.dataPtr(); @@ -1020,7 +1024,11 @@ PhysicalParticleContainer::AssignExternalFieldOnParticles(WarpXParIter& pti, Bxp_data[i] = xfield_partparser->getField(xp_data[i],yp_data[i],zp_data[i]); Byp_data[i] = yfield_partparser->getField(xp_data[i],yp_data[i],zp_data[i]); Bzp_data[i] = zfield_partparser->getField(xp_data[i],yp_data[i],zp_data[i]); - }); + } + /* To allocate shared memory for the GPU threads. */ + /* But, for now only 3 doubles (x,y,z) are allocated. */ + amrex::Gpu::numThreadsPerBlockParallelFor() * sizeof(double) * 3 + ); } } |