Ошибка компиляции Pycuda

Я нахожусь на машине с Windows с python 2.7 (32-разрядная версия) и pycuda с установленным cuda 7.5 whl. Я получаю сообщение об ошибке при запуске примера программы для тестирования pycuda.

Traceback (most recent call last):
  File "C:\Users\newbie\Desktop\roo.py", line 82, in <module>
    """)
  File "C:\Python27\lib\site-packages\pycuda\compiler.py", line 265, in __init__
    arch, code, cache_dir, include_dirs)
  File "C:\Python27\lib\site-packages\pycuda\compiler.py", line 255, in compile
    return compile_plain(source, options, keep, nvcc, cache_dir, target)
  File "C:\Python27\lib\site-packages\pycuda\compiler.py", line 137, in compile_plain
    stderr=stderr.decode("utf-8", "replace"))
pycuda.driver.CompileError: nvcc compilation of c:\users\newbie\appdata\local\temp\tmplluyeq\kernel.cu failed
[command: nvcc --cubin -arch sm_35 -m32 -Ic:\python27\lib\site-packages\pycuda\cuda kernel.cu]
[stdout:
kernel.cu

]
[stderr:
'C:\Program' is not recognized as an internal or external command,

Какое может быть возможное решение. Пожалуйста помоги !


person Rahul rao    schedule 07.04.2016    source источник


Ответы (1)


С ограниченными знаниями я бы предположил, что пробел после Program в пути, содержащем C:\Program Files\anything, не обрабатывается должным образом.

Изменить: включая решения, независимые от ссылки.

Возможно, вам придется избежать пробела в пути к файлу. Хотя я не уверен насчет косой черты Windows из-за того, что в основном использую Linux. Пример C:/Program\ Files/foo/bar.exe

Другой метод может заключаться в заключении пути в кавычки. Либо C:\"Program files"\foo\bar.exe, либо "C:\Program files\foo\bar.exe"

Третьим вариантом может быть замена пробела на шестнадцатеричный код, например %20, как в C:\Program%20files\foo\bar.exe. Я думаю, что в С++ вы можете заменить пробел на . Таким образом, этот метод замены также может быть авеню.

Предлагаемые ответы на этот пост могут быть полезны:

https://superuser.com/questions/432980/how-to-call-a-program-that-contains-space-in-filenameвведите здесь описание ссылки

person Matthew Hammel    schedule 28.11.2018
comment
Ссылка на решение приветствуется, но убедитесь, что ваш ответ полезен и без нее: добавьте контекст вокруг ссылки, чтобы другие пользователи иметь некоторое представление о том, что это такое и почему оно там, а затем процитировать наиболее релевантную часть страницы, на которую вы ссылаетесь, в случае, если целевая страница недоступна. Ответы, которые представляют собой не более чем ссылку, могут быть удалены. - person Zoe; 28.11.2018
comment
@ Зои Обновлено. Спасибо - person Matthew Hammel; 28.11.2018