diff --git a/.github/workflows/clang_sanitizers.yml b/.github/workflows/clang_sanitizers.yml index 48d8068c80c..4abd3e6b2a7 100644 --- a/.github/workflows/clang_sanitizers.yml +++ b/.github/workflows/clang_sanitizers.yml @@ -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 @@ -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 diff --git a/Source/Particles/MultiParticleContainer.cpp b/Source/Particles/MultiParticleContainer.cpp index 619b54ed7ad..fca55c58d4e 100644 --- a/Source/Particles/MultiParticleContainer.cpp +++ b/Source/Particles/MultiParticleContainer.cpp @@ -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) { @@ -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) { @@ -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) {