fnalacceleratormodeling/synergia2

Provide a way to access particles on host where they can be accessed and modified while propagation continues on device

Opened this issue · 0 comments

With #261, calling checkout_particles to move particles to the host marks their memory location as MemoryLocation::Host. While this is technically true, it might be too conservative for some use cases where one only wants to obtain a copy of the particles on the host to inspect while the device can continue propagating them. Perhaps this can even be used in the future for I/O that does not block propagation.

To enable the above, we need a better way to provide access to a copy of particles which does not prevent propagation routines from executing. This issue serves to document the issue while we decide on a path of action to resolve it.