pytorch
c618dc13 - Use type-erased union for Buffer. (#322)

Commit
3 years ago
Use type-erased union for Buffer. (#322) Summary: Pull Request resolved: https://github.com/pytorch/tensorpipe/pull/322 Pull Request resolved: https://github.com/pytorch/pytorch/pull/54145 In order to merge the channel hierarchies, we need a generic `Buffer` type, that can wrap either a `CpuBuffer` or a `CudaBuffer`. The constraints are that, since this type is used by the channels, it cannot explicitly refer to `CudaBuffer`. We propose here a type-erasure based solution, with small-buffer optimization to avoid heap-allocating the wrapped concrete buffer. ghstack-source-id: 124131499 Test Plan: CI Reviewed By: lw Differential Revision: D27001339 fbshipit-source-id: 26d7dc19d69d7e3336df6fd4ff6ec118dc17c5b6
Author
Lucas Hosseini
Parents
  • test/cpp/rpc
    • File
      test_tensorpipe_serialization.cpp
  • torch/csrc/distributed/rpc
    • File
      tensorpipe_utils.cpp