PIConGPU unit system #5135
Labels
component: core
in PIConGPU (core application)
refactoring
code change to improve performance or to unify a concept but does not change public API
PIConGPU currently deals with three unit systems. SI, PIConGPU normalized SI units and atomic units.
It would be beneficial to have a unit system to convert smoothly between all of these.
see: #5133 (comment)
There are some requirements:
Currently, we use a fully compile-time conversion system. Since we have the goal to go away from compile time unit system the new system must support runtime units based on runtime input.
Additionally, the normalization should not simply shift to the device code and execute multiple multiplications, and divisions there.
Conversion factors must somehow pre-computed and accessed later. A single multiplication is not an issue but multiple and decision are a showstopper.
The text was updated successfully, but these errors were encountered: