Hi there,
I’m working on a SuperPoint-based VIO pipeline, but Raspberry Pi doesn’t provide enough performance for my real-time requirements. I’m planning to switch to a Hailo module with NPU acceleration. My goal is to run my trained model on Hailo from C++, while keeping the remaining control/business logic on the CPU in C++.
I’d appreciate guidance on the following:
-
Deployment workflow: What’s the recommended end-to-end path to bring a custom model onto Hailo? (model conversion/compilation, invoking it from C++, sample project structure, etc.)
-
Conditional execution: How can I decide—at runtime—whether a model runs on the Hailo NPU or on the CPU (e.g., based on load/thermal/RT constraints)? Any best-practice architecture patterns?
-
Scope: Does the Hailo NPU accelerate only vision/NN inference parts? Is it possible to offload non-vision tasks to the NPU, or should those remain on the CPU?
-
Resources: Could you point me to a detailed C++ tutorial (step-by-step) for Hailo integration—sample code, best practices, and tips for measuring/optimizing latency?
Context:
-
Task: SuperPoint for VIO (feature extraction + matching + pose estimation)
-
Platform: Raspberry Pi → Hailo-based solution (exact module TBD)
-
Language/Stack: C++
-
Goal: Low-latency, real-time loop; control on CPU, inference on NPU
Thanks in advance for any pointers, example repos, or documentation!