mirror of
https://github.com/azaion/autopilot.git
synced 2026-04-23 03:06:34 +00:00
Enables use of multiple TPUs in OPI5
This commit is contained in:
@@ -155,7 +155,7 @@ int release_yolov8_model(rknn_app_context_t *app_ctx)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int inference_yolov8_model(rknn_app_context_t *app_ctx, image_buffer_t *img, object_detect_result_list *od_results)
|
||||
int inference_yolov8_model(rknn_app_context_t *app_ctx, image_buffer_t *img, object_detect_result_list *od_results, int core)
|
||||
{
|
||||
int ret;
|
||||
image_buffer_t dst_img;
|
||||
@@ -211,6 +211,29 @@ int inference_yolov8_model(rknn_app_context_t *app_ctx, image_buffer_t *img, obj
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (core == 1) {
|
||||
ret = rknn_set_core_mask(app_ctx->rknn_ctx, RKNN_NPU_CORE_0);
|
||||
//ret = rknn_set_core_mask(app_ctx->rknn_ctx, RKNN_NPU_CORE_0_1_2);
|
||||
if (ret < 0) {
|
||||
printf("rknn_set_core_mask(RKNN_NPU_CORE_0) fail! ret=%d\n", ret);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else if (core == 2) {
|
||||
ret = rknn_set_core_mask(app_ctx->rknn_ctx, RKNN_NPU_CORE_1);
|
||||
if (ret < 0) {
|
||||
printf("rknn_set_core_mask(RKNN_NPU_CORE_1) fail! ret=%d\n", ret);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else if (core == 3) {
|
||||
ret = rknn_set_core_mask(app_ctx->rknn_ctx, RKNN_NPU_CORE_2);
|
||||
if (ret < 0) {
|
||||
printf("rknn_set_core_mask(RKNN_NPU_CORE_1) fail! ret=%d\n", ret);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
// Run
|
||||
printf("rknn_run\n");
|
||||
ret = rknn_run(app_ctx->rknn_ctx, nullptr);
|
||||
@@ -247,4 +270,4 @@ out:
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user