pycuda-корень CUDA не установлен, а nvcc не в пути.'

хотя я установил pycuda и использовал его нормально, он начал (без выполнения sth) не работать.Итак, я попытался сделать установку снова, но когда я делаю

python configure.py --cuda-root= / usr / local/cuda / bin

Это дает мне ошибку в названии.

файл nvcc в каталоге выше.

3 ответов


pycuda не находит nvcc. Вы пытались добавить /usr/local/cuda / bin в переменную пути env? Вот так у меня все устроено.

Edit:

насколько я могу сказать configure.py не вызывает компилятор nvcc, он просто создает makefile. Я так понимаю, что эта проблема возникает при запуске sudo-c "make install", который вызывает setup.py.

пару вещей, чтобы попробовать. Убедитесь, что у вас установлен cuda_root:

echo $CUDA_ROOT

если он пуст, установите это:

export CUDA_ROOT=/usr/local/cuda/bin

попробуйте снова запустить команду make. Теперь с-E, чтобы сохранить ваш env:

sudo -E sh -c "make install"

я столкнулся с той же проблемой на Slackware64 13.37.

установить команды su -c "make install" переключается на root (0bv10u5Ly) таким образом CUDA_ROOT должно быть установлено в профиле корня. CUDA_ROOT не является переменной среды, она используется setup.py - ... Добавьте /usr / local/cuda / bin в PATH и определите CUDA_ROOT=/usr/local/cuda/bin затем попробуйте установить еще раз.

это быстрый и грязный способ, но если ни один из выше работал для вас, как я, ниже, безусловно, работать. (:

удалить

nvcc_path = search_on_path(["nvcc", "nvcc.exe"])
if nvcc_path is None:
    print("*** CUDA_ROOT not set, and nvcc not in path. Giving up.")
    sys.exit(1)

и set

cuda_root_default = "/usr/local/cuda/bin"

in setup.py файл. Тогда попробуйте su -c "make install".


в моем случае, я должен был поставить CUDA_ROOT=/usr/local/cuda поскольку с /usr/local/cuda/bin путь, он не смог найти папку include, и он терпел неудачу с ошибкой не нашел cuda.h.