Repository navigation
Conversation
|
Important Review skippedThe saved review history does not include the base for the last reviewed commit. This saved history cannot establish the base for an incremental review. Comment You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 Walkthrough
Merge Risk: 🟡 Moderate · up to
|
| Check name | Status | Explanation | Resolution |
|---|---|---|---|
| Docstring Coverage | Docstring coverage is 25.40% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 63 functions across 10 files. (6 skipped:… | Write docstrings for the functions missing them to satisfy the coverage threshold. |
✅ Passed checks (4 passed)
-
Check name Status Explanation Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled. Title check ✅ Passed The title clearly and concisely summarizes the main changes: adding the SENSING CUDA IPC transport and the corresponding camera_viz source. Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request. Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage
-
Explanation
Docstring coverage is 25.40% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 63 functions across 10 files. (6 skipped: 6 unsupported.)
✨ Finishing Touches 💡 1
-
📝 Generate docstrings 💡
-
- Create stacked PR
- Commit on current branch
🧪 Generate unit tests (beta)
-
- Create PR with unit tests
- Commit unit tests in branch
jiwenc/sensing-cuda-ipc
-
Comment @coderabbitai help to get the list of available commands.
| if self._sock is not None: | ||
| try: | ||
| self._sock.close() | ||
| except OSError: |
89dce40 to
c64173e
Compare
c64173e to
1a90d4f
Compare
1a90d4f to
cf76272
Compare
cf76272 to
3401adc
Compare
3401adc to
bd4a5ea
Compare
bd4a5ea to
6f40721
Compare
6f40721 to
585e1a5
Compare
585e1a5 to
e263775
Compare
e263775 to
98b8fa0
Compare
98b8fa0 to
d6103ed
Compare
d6103ed to
c459f99
Compare
c459f99 to
fb81cac
Compare
fb81cac to
cf3a5fa
Compare
9644f28 to
9a07478
Compare
9a07478 to
b2f0ee2
Compare
28c3eb4 to
b04fd57
Compare
b04fd57 to
1e9c124
Compare
78c47f2 to
aded4de
Compare
aded4de to
c7425da
Compare
01dc257 to
254c09d
Compare
Zero-copy handoff of camera frames from a capture process to a Python consumer on the same Jetson: the publisher exports CUDA VMM allocations and passes the OS handles over a unix socket with SCM_RIGHTS. The legacy cudaIpcGetMemHandle path does not work on Tegra, which is why this uses the VMM API and a socket rather than a plain shared handle. camera_viz gains a `type: cuda_ipc` source that maps those handles directly, so frames never round-trip through host memory. sensing_ipc_testsrc publishes a synthetic pattern with the frame number stamped into the pixels, so the protocol and the consumer can be tested with no camera attached; test_cuda_ipc_source.py drives it. Signed-off-by: Jiwen Cai <jiwenc@nvidia.com>
Signed-off-by: Jiwen Cai <jiwenc@nvidia.com>
254c09d to
056c692
Compare
|
🤖 Agent-generated (Claude Code · claude-sonnet-5-5) Summary Adds the CUDA IPC transport: a publisher that exports one CUDA VMM allocation over Legend: 🚫 Blocker · 💡 Suggestion · 🔍 Nit
Actionables (for bots — copy-paste-ready for AI)
|
Description
Stack 2/3 — depends on #1077. Follow-up: #998 (the SIPL plugin).
Zero-copy handoff of camera frames from a capture process to a Python consumer on the same Jetson. The publisher exports CUDA VMM allocations and passes the OS handles over a unix socket with
SCM_RIGHTS; camera_viz gains a matchingtype: cuda_ipcsource that maps them directly, so frames never round-trip through host memory.The VMM-plus-socket shape is not a preference: the legacy
cudaIpcGetMemHandlepath does not work on Tegra.No SIPL and no camera dependency — the transport builds and is tested on its own.
sensing_ipc_testsrcpublishes a synthetic pattern with the frame number stamped into the pixels, so a stale or misordered buffer slot fails the test rather than looking plausible.Type of change
Testing
AGX Orin, JetPack 7.2.1 / L4T R39.2.1:
sensing_ipc_testsrc→ camera_vizcuda_ipcsource, rendered in window mode.test_cuda_ipc_source.pydrives the publisher and asserts the stamped frame numbers.SKIP=check-copyright-year pre-commit run --all-filespasses.Checklist
SKIP=check-copyright-year pre-commit run --all-filesgit commit -s) per the DCOSummary by CodeRabbit
New Features
Documentation
Tests