Files

19 lines
1.7 KiB
Markdown
Raw Permalink Normal View History

2025-09-03 17:26:11 +08:00
# Zero-copy examples
This project shows how to implement zero-copy technology on different platforms to improve the efficiency of model inference. The specific example code is located in the examples/rknn_api_demo and examples/RV1106_RV1103 directories.
## Zero-copy examples for non-RV1103 and RV1106 platforms
The following examples show various ways to use zero-copy technology on non-RV1103 and RV1106 platform series. The code can be found in examples/rknn_api_demo:
1. rknn_create_mem_demo: This example shows how to use the rknn_create_mem interface to create zero-copy operations for input/output.
2. rknn_create_mem_with_rga_demo: This example shows how to use the rknn_create_mem interface to create zero-copy operations for input/output and combine it with RGA for scaling.
3. rknn_set_internal_mem_from_fd_demo: This example uses the MMZ library to allocate the model's input, output, weights, and internal memory, and implements zero-copy operations through the rknn_create_mem_from_fd interface.
4. rknn_with_mmz_demo: This example uses the MMZ library to allocate the model's input/output memory, and implements zero-copy operations through the rknn_create_mem_from_phys interface.
## Zero-copy examples for RV1103 and RV1106 platforms
On the RV1103 series and RV1106 series platform series, this project provides the following zero-copy examples, see examples/RV1106_RV1103 for the code:
1. rknn_mobilenet_demo: This example shows the process of using zero-copy technology to perform MobileNet model inference on the RV1103 series and RV1106 series platforms, where main_nhwc.c only supports RV1103 and RV1106.
2. rknn_yolov5_demo: This example demonstrates the process of using zero-copy technology to perform YOLOv5 model inference on RV1103 and RV1106 platforms.