Open whitead opened 3 years ago
HOOMD v3 is still under development. So far, changes in v3 that directly affect HTF are:
context.initialize
replaced with new context API. See this tutorial.CmakeLists.txt
)NotImplemented
for non-hoomd.Box
objects, check how this affects our implementation.HOOMD v3 is introducing custom actions in python (see here). I'm wondering if this would be an easier approach to updating to HOOMD v3 compatibility?
Josh Anderson mentioned he'd be happy to talk about what we would need from our end to update HOOMD-TF to HOOMD v3 compatibility. For instance, he mentioned that it's already possible to grab the HOOMD particle positions without having to do custom C++ stuff to get at the GPU memory addresses. They don't have a similar feature for neighbor lists yet, but he says we just need to ask for that. Does this sound like a good route for us? What would stand in the way of going this route? One thing that jumps out at me is we would want to do some benchmarking to check for latency differences. Thoughts?
Still thinking about it. See discussion here from a few months ago when we discussed how this would look.
@RainierBarrett I'm worried that accessing particle positions will not be the GPU memory, but CPU right? That probably won't work well access on GPU for tensorflow. But I agree we should probably make some serious benchmarks and use them to inform decisions like this.
One of our goals with the API is to provide low overhead pathways for pure Python user scripts and plugins.
gpu_local_snapshot
provides access to the local particle data on the GPU using the cuda_array_interfacemd.force.Custom
provides a path for Python classes to compute forces.CustomWriter
and CustomTuner
provide a path for Python classes to be called during the run loop.@b-butler can provide additional technical details if needed.
https://github.com/glotzerlab/hoomd-blue/pull/1211 adds an API to query the floating point precision of the build.
Hoomd is changing how plugins work. Need to migrate