Case study
open-rknpu: Rockchip NPU task-program reconstruction
open-rknpu reconstructs a task-program interface for the Rockchip RV1103/RV1106 NPU from board experiments and black-box comparisons. Its Python compiler emits register commands, weight and quantization blocks, and a container for bounded static ONNX convolution graphs; a C runtime submits them through /dev/rknpu. Research files document register and numerical findings.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Prerequisites: Host compilation needs Python, NumPy and ONNX; hardware runs need a compatible board and cross toolchain.
- Prerequisites: The reference board is a Luckfox Pico Mini B with the shared RV1106 NPU IP and driver v0.8.2.
- Scope: Dynamic shapes, LSTM/GRU, 1-D convolution, MatMul/Gemm and multi-stage detection heads are outside the documented scope.
- License: MIT license for the compiler, runtime, tests, examples and documentation.
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · dnhkng/open-rknpu · Revision 0e0afcd
- docs/architecture.md GitHub · dnhkng/open-rknpu · Revision 0e0afcd
More in Protocols
- hardsid4u: reconstructing the HardSID 4U USB protocol · Case study
- PyEilik: a client for the Eilik robot's USB protocol · Case study
- libfprint-goodixtls: a reconstructed Goodix GXFP5187 fingerprint driver · Case study
- RazerStream: reconstructing Stream Controller device control · Case study
- DABplay+: reconstructing USB DAB+ dongle control · Case study
- PocketPrinter5890: reconstructing the Lidl 5890 printer protocol · Case study