编译yolo(darknet)时如何让cmake启用cuda?

How to get cmake to enable cuda when compiling yolo (darknet)?

我目前正在 https://github.com/AlexeyAB/darknet.git 使用 cmake-gui 编译 yolo darknet。但是,它不会启用 cuda,而且我还有其他一些奇怪的问题。这些包括当我使用 VS2017 构建 Release 文件夹后 运行 darknet.exe 时,它声明找不到 pthreadVC2.dll 或 opencv_world410.dll。

为了解决其他问题,我复制了exe和那些文件并将它们全部放在项目的根文件夹中。这似乎可行,但我不确定为什么否则它不起作用。

对于cuda,我不确定要尝试什么。我有这些系统变量和路径:

这是我的 cmake-gui:

可以看出CMAKE_CUDA_COMPILER是NOTFOUND。我认为这是问题所在,但我不确定为什么找不到它。如果我在命令提示符中 运行 nvcc -V ,它 returns:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:04_Central_Daylight_Time_2018
Cuda compilation tools, release 10.0, V10.0.130

这里还有 cmake 配置的输出:

Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.17134.
OpenCV ARCH: x64
OpenCV RUNTIME: vc15
OpenCV STATIC: OFF
Found OpenCV 4.1.0 in C:/opencv/build/x64/vc15/lib
You might need to add C:\opencv\build\x64\vc15\bin to your PATH to be able to run your applications.
ZED SDK not enabled, since it requires CUDA
Configuring done

如果您对这些问题有任何提示,请告诉我。仅供参考,目前暗网确实有效,如果我在 dog.jpg 上测试它,它会成功检测到 类。但是,这当然没有 Cuda 或 cudnn,我最终想使用它们。谢谢!如果您需要我提供任何其他信息,请告诉我!

我有同样的问题,我尝试了很多方法让GPU可以用于transe,最后当我重新安装VS2019(从D盘到C盘)并在v.10.1版本重新安装CUDA时,cmake开始看到CUDA。之后cmake开始寻找CUDA,在VS2019编译项目后一切正常。 重要的是先安装 Visual Studio 然后再安装 CUDA。

@Andropogon 给出了答案:CUDA has to be reinstalled after Visual Studio.

这是我和同事深入研究后发现的:

  1. 与 OP 类似,所有编译步骤似乎 运行 没有错误并生成可执行文件。
  2. 仔细查看 cmake,在 CMAKE/CMAKE_CUDA_COMPILER 下显示 NOT FOUND,尽管 nvcc.exe 在 Path 上。 (nvcc --version 运行 在 Powershell 中很好。)我们手动将 nvcc.exe 的位置输入到此选项,现在 configure 给出了更有用的错误消息: No CUDA toolset found. 和引用各种 cmake 文件中的行号。在这些行中有这条消息,它似乎证实 Visual Studio (VS) 是问题的一部分,
    if(NOT CMAKE_VS_PLATFORM_TOOLSET_CUDA)
            message(FATAL_ERROR "No CUDA toolset found.")

因此,在重新安装 CUDA 之后,编译看起来更像我预期的那样 - 但我仍然得到一个似乎没有执行任何操作的可执行文件(命令行上没有输出,没有生成 prediction.jpg)。无论如何,希望这能对 CUDA/VS/cmake 问题有所启发。

不像上面说的,我没有重新安装CUDA,我只是从

复制了4个文件

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\visual_studio_integration\MSBuildExtensions

C:\Program Files (x86)\Microsoft Visual Studio19\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations