CUDAfy.NET дает Win32Exception: система не может найти указанный файл
Я добавил ссылку на библиотеку CUDAfy.NET через NuGet.
<package id="CUDAfy.NET" version="1.12.4695.21111" targetFramework="net45" />
Когда я запускаю свою программу, я нажимаю Win32Exception
:
Система не может найти указанный файл
Это происходит в первой актуальной строке программы:
CudafyModule km = CudafyTranslator.Cudafy();
От объекта исключения нет указаний относительно того, какой файл они пытаются загрузить.
Как я могу обойти эту проблему?
РЕДАКТИРОВАТЬ
Я вижу то же исключение при запуске связанных примеров из загрузки Codeplex в VS2010 с использованием.NET 4.0.
След трека это:
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()
2 ответа
Установка VS для прерывания на сгенерированных исключениях показывает ProcessStartInfo
Объект на вершине стека в панели локальных объектов отладчика.
Соответствующие свойства:
FileName = nvcc
Arguments = -m64 -arch=sm_12 "c:\<path>\CUDAFYSOURCETEMP.cu" -o "c:\<path>\CUDAFYSOURCETEMP.ptx" --ptx
Некоторая информация из этой статьи объясняет, что CUDA Toolkit должен быть установлен. Справедливо.
Убедитесь, что компилятор C++ (cl.exe) находится в пути поиска. Эта установка NVCC на самом деле самая сложная стадия всего процесса, поэтому, пожалуйста, продолжайте. Внимательно читайте о любых ошибках, которые вы получаете - скорее всего, они связаны с отсутствием cl.exe или отсутствием 32-битного или 64-битного набора инструментов CUDA.
В этой статье обсуждается версия 4 инструментария, но версия 5 доступна и поддерживается начиная с CUDAfy v1.1.
Скачать с https://developer.nvidia.com/cuda-downloads
Обратите внимание, что 64-разрядная версия CUDA Toolkit 5.0 имеет загрузку 942 МБ. Если вы все установите, вам понадобятся дополнительные 2815 МБ. Для одного инструментария требуется 928 МБ.
РЕДАКТИРОВАТЬ После установки CUDA Toolkit 5.0, программа потерпела неудачу с CudafyCompileException
в той же строке источника:
Ошибка компиляции: nvcc: фатальная ошибка: не удается найти компилятор 'cl.exe' в PATH
Поиск моего системного диска:
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
Ваш путь может отличаться в зависимости от вашего процессора. Я рекомендую запустить поиск, чтобы увидеть ваши варианты.
Обратите внимание, что вам придется перезапустить VS после изменения PATH
переменная окружения, если она у вас уже открыта.
После выполнения этих шагов моя основная программа успешно запустилась.
Это также может произойти, если в какой-то момент вы установили CUDA Toolkit v7.5, но поняли, что самая последняя версия CUDAfy поддерживает CUDA 7.0. При удалении CUDA 7.5 с панели управления некоторые файлы / папки могут остаться. Вы должны удалить их вручную. Вы можете использовать CUDAfyViewer, чтобы увидеть, к какой версии CUDA Toolkit осуществляется доступ.