首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CUDAfy.NET提供Win32Exception:系统找不到指定的文件

CUDAfy.NET提供Win32Exception:系统找不到指定的文件
EN

Stack Overflow用户
提问于 2013-01-15 13:09:40
回答 2查看 4.4K关注 0票数 8

我通过CUDAfy.NET添加了一个对NuGet库的引用。

代码语言:javascript
复制
<package id="CUDAfy.NET" version="1.12.4695.21111" targetFramework="net45" />

当我运行我的程序时,我点击了一个Win32Exception

系统找不到指定的文件。

这发生在程序的第一行:

代码语言:javascript
复制
CudafyModule km = CudafyTranslator.Cudafy();

异常对象没有指示它们试图加载哪个文件。

我怎样才能克服这个问题?

编辑

在使用VS2010 4.0运行Codeplex下载的捆绑示例时,我看到了同样的异常。

strack跟踪是:

代码语言:javascript
复制
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at Cudafy.CudafyModule.Compile(eGPUCompiler mode, Boolean deleteGeneratedCode)
at Cudafy.Translator.CudafyTranslator.Cudafy(ePlatform platform, eArchitecture arch, Version cudaVersion, Boolean compile, Type[] types)
at Cudafy.Translator.CudafyTranslator.Cudafy(ePlatform platform, eArchitecture arch, Type[] types)
at Cudafy.Translator.CudafyTranslator.Cudafy()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-15 13:33:13

将VS设置为中断抛出的异常显示调试器的局部变量窗格中堆栈顶部的ProcessStartInfo对象。

有关物业如下:

代码语言:javascript
复制
FileName = nvcc
Arguments = -m64 -arch=sm_12 "c:\<path>\CUDAFYSOURCETEMP.cu" -o "c:\<path>\CUDAFYSOURCETEMP.ptx" --ptx

这篇文章的一些信息解释说,必须安装数据自动化系统工具包。当然可以。

确保C++编译器(cl.exe)位于搜索路径上。NVCC的这个设置实际上是整个过程中最艰难的阶段,所以请坚持.仔细阅读你得到的任何错误--它们很可能与找不到cl.exe或没有32位或64位数据自动化工具包有关。

这篇文章讨论了工具包的第4版,但是现在版本5已经可用,并且支持自CUDAfy v1.1以来。

https://developer.nvidia.com/cuda-downloads下载

请注意,CUDA工具包5.0的64位版本是一个942 MB的下载.如果您安装了所有的东西,您将需要额外的2815 MB。仅工具包就需要928 MB。

编辑安装了CUDA工具包5.0之后,程序在同一源程序行的CudafyCompileException中失败:

编译错误: nvcc :致命错误:在路径中找不到编译器'cl.exe‘

搜索我的系统驱动器:

代码语言:javascript
复制
C:\>dir /s cl.exe

这显示了编译器/链接器的许多不同版本,分别来自VS 10.0和11.0。显然,只支持cl.exe版本9和10,所以我选择了VS10.0 amd64版本,我在PATH环境变量中包括了以下内容:

C:\程序文件(X86)\MicrosoftVisualStudio10.0\VC\bin\amd64 64

您的路径可能不同,取决于您的CPU。我建议运行搜索以查看您的选项。

请注意,如果您已经打开了PATH环境变量,则必须在更改它之后重新启动VS。

采取这些步骤后,我的基本程序成功运行。

票数 11
EN

Stack Overflow用户

发布于 2016-04-19 02:04:00

如果您在某个时候安装了CUDA工具包v7.5,但意识到最新版本的CUDAfy支持CUDA7.0,也可能会发生这种情况。在从控制面板卸载CUDA 7.5时,一些文件/文件夹可能仍然存在。你应该手动删除这些。您可以使用CUDAfyViewer查看正在访问的CUDA工具包的哪个版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14338482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档