Alexander Sinn

Results 17 issues of Alexander Sinn

This PR adds the ability to change the unit conversion when reading in data. By specifying `units='SI'` in `OpenPMDTimeSeries()`, the functions `get_particle()` and `get_field()` will output pure SI data. `'SI_u'`...

feature

If the number of cells in a Box exceeds the maximum integer, eval wont work correctly and in my case would not loop over all elements without giving an error....

bug
enhancement

If I understand the code correctly, FillBoundary only iterates over cells close to the boundary, while SumBoundary copies the entire Field into a temporary array and then copies it back...

When using PureSoA with cuda 11.4 and calling `SortParticlesForDeposition`, there is a runtime error in `ReorderParticles`: ``` Rank 0 started step 0 at time = 0 with dt = 0...

## Summary PermutationForDeposition was initially developed for A100. A few tweaks can be made to improve performance on MI250X, which has a smaller cache but is much less sensitive to...

performance
GPU

## Summary Previously, a profiled function would count towards all active regions. In this PR, a function only counts towards the latest region that was activated (more precisely, the region...

do not merge

Recently, I tweaked `amrex::SortParticlesForDeposition` to work better on MI250X (https://github.com/AMReX-Codes/amrex/pull/3925). In my testing with HiPACE++, it now makes the deposition faster compared to using `SortParticlesByCell` on MI250X, where previously `SortParticlesForDeposition`...

Performance optimization
backend: hip

Some codes, such as HiPACE++, use a different number of dimensions in different parts of the code. Currently, AMREX_SPACEDIM has to be chosen as the maximum number of dimensions used,...

enhancement

## Summary Similar to #3969 and #3988 but for Box. ## Additional background It should be checked that the changes to BoxIndexer do not affect the compiled GPU code.  TODO:...

## Summary #4443 deleted the default constructor of RandomEngine for GPU. However for CPU still the default constructor must be used, forcing \#ifdef to be used in code that uses...