如何解决“代码生成值不是预期格式'[Arch],[Code]'”使用CUDA编译暗网时出错

问题描述 投票:1回答:1

尝试使用CUDA 10.0,cudnn 7.4和OpenCV 3.4.0编译Darknet。使用Cmake 3.10.1生成VS 2017社区的项目文件。

使用CUDA 10.0编译的OpenCV。

将AlexeyAB / darknet分支用于Windows Darknet构建。

配置的Cmake以匹配README.md文件中引用的Cmake屏幕截图。屏幕截图如下:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9pZGJ4Mi5wbmcifQ==” alt =“图像屏幕截图”>

“图像截图”

为VS 2017社区配置的生成的生成文件,已打开的生成文件。

编译几乎立即失败并显示错误:

   Description: Item 'src\activation_kernels.cu'  Code Generation value is not in the expected format '[Arch],[Code]'
   Project: darknet
   File: CUDA 10.0.targets, line 235

我查看了文件的第235行,但这并不能帮助我更好地理解该错误。 VS并没有提供错误代码,并带有指向错误说明的链接,并且我没有找到任何有助于我理解该错误并进行故障排除的信息。

硬件是具有GTX 1060 GPU(计算模型6.1)的戴尔笔记本电脑。没有GPU的Darknet可以毫无问题地构建。

对解决此问题的任何见解都将不胜感激

visual-studio opencv cudnn darknet
1个回答
0
投票

我不确定这是否是我遇到的相同问题。我收到了相同的错误消息。原来,我是在调试模式下输入Device参数的,而编译是在发布模式下完成的。 CUDA C / C ++下正确的设备参数应为:

compute_30,sm_30;compute_35,sm_35;compute_37,sm_37;compute_50,sm_50;compute_52,sm_52;compute_60,sm_60;compute_61,sm_61;compute_70,sm_70;compute_75,sm_75;

删除不适合您的设备的内容。

我发布的错误内容是:

compute_30,sm_30,compute_35,sm_35

而不是

compute_30,sm_30;compute_35,sm_35;

分号是分隔符,而不是逗号。

希望这可以帮助您和其他人。

© www.soinside.com 2019 - 2024. All rights reserved.