support multiple inferences in parallel

Issue #12 on hold
David Tolpin repo owner created an issue

The tape is not re-entrant. This is partly because Go does not provide an easy support for per-thread memory. It should be enough to mutex function/gradient computations, and will at least parallelize all other computations (this may have benefit in case of using gonum's LBFGS, for example).

In addition, this will allow to run multiple chains transparently.

Comments (1)

  1. David Tolpin reporter

    Putting this on hold till Go provides a reliable and efficient way for thread-local memory. For multithreading in gonum, a mutex is put on calls to tape operations.

  2. Log in to comment