Currently much of Imogen's magnetic routines run using the GPUmat drop-in interface, resulting in inefficient utilization of global memory bandwidth. These should be replaced by dedicated kernels asap.
Immediate targets are:
relaxingMagnet's corrector step (second code block, not including final CT lines)
magnetFlux's grid interpolation operators
It is also desirable to write a multigrid differential poisson solver to replace the iterative solver currently in use for self gravity because it scales much better.
Currently much of Imogen's magnetic routines run using the GPUmat drop-in interface, resulting in inefficient utilization of global memory bandwidth. These should be replaced by dedicated kernels asap.
Immediate targets are:
relaxingMagnet's corrector step (second code block, not including final CT lines)
magnetFlux's grid interpolation operators
It is also desirable to write a multigrid differential poisson solver to replace the iterative solver currently in use for self gravity because it scales much better.