bmad-sim / pytao

PyTao is Python interface for Tao, which is based on the Bmad subroutine library for relativistic charged–particle and X-ray simulations in accelerators and storage rings.
https://bmad-sim.github.io/pytao
GNU General Public License v3.0
9 stars 6 forks source link

ENH: add SubprocessTao #76

Closed ken-lauer closed 3 months ago

ken-lauer commented 3 months ago

Description

This was a proof-of-concept for running Tao (ctypes + shared library) in a subprocess and efficiently transmitting the data back to the parent process. If implemented properly, this should be seamless when compared to a regular Tao object and with (hopefully) little performance impact.

Why?

TODO

I'll request a review if/after:

  1. If this ends up working well enough in our testing
  2. After we get #75 merged and include the same type of test suite checks
  3. And finally, after I clean it up, add some docstrings

(Any feedback is welcome of course)

ken-lauer commented 3 months ago

I think this one is good to go, too. Tests are passing on both regular Tao instances and the SubprocessTao.