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.
cuda_buffer_backend-- CUDA buffer backend packages for zero-copy GPU memory sharing using CUDA VMM IPC.qc_buffer_backend-- Qualcomm buffer backend packages for HTP-CPU zero-copy sharing using dma-buf memory.- libtorch_vendor -- Vendor package that downloads and installs the pre-built LibTorch C++ distribution.
- tensor_msgs -- DLPack-aligned
ExperimentalTensor.msgdefinition. - torch_conversions -- Header-only helper library that converts between
tensor_msgs/ExperimentalTensorandat::Tensorand exposes DLPack import / export. Replaces the oldertorch_buffer_backendplugin approach with a plain message + bridge library that rides on top of whicheverrosidl::Bufferbackend is registered (CUDA when available, CPU otherwise).
| Package | Source deb | Binary deb (amd64) | Binary deb (arm64) |
|---|---|---|---|
| cuda_buffer | |||
| cuda_buffer_backend | |||
| cuda_buffer_backend_msgs | |||
| libtorch_vendor | |||
| tensor_msgs | |||
| torch_conversions |
| Package | Source deb | Binary deb (amd64) | Binary deb (arm64) |
|---|---|---|---|
| cuda_buffer | |||
| cuda_buffer_backend | |||
| cuda_buffer_backend_msgs | |||
| libtorch_vendor | |||
| 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