Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 14 additions & 2 deletions .github/workflows/clang_sanitizers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,16 +67,25 @@ jobs:
export OMPI_ALLOW_RUN_AS_ROOT=1
export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1

export OMP_NUM_THREADS=2

#MPI implementations often leak memory
export "ASAN_OPTIONS=detect_leaks=0"

export OMP_NUM_THREADS=2
mpirun -n 2 ./build/bin/warpx.rz Examples/Physics_applications/laser_acceleration/inputs_base_rz
mpirun -n 2 ./build/bin/warpx.1d Examples/Physics_applications/laser_acceleration/inputs_test_1d_laser_acceleration
mpirun -n 2 ./build/bin/warpx.2d Examples/Physics_applications/laser_acceleration/inputs_base_2d
mpirun -n 2 ./build/bin/warpx.3d Examples/Physics_applications/laser_acceleration/inputs_base_3d

export OMP_NUM_THREADS=1
mpirun -n 1 ./build/bin/warpx.rz Examples/Tests/collision/inputs_test_rz_collision
mpirun -n 1 ./build/bin/warpx.1d Examples/Tests/collision/inputs_test_1d_collision_z
mpirun -n 1 ./build/bin/warpx.2d Examples/Tests/collision/inputs_test_2d_collision_xz
mpirun -n 1 ./build/bin/warpx.3d Examples/Tests/collision/inputs_test_3d_collision_xyz

export OMP_NUM_THREADS=2
mpirun -n 2 ./build/bin/warpx.2d Examples/Tests/qed/inputs_base_2d_breit_wheeler
mpirun -n 2 ./build/bin/warpx.3d Examples/Tests/qed/inputs_base_3d_breit_wheeler

build_thread_sanitizer:
name: Clang thread sanitizer
runs-on: ubuntu-22.04
Expand Down Expand Up @@ -158,6 +167,9 @@ jobs:
mpirun -n 2 ./build/bin/warpx.2d Examples/Physics_applications/laser_acceleration/inputs_base_2d warpx.serialize_initial_conditions = 0
mpirun -n 2 ./build/bin/warpx.3d Examples/Physics_applications/laser_acceleration/inputs_base_3d warpx.serialize_initial_conditions = 0

mpirun -n 2 ./build/bin/warpx.2d Examples/Tests/qed/inputs_base_2d_breit_wheeler
mpirun -n 2 ./build/bin/warpx.3d Examples/Tests/qed/inputs_base_3d_breit_wheeler

git clone https://github.com/ECP-WarpX/warpx-data ../warpx-data
cd Examples/Tests/embedded_circle

Expand Down
12 changes: 3 additions & 9 deletions Source/Particles/MultiParticleContainer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -895,12 +895,10 @@ MultiParticleContainer::doFieldIonization (int lev,
pc_source ->defineAllParticleTiles();
pc_product->defineAllParticleTiles();

auto info = getMFItInfo(*pc_source, *pc_product);

#ifdef AMREX_USE_OMP
#pragma omp parallel if (Gpu::notInLaunchRegion())
#endif
for (WarpXParIter pti(*pc_source, lev, info); pti.isValid(); ++pti)
for (WarpXParIter pti(*pc_source, lev); pti.isValid(); ++pti)
{
if (cost && WarpX::load_balance_costs_update_algo == LoadBalanceCostsUpdateAlgo::Timers)
{
Expand Down Expand Up @@ -1530,12 +1528,10 @@ void MultiParticleContainer::doQedBreitWheeler (int lev,
pc_product_pos->defineAllParticleTiles();
pc_product_ele->defineAllParticleTiles();

auto info = getMFItInfo(*pc_source, *pc_product_ele, *pc_product_pos);

#ifdef AMREX_USE_OMP
#pragma omp parallel if (Gpu::notInLaunchRegion())
#endif
for (WarpXParIter pti(*pc_source, lev, info); pti.isValid(); ++pti)
for (WarpXParIter pti(*pc_source, lev); pti.isValid(); ++pti)
{
if (cost && WarpX::load_balance_costs_update_algo == LoadBalanceCostsUpdateAlgo::Timers)
{
Expand Down Expand Up @@ -1607,12 +1603,10 @@ void MultiParticleContainer::doQedQuantumSync (int lev,
pc_source ->defineAllParticleTiles();
pc_product_phot->defineAllParticleTiles();

auto info = getMFItInfo(*pc_source, *pc_product_phot);

#ifdef AMREX_USE_OMP
#pragma omp parallel if (Gpu::notInLaunchRegion())
#endif
for (WarpXParIter pti(*pc_source, lev, info); pti.isValid(); ++pti)
for (WarpXParIter pti(*pc_source, lev); pti.isValid(); ++pti)
{
if (cost && WarpX::load_balance_costs_update_algo == LoadBalanceCostsUpdateAlgo::Timers)
{
Expand Down