Skip to content

Commit 22d4806

Browse files
committed
WarpX PCs: Polymorphic
1 parent a3359dd commit 22d4806

14 files changed

+36
-35
lines changed

Source/Diagnostics/BTDiagnostics.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1469,7 +1469,7 @@ BTDiagnostics::InitializeParticleBuffer (const MultiParticleContainer& mpc)
14691469
for (int isp = 0; isp < m_particles_buffer[i].size(); ++isp) {
14701470
m_totalParticles_in_buffer[i][isp] = 0;
14711471
const int idx = mpc.getSpeciesID(m_output_species_names[isp]);
1472-
m_particles_buffer[i][isp] = std::make_unique<PinnedMemoryParticleContainer>(mpc.GetParticleContainer(idx).make_alike<amrex::PinnedArenaAllocator>());
1472+
m_particles_buffer[i][isp] = std::make_unique<PinnedMemoryParticleContainer>(mpc.GetParticleContainer(idx).make_alike<amrex::PolymorphicArenaAllocator>());
14731473

14741474
// SoA component names
14751475
{

Source/Diagnostics/FlushFormats/FlushFormatPlotfile.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -361,8 +361,8 @@ FlushFormatPlotfile::WriteParticles(const std::string& dir,
361361
WarpXParticleContainer* pc = part_diag.getParticleContainer();
362362
PinnedMemoryParticleContainer* pinned_pc = part_diag.getPinnedParticleContainer();
363363
auto tmp = isBTD ?
364-
pinned_pc->make_alike<amrex::PinnedArenaAllocator>() :
365-
pc->make_alike<amrex::PinnedArenaAllocator>();
364+
pinned_pc->make_alike<amrex::PolymorphicArenaAllocator>() :
365+
pc->make_alike<amrex::PolymorphicArenaAllocator>();
366366

367367
Vector<std::string> real_names;
368368
Vector<std::string> int_names;

Source/Diagnostics/ReducedDiags/FieldProbeParticleContainer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ FieldProbeParticleContainer::AddNParticles (int lev,
6060
* is then coppied to the permament tile which is stored on the particle
6161
* (particle_tile).
6262
*/
63-
using PinnedTile = typename ContainerLike<amrex::PinnedArenaAllocator>::ParticleTileType;
63+
using PinnedTile = typename ContainerLike<amrex::PolymorphicArenaAllocator>::ParticleTileType;
6464

6565
PinnedTile pinned_tile;
6666
pinned_tile.define(NumRuntimeRealComps(), NumRuntimeIntComps());

Source/Diagnostics/WarpXOpenPMD.H

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@
4040
class WarpXParticleCounter
4141
{
4242
public:
43-
using ParticleContainer = typename WarpXParticleContainer::ContainerLike<amrex::PinnedArenaAllocator>;
44-
using ParticleIter = typename amrex::ParIterSoA<PIdx::nattribs, 0, amrex::PinnedArenaAllocator>;
43+
using ParticleContainer = typename WarpXParticleContainer::ContainerLike<amrex::PolymorphicArenaAllocator>;
44+
using ParticleIter = typename amrex::ParIterSoA<PIdx::nattribs, 0, amrex::PolymorphicArenaAllocator>;
4545

4646
WarpXParticleCounter (ParticleContainer* pc);
4747
[[nodiscard]] unsigned long GetTotalNumParticles () const {return m_Total;}
@@ -76,8 +76,8 @@ private:
7676
class WarpXOpenPMDPlot
7777
{
7878
public:
79-
using ParticleContainer = typename WarpXParticleContainer::ContainerLike<amrex::PinnedArenaAllocator>;
80-
using ParticleIter = typename amrex::ParConstIterSoA<PIdx::nattribs, 0, amrex::PinnedArenaAllocator>;
79+
using ParticleContainer = typename WarpXParticleContainer::ContainerLike<amrex::PolymorphicArenaAllocator>;
80+
using ParticleIter = typename amrex::ParConstIterSoA<PIdx::nattribs, 0, amrex::PolymorphicArenaAllocator>;
8181

8282
/** Initialize openPMD I/O routines
8383
*

Source/Diagnostics/WarpXOpenPMD.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -559,8 +559,8 @@ for (const auto & particle_diag : particle_diags) {
559559
}
560560

561561
PinnedMemoryParticleContainer tmp = (isBTD || use_pinned_pc) ?
562-
pinned_pc->make_alike<amrex::PinnedArenaAllocator>() :
563-
pc->make_alike<amrex::PinnedArenaAllocator>();
562+
pinned_pc->make_alike<amrex::PolymorphicArenaAllocator>() :
563+
pc->make_alike<amrex::PolymorphicArenaAllocator>();
564564

565565
const auto mass = pc->AmIA<PhysicalSpecies::photon>() ? PhysConst::m_e : pc->getMass();
566566
RandomFilter const random_filter(particle_diag.m_do_random_filter,

Source/Particles/LaserParticleContainer.H

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public:
5656
* \brief Method to initialize runtime attributes. Does nothing for LaserParticleContainer.
5757
*/
5858
void DefaultInitializeRuntimeAttributes (
59-
typename ContainerLike<amrex::PinnedArenaAllocator>::ParticleTileType& /*pinned_tile*/,
59+
typename ContainerLike<amrex::PolymorphicArenaAllocator>::ParticleTileType& /*pinned_tile*/,
6060
int /*n_external_attr_real*/,
6161
int /*n_external_attr_int*/) final {}
6262

Source/Particles/ParticleBoundaryBuffer.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@ void ParticleBoundaryBuffer::gatherParticlesFromDomainBoundaries (MultiParticleC
384384
{
385385
WARPX_PROFILE("ParticleBoundaryBuffer::gatherParticles");
386386

387-
using PIter = amrex::ParConstIterSoA<PIdx::nattribs, 0>;
387+
using PIter = amrex::ParConstIterSoA<PIdx::nattribs, 0, amrex::PolymorphicArenaAllocator>;
388388
const auto& warpx_instance = WarpX::GetInstance();
389389
const amrex::Geometry& geom = warpx_instance.Geom(0);
390390
auto plo = geom.ProbLoArray();
@@ -401,7 +401,7 @@ void ParticleBoundaryBuffer::gatherParticlesFromDomainBoundaries (MultiParticleC
401401
const WarpXParticleContainer& pc = mypc.GetParticleContainer(i);
402402
if (!buffer[i].isDefined())
403403
{
404-
buffer[i] = pc.make_alike<amrex::PinnedArenaAllocator>();
404+
buffer[i] = pc.make_alike<amrex::PolymorphicArenaAllocator>();
405405
buffer[i].AddIntComp("stepScraped", true);
406406
buffer[i].AddRealComp("deltaTimeScraped", true);
407407
buffer[i].AddRealComp("nx", true);
@@ -495,7 +495,7 @@ void ParticleBoundaryBuffer::gatherParticlesFromEmbeddedBoundaries (
495495
WARPX_PROFILE("ParticleBoundaryBuffer::gatherParticles::EB");
496496

497497

498-
using PIter = amrex::ParConstIterSoA<PIdx::nattribs, 0>;
498+
using PIter = amrex::ParConstIterSoA<PIdx::nattribs, 0, amrex::PolymorphicArenaAllocator>;
499499
const auto &warpx_instance = WarpX::GetInstance();
500500
const amrex::Geometry &geom = warpx_instance.Geom(0);
501501
auto plo = geom.ProbLoArray();
@@ -507,7 +507,7 @@ void ParticleBoundaryBuffer::gatherParticlesFromEmbeddedBoundaries (
507507
const auto& pc = mypc.GetParticleContainer(i);
508508
if (!buffer[i].isDefined())
509509
{
510-
buffer[i] = pc.make_alike<amrex::PinnedArenaAllocator>();
510+
buffer[i] = pc.make_alike<amrex::PolymorphicArenaAllocator>();
511511
buffer[i].AddIntComp("stepScraped", true);
512512
buffer[i].AddRealComp("deltaTimeScraped", true);
513513
buffer[i].AddRealComp("nx", true);

Source/Particles/PhysicalParticleContainer.H

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ public:
279279
* These are NOT initialized by this function.
280280
*/
281281
void DefaultInitializeRuntimeAttributes (
282-
typename ContainerLike<amrex::PinnedArenaAllocator>::ParticleTileType& pinned_tile,
282+
typename ContainerLike<amrex::PolymorphicArenaAllocator>::ParticleTileType& pinned_tile,
283283
int n_external_attr_real,
284284
int n_external_attr_int) final;
285285

Source/Particles/PhysicalParticleContainer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ void PhysicalParticleContainer::InitData ()
403403

404404
void
405405
PhysicalParticleContainer::DefaultInitializeRuntimeAttributes (
406-
typename ContainerLike<amrex::PinnedArenaAllocator>::ParticleTileType& pinned_tile,
406+
typename ContainerLike<amrex::PolymorphicArenaAllocator>::ParticleTileType& pinned_tile,
407407
int n_external_attr_real,
408408
int n_external_attr_int)
409409
{

Source/Particles/PinnedMemoryParticleContainer.H

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33

44
#include "WarpXParticleContainer.H"
55

6-
using PinnedMemoryParticleContainer = amrex::ParticleContainerPureSoA<PIdx::nattribs, 0, amrex::PinnedArenaAllocator>;
6+
using PinnedMemoryParticleContainer = amrex::ParticleContainerPureSoA<PIdx::nattribs, 0, amrex::PolymorphicArenaAllocator>;
77

88
#endif //WARPX_PinnedMemoryParticleContainer_H_

0 commit comments

Comments
 (0)