簡體   English   中英

CUDAfy.NET給出Win32Exception:系統找不到指定的文件

[英]CUDAfy.NET giving Win32Exception: The system cannot find the file specified

我通過NuGet添加了對CUDAfy.NET庫的引用。

<package id="CUDAfy.NET" version="1.12.4695.21111" targetFramework="net45" />

當我運行我的程序時,我遇到了Win32Exception

該系統找不到指定的文件

這發生在程序的第一個實際行上:

CudafyModule km = CudafyTranslator.Cudafy();

異常對象沒有指示他們正在嘗試加載哪個文件。

我怎樣才能解決這個問題?

編輯

在使用.NET 4.0在VS2010中運行Codeplex下載的捆綁示例時,我看到了同樣的異常。

Strack trace是:

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()

設置VS以中斷拋出的異常會在調試器的locals窗格中顯示堆棧頂部的ProcessStartInfo對象。

相關的屬性是:

FileName = nvcc
Arguments = -m64 -arch=sm_12 "c:\<path>\CUDAFYSOURCETEMP.cu" -o "c:\<path>\CUDAFYSOURCETEMP.ptx" --ptx

從一些信息這篇文章解釋說,必須安裝CUDA工具包 很公平。

確保C ++編譯器(cl.exe)位於搜索路徑上。 NVCC的這個設置實際上是整個過程中最艱難的階段,所以請堅持下去。 仔細閱讀您得到的任何錯誤 - 很可能與未找到cl.exe或沒有32位或64位CUDA工具包有關。

該文章討論了工具包的第4版,但是現在可以使用版本5,並且自CUDAfy v1.1起支持版本5。

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

請注意,64位版本的CUDA Toolkit 5.0下載量為942 MB。 如果你安裝了所有東西,你需要額外的2815 MB。 僅工具包需要928 MB。

編輯安裝CUDA Toolkit 5.0后,程序在同一源代碼行中出現CudafyCompileException失敗:

編譯錯誤:nvcc:致命錯誤:在PATH中找不到編譯器'cl.exe'

搜索我的系統驅動器:

C:\>dir /s cl.exe

這顯示了VS 10.0和11.0的許多不同版本的編譯器/鏈接器。 顯然只支持cl.exe版本9和10,所以我選擇了VS10.0 amd64版本,我在PATH環境變量中包括以下內容:

C:\\ Program Files(x86)\\ Microsoft Visual Studio 10.0 \\ VC \\ bin \\ amd64

您的路徑可能會有所不同,具體取決於您的CPU。 我建議您運行搜索以查看您的選項。

請注意,如果已經打開了PATH環境變量,則必須重新啟動VS.

完成這些步驟后,我的基本程序成功運行。

如果您在某些時候安裝了CUDA Toolkit v7.5,但也意識到最新版本的CUDAfy支持CUDA 7.0,這種情況也可能發生。 從控制面板卸載CUDA 7.5時,某些文件/文件夾可能仍然存在。 您應該手動刪除它們。 您可以使用CUDAfyViewer查看正在訪問的CUDA Toolkit版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM