8

NuGet を介してCUDAfy.NETライブラリへの参照を追加しました。

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

プログラムを実行すると、次のようになりますWin32Exception

システムは、指定されたファイルを見つけることができません

これは、プログラムの最初の実際の行で発生します。

CudafyModule km = CudafyTranslator.Cudafy();

どのファイルを読み込もうとしているかについて、例外オブジェクトからの指示はありません。

どうすればこの問題を乗り越えることができますか?

編集

.NET 4.0 を使用して VS2010 でダウンロードした Codeplex からバンドルされたサンプルを実行すると、同じ例外が発生します。

ストラック トレースは次のとおりです。

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

2 に答える 2

11

スローされた例外でブレークするようにVSを設定する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は現在利用可能であり、CUDAfyv1.1以降でサポートされています。

https://developer.nvidia.com/cuda-downloadsからダウンロード

CUDAToolkit5.0の64ビットバージョンは942MBのダウンロードであることに注意してください。すべてをインストールする場合は、さらに2815MBが必要になります。ツールキットだけでも928MBが必要です。

編集CUDAToolkit5.0CudafyCompileExceptionをインストールした後、プログラムは同じソース行で失敗しました:

コンパイルエラー:nvcc:致命的なエラー:PATHにコンパイラ'cl.exe'が見つかりません

システムドライブの検索:

C:\>dir /s cl.exe

これは、VS10.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を再起動する必要があることに注意してください。

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

于 2013-01-15T13:33:13.590 に答える
1

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

于 2016-04-19T02:04:00.477 に答える