From eae5b5934107d1f044c9f869e53b8c41678ea2ea Mon Sep 17 00:00:00 2001 From: RevathiJambunathan Date: Mon, 13 Jan 2020 11:41:22 -0800 Subject: shared memory for parser on gpu --- Source/Particles/PhysicalParticleContainer.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'Source/Particles/PhysicalParticleContainer.cpp') 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 + ); } } -- cgit v1.2.3