2013-01-15 15 views
8

NuGet経由でCUDAfy.NETライブラリへの参照を追加しました。私は私のプログラムを実行するとCUDAfy.NETでWin32Exceptionが発生しました:指定されたファイルが見つかりません

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

、私はWin32Exceptionを打つ:

The system cannot find the file specified

これは、プログラムの最初の実際の行に起こる:

CudafyModule km = CudafyTranslator.Cudafy(); 

例外オブジェクトから兆候はありませんどのファイルをロードしようとしているかを調べます。

どうすればこの問題を解決できますか?

EDIT

.NET 4.0を使用してVS2010でのCodePlexのダウンロードからバンドルされた例を実行しているとき、私は同じ例外を参照してください。

シュトラックトレースがある:スローされた例外でブレークするVSを設定

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

答えて

11

は、デバッガの地元ペインのスタックの最上部にProcessStartInfoオブジェクトを示しています。

関連特性は以下のとおりです。this articleから

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

一部の情報がCUDAツールキットがインストールされなければならないことを説明しています。けっこうだ。

Ensure that the C++ compiler (cl.exe) is on the search path. This set-up of NVCC is actually the toughest stage of the whole process, so please persevere. Read any errors you get carefully - most likely they are related to not finding cl.exe or not having either 32-bit or 64-bit CUDA Toolkit.

その記事では、ツールキットのバージョン4を説明したが、バージョン5が利用可能になりましたとCUDAfy v1.1のため、サポートされています。 CUDAツールキット5.0の64ビット版は、942メガバイトのダウンロードであることをhttps://developer.nvidia.com/cuda-downloads

ノートから

ダウンロード。すべてをインストールする場合は、さらに2815 MBが必要です。ツールキットだけで928 MB必要です。

C:\>dir /s cl.exe 

これは、多くの異なるバージョンを示しています。私のシステムドライブを検索

Compilation error: nvcc : fatal error : Cannot find compiler 'cl.exe' in PATH

EDIT CUDAツールキット5.0をインストールした後、プログラムは、同一のソース線にCudafyCompileExceptionで失敗しましたコンパイラ/リンカの両方、VS 10.0と11.0から。

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

あなたのパスは異なる場合があり、あなたのCPUに依存する:どうやらだけcl.exeバージョン9および10がサポートされているので、私はVS10.0のAMD64版を選んだ、私は私のPATH環境変数に、次の含まれています。あなたのオプションを見るために検索を実行することをお勧めします。

PATH環境変数を変更した後にVSを再起動する必要があることに注意してください。

これらの手順を実行した後、私の基本的なプログラムは正常に実行されました。

+0

おはようございます、私は同じ問題に遭遇しますが、次の "私のPATH環境変数には次のものが含まれていますか?"ということを100%確信していません。 aboutsがPath環境変数の場合、VSの設定ですか? + 1のbtw :) –

+1

@ HansRudel、PATH環境変数は、明示的なパスなしで要求されたプログラムを探す場所をコンピュータに指示する、システム全体の設定です。おそらく[この質問](http://superuser.com/q/284342/31787)は、より多くの情報を提供します。 –

+0

リンクをありがとう、もう少し意味がある。私はこの質問を見つける前に、SOに質問を掲示しました。誰かがこのギャップを埋めるので、今朝働いていました。 –

1

これは、ある時点でCUDA Toolkit v7.5がインストールされていて、CUDAfyの最新バージョンがCUDA 7.0をサポートしていることに気づいた場合にも発生する可能性があります。 コントロールパネルからCUDA 7.5をアンインストールすると、一部のファイルやフォルダが残っている可能性があります。これらは手動で削除する必要があります。 CUDAfyViewerを使用して、アクセスしているCUDAツールキットのバージョンを確認することができます。

関連する問題