diff --git a/include/picongpu/algorithms/AssignedTrilinearInterpolation.hpp b/include/picongpu/algorithms/AssignedTrilinearInterpolation.hpp index c805f2647ea..2102ed4e831 100644 --- a/include/picongpu/algorithms/AssignedTrilinearInterpolation.hpp +++ b/include/picongpu/algorithms/AssignedTrilinearInterpolation.hpp @@ -68,12 +68,15 @@ namespace picongpu using type = typename ::pmacc::result_of::Functor::type; auto result_z = type(0.0); +#pragma unroll for(int z = T_begin; z <= T_end; ++z) { auto result_y = type(0.0); +#pragma unroll for(int y = T_begin; y <= T_end; ++y) { auto result_x = type(0.0); +#pragma unroll for(int x = T_begin; x <= T_end; ++x) /* a form factor is the "amount of particle" that is affected by this cell * so we have to sum over: cell_value * form_factor diff --git a/include/picongpu/algorithms/FieldToParticleInterpolation.hpp b/include/picongpu/algorithms/FieldToParticleInterpolation.hpp index b29be938e40..dd475ecde9c 100644 --- a/include/picongpu/algorithms/FieldToParticleInterpolation.hpp +++ b/include/picongpu/algorithms/FieldToParticleInterpolation.hpp @@ -76,6 +76,7 @@ namespace picongpu using Supports = typename pmacc::math::CT::make_Int::type; typename Cursor::ValueType result; +#pragma unroll for(uint32_t i = 0; i < Cursor::ValueType::dim; i++) { auto fieldComponent