aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/PhysicalParticleContainer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.cpp')
-rw-r--r--Source/Particles/PhysicalParticleContainer.cpp12
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
+ );
}
}