Vendor-specific storage backends for rosidl::Buffer, enabling ROS 2
publishers and subscribers to share accelerator-accessible memory without
copying when supported, with automatic fallback to the default CPU path.
PyTorch conversion libraries use the same buffer infrastructure.
cuda_buffer_backend-- CUDA buffer backend packages for zero-copy GPU memory sharing using CUDA VMM IPC, includingcuda_buffer_pyallocation, scoped read/write handles, and copies for Python.qc_buffer_backend-- Qualcomm buffer backend packages for HTP-CPU zero-copy sharing using dma-buf memory.- libtorch_vendor -- CPU LibTorch provider.
- libtorch_cuda_vendor -- CUDA LibTorch provider.
- python3_torch_vendor -- CPU Python Torch provider.
- python3_torch_cuda_vendor -- CUDA Python Torch provider.
- tensor_msgs -- DLPack-aligned
ExperimentalTensor.msgdefinition. - torch_conversions -- C++
at::TensorAPI and runtime plugin registry. - torch_conversions_cpu -- C++ host-memory implementation.
- torch_conversions_cuda -- C++ CUDA implementation backed by
cuda_buffer. - torch_conversions_py -- Python
torch.TensorAPI and plugin registry. - torch_conversions_py_cpu -- Python host-memory implementation.
- torch_conversions_py_cuda -- Python CUDA implementation.
| Package | Source deb | Binary deb (amd64) | Binary deb (arm64) |
|---|---|---|---|
| cuda_buffer | |||
| cuda_buffer_backend | |||
| cuda_buffer_backend_msgs | |||
| tensor_msgs | |||
| torch_conversions |
| Package | Source deb | Binary deb (amd64) | Binary deb (arm64) |
|---|---|---|---|
| cuda_buffer | |||
| cuda_buffer_backend | |||
| cuda_buffer_backend_msgs | |||
| tensor_msgs | |||
| torch_conversions |
-
A ROS 2 Rolling development environment. See the upstream Building ROS 2 on Ubuntu guide for the canonical source-build flow, or use the pixi workflow shipped by the
ros2/ros2meta-repo. -
Each backend depends on its vendor-specific platform support. Refer to the backend documentation for detailed prerequisites, setup, build, test, and usage instructions:
Apache-2.0