1. 25 Jun, 2019 2 commits
    • [Runtime] Allow for parameter sharing in GraphRuntime (#3384) · 32be34a0
      Summary:
      
      In multi-threaded applications where we have multiple inferences on the
      same model in parallel (consider e.g. a TTS system handling multiple
      requests), it can be useful to share the parameters of a model amongst
      these multiple instances. This improves the cache utilization behaviour
      of the system, as multiple cores can use the same set of weights instead
      of evicting the identical copies of weights in a shared cache.
      
      As the underlying `NDArray` instances in `data_entry_` implement a
      ref-counted based sharing system, this is a simple modification of the
      `GraphRuntime::LoadParams` logic to instead copy parameters from an
      existing GraphRuntime instance. This is a little ugly in that we need
      both the pre-existing GraphRuntime instance, as well as the 'serialized'
      params (since we need to know the set of names we should copy), but
      without imposing additional assumptions (i.e. storing the set of param
      names in GraphRuntime, and enforcing that shared param names are
      identical to the parameters set in the preceding `LoadParams` call),
      this seems unavoidable.
      
      Test Plan:
      
      Unit test added.
      Andrew Tulloch committed
  2. 24 Jun, 2019 2 commits
  3. 23 Jun, 2019 1 commit
  4. 22 Jun, 2019 5 commits
  5. 21 Jun, 2019 2 commits
  6. 20 Jun, 2019 5 commits
  7. 19 Jun, 2019 2 commits
  8. 18 Jun, 2019 4 commits
  9. 17 Jun, 2019 8 commits
  10. 15 Jun, 2019 2 commits
  11. 14 Jun, 2019 5 commits
  12. 13 Jun, 2019 2 commits