Skip to content

Commit

Permalink
need to move construction of these classes to inside omp parallel region
Browse files Browse the repository at this point in the history
  • Loading branch information
atmyers committed Sep 10, 2024
1 parent e6454b0 commit 66d67cc
Showing 1 changed file with 13 additions and 14 deletions.
27 changes: 13 additions & 14 deletions Source/Particles/PhysicalParticleContainer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -993,13 +993,6 @@ PhysicalParticleContainer::AddPlasma (PlasmaInjector const& plasma_injector, int
const bool radially_weighted = plasma_injector.radially_weighted;
#endif

auto n_user_int_attribs = static_cast<int>(m_user_int_attribs.size());
auto n_user_real_attribs = static_cast<int>(m_user_real_attribs.size());
PlasmaParserHelper plasma_parser_helper (m_user_int_attribs.size(),
m_user_real_attribs.size(),
m_user_int_attrib_parser,
m_user_real_attrib_parser);

MFItInfo info;
if (do_tiling && Gpu::notInLaunchRegion()) {
info.EnableTiling(tile_size);
Expand Down Expand Up @@ -1120,6 +1113,13 @@ PhysicalParticleContainer::AddPlasma (PlasmaInjector const& plasma_injector, int
}
uint64_t * AMREX_RESTRICT pa_idcpu = soa.GetIdCPUData().data() + old_size;

auto n_user_int_attribs = static_cast<int>(m_user_int_attribs.size());
auto n_user_real_attribs = static_cast<int>(m_user_real_attribs.size());
PlasmaParserHelper plasma_parser_helper (m_user_int_attribs.size(),
m_user_real_attribs.size(),
m_user_int_attrib_parser,
m_user_real_attrib_parser);

plasma_parser_helper.prepareData(soa, old_size, m_user_int_attribs, m_user_real_attribs, particle_icomps, particle_comps);
int** pa_user_int_data = plasma_parser_helper.getUserIntDataPtrs();
ParticleReal** pa_user_real_data = plasma_parser_helper.getUserRealDataPtrs();
Expand Down Expand Up @@ -1446,13 +1446,6 @@ PhysicalParticleContainer::AddPlasmaFlux (PlasmaInjector const& plasma_injector,
const bool radially_weighted = plasma_injector.radially_weighted;
#endif

auto n_user_int_attribs = static_cast<int>(m_user_int_attribs.size());
auto n_user_real_attribs = static_cast<int>(m_user_real_attribs.size());
PlasmaParserHelper plasma_parser_helper (m_user_int_attribs.size(),
m_user_real_attribs.size(),
m_user_int_attrib_parser,
m_user_real_attrib_parser);

MFItInfo info;
if (do_tiling && Gpu::notInLaunchRegion()) {
info.EnableTiling(tile_size);
Expand Down Expand Up @@ -1554,6 +1547,12 @@ PhysicalParticleContainer::AddPlasmaFlux (PlasmaInjector const& plasma_injector,
}
uint64_t * AMREX_RESTRICT pa_idcpu = soa.GetIdCPUData().data() + old_size;

auto n_user_int_attribs = static_cast<int>(m_user_int_attribs.size());
auto n_user_real_attribs = static_cast<int>(m_user_real_attribs.size());
PlasmaParserHelper plasma_parser_helper (m_user_int_attribs.size(),
m_user_real_attribs.size(),
m_user_int_attrib_parser,
m_user_real_attrib_parser);
plasma_parser_helper.prepareData(soa, old_size, m_user_int_attribs, m_user_real_attribs, particle_icomps, particle_comps);
int** pa_user_int_data = plasma_parser_helper.getUserIntDataPtrs();
ParticleReal** pa_user_real_data = plasma_parser_helper.getUserRealDataPtrs();
Expand Down

0 comments on commit 66d67cc

Please sign in to comment.