畅联云平台丨InspireFace GPU (CUDA) 编译避坑指南(2)

2026年5月28日
畅联云平台丨InspireFace GPU (CUDA) 编译避坑指南(2)

一、InspireFace 源码修改

 源码来自官网:https://github.com/HyperInspire/InspireFace/releases

  版本号:InspireFace v1.2.3

1.1 CMake CACHE 变量判空 bug

文件:根目录 CMakeLists.txt

if (NOT DEFINED ISF_LINUX_MNN_CUDA)

问题:NOT DEFINED 对 set(... CACHE ...) 变量永远为 FALSE,导致即使传入空路径也走 else 分支。

下图为修改对比:

1.2 宏定义不一致导致 CUDA 后端不生效

文件:cpp/inspireface/middleware/inference_adapter/mnn_cv_adapter_inference.h

问题:

#ifdef FORWARD_CUDA        // ← 未定义的宏!

backend_ = MNN_FORWARD_CUDA;

下图为修改对比:

1.3 inference_wrapper_mnn.cpp 文件加载版硬编码 CPU

文件:cpp/inspireface/middleware/inference_wrapper/inference_wrapper_mnn.cpp

问题:文件加载版 Initialize 函数中,无论是否启用 CUDA,scheduleConfig.type 都被设为 MNN_FORWARD_CPU。

下图为修改对比:

1.4 meta.cpp.in 缺少 MNN CUDA 显示分支

文件:cpp/inspireface/meta.cpp.in

问题:只有 TensorRT(CUDA) 和 MNN(CPU) 两个 GPU 相关分支,缺少 MNN CUDA。

下图为修改对比:

总结修改文件清单:

美畅美畅物联畅联畅联云平台视频监控云平台云视频监控视频云平台视频开放平台视频感知云视频接入网关AIoT综合接入网关视频中台物联网中台无插件播放H265播放EhomeISUP GB28181人脸识别提取人脸特征码向量库