2013-01-15 17 views
8

Dodałem odwołanie do biblioteki CUDAfy.NET poprzez NuGet.CUDAfy.NET podając Win32Exception: system nie może znaleźć określonego pliku

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

Kiedy uruchomić mój program, I hit Win32Exception:

The system cannot find the file specified

Dzieje się tak na pierwszym rzeczywistej linii programu:

CudafyModule km = CudafyTranslator.Cudafy(); 

Nie ma oznaczenie z obiektu wyjątku co do pliku, który próbują załadować.

Jak mogę uniknąć tego problemu?

EDIT

widzę ten sam wyjątek podczas uruchamiania dołączonych przykładów z pobrania Codeplex w VS2010 przy użyciu .NET 4.0.

Strack ślad jest:

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

Odpowiedz

11

Ustawianie VS złamać na rzucone wyjątki przedstawia obiekt na górze stosu w panelu mieszkańcami z debuggera ProcessStartInfo.

Odpowiednie właściwości to:

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

Niektóre informacje z this article wyjaśnia, że ​​CUDA Toolkit musi być zainstalowany. Słusznie.

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.

W tym artykule omówiono wersję 4 zestawu narzędzi, ale wersja 5 jest już dostępna i obsługiwana od wersji CUDAfy v1.1.

Pobierz z https://developer.nvidia.com/cuda-downloads

Zauważ, że wersja 64-bitowa CUDA Toolkit 5.0 jest 942 MB do pobrania. Jeśli zainstalujesz wszystko, będziesz potrzebować dodatkowych 2815 MB. Sam zestaw narzędzi wymaga 928 MB.

EDIT Po zainstalowaniu CUDA Toolkit 5.0, program nie z CudafyCompileException na tej samej linii źródło:

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

Searching mój dysk systemowy:

C:\>dir /s cl.exe 

To pokazuje różne wersje kompilatora/łącznika, zarówno z VS 10.0, jak i 11.0. Najwyraźniej tylko cl.exe wersje 9 i 10 są obsługiwane, więc zdecydowałem się na wersję VS10.0 amd64, włączyłem następujących w moim zmiennej PATH środowiska:

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

Twoja ścieżka może być inna, w zależności od procesora. Zalecam uruchomienie wyszukiwania, aby zobaczyć opcje.

Należy pamiętać, że konieczne będzie ponowne uruchomienie usługi VS po zmianie zmiennej środowiskowej PATH, jeśli jest już otwarta.

Po wykonaniu tych czynności mój podstawowy program został uruchomiony pomyślnie.

+0

Dobry wieczór, wpadłem na ten sam problem, ale nie jestem w 100% pewien, co masz na myśli, mówiąc: "Zawarłem następujące informacje w zmiennej środowiskowej PATH:" czy mógłbyś to rozwinąć? Gdzie abouts jest zmienną środowiskową Path, czy jest to ustawienie w VS? + 1's btw :). –

+1

@HansRudel, zmienna środowiskowa PATH jest ogólnosystemowym ustawieniem, które informuje komputer, gdzie szukać programów, które są wymagane bez jawnych ścieżek. Być może [to pytanie] (http://superuser.com/q/284342/31787) dostarczy Ci więcej informacji. –

+0

Bardzo dziękuję za link, ma teraz większy sens. Zadałem pytanie na SO, zanim znalazłem to pytanie, a ktoś wypełnił luki, więc dostałem je dziś rano. –

1

Może się to również zdarzyć, jeśli w pewnym momencie zainstalowano CUDA Toolkit v7.5, ale zdano sobie sprawę, że najnowsza wersja CUDAfy obsługuje CUDA 7.0. Po odinstalowaniu CUDA 7.5 z panelu sterowania niektóre pliki/foldery mogą nadal pozostać. Powinieneś usunąć te ręcznie. Możesz użyć CUDAfyViewer, aby zobaczyć, która wersja narzędzia CUDA Toolkit jest dostępna.

Powiązane problemy