nvcc не найден, несмотря на установленный cuda

Вопрос или проблема

Я создал conda окружение следующим образом:

$ conda create -n Env_py38_torch241_CUDA118 python=3.8

Затем я установил некоторые зависимости следующим образом:

$ conda activate Env_py38_torch241_CUDA118
$ conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

Но при выполнении скрипта make.sh для одного из репозиториев git возникает ошибка:

error: [Errno 2] Нет такого файла или каталога: '/home/user/miniconda3/envs/Env_py38_torch241_CUDA118/bin/nvcc'

Похоже, что nvcc просто отсутствует, так как следующая команда возвращает только путь к run_nvcc.cmake, но не фактический путь к nvcc:

$ find ~/miniconda3/envs/EnvMOT_py38_torch241_CUDA118/ -name *nvcc*
/home/user/miniconda3/envs/EnvMOT_py38_torch241_CUDA118/lib/python3.8/site-packages/torch/share/cmake/Caffe2/Modules_CUDA_fix/upstream/FindCUDA/run_nvcc.cmake

Почему nvcc не установлен в моем conda окружении и как его установить?

Ответ или решение

Если вы получаете ошибку о том, что командный файл nvcc не найден, несмотря на то что CUDA установлена, скорее всего, проблема заключается в том, что утилита nvcc, которая является частью NVIDIA CUDA Toolkit, не включена в ваш conda-окружение. Инструкции для решения этой проблемы представлены ниже.

Шаги для установки nvcc в вашем conda окружении:

  1. Проверьте установленный CUDA Toolkit:
    Убедитесь, что вы установили необходимую версию CUDA Toolkit. Вы можете установить его через conda с помощью следующей команды:

    conda install cudatoolkit=11.8
  2. Установите cudatoolkit-dev:
    Кроме cudatoolkit, может потребоваться установка специального пакета cudatoolkit-dev, который содержит необходимые разработки инструменты, включая nvcc. Попробуйте выполнить:

    conda install cudatoolkit-dev -c conda-forge
  3. Установка CUDA через пакет NVIDIA:
    Если вышеуказанные команды не сработали, попробуйте альтернативный способ установки CUDA toolkit напрямую из репозита NVIDIA:

    conda install -c nvidia cudatoolkit=11.8

    Обратите внимание, что в зависимости от конфигурации вашей системы, возможно, вам также потребуется установить драйвера NVIDIA, если они еще не установлены.

  4. Проверьте установку:
    После установки попробуйте снова проверить наличие nvcc:

    nvcc --version

    Если он установлен корректно, вы должны увидеть информацию о версии CUDA.

  5. Настройка PATH:
    Если вы все же не можете найти nvcc, убедитесь, что ваш путь к исполняемым файлам (PATH) настроен правильно. Добавьте следующий путь в файл конфигурации оболочки (например, .bashrc или .bash_profile):

    export PATH="/home/user/miniconda3/envs/Env_py38_torch241_CUDA118/bin:$PATH"

    Затем выполните команду source ~/.bashrc или перезапустите терминал.

  6. Создание symlink:
    Если nvcc установлен где-то еще на вашей системе и вы хотите использовать его в вашем окружении, вы можете создать символическую ссылку:

    ln -s /usr/local/cuda/bin/nvcc ~/miniconda3/envs/Env_py38_torch241_CUDA118/bin/nvcc

    Убедитесь, что путь /usr/local/cuda/bin/nvcc правильный.

Заключение

После выполнения всех этих шагов вы должны иметь возможность использовать nvcc в вашем conda окружении без ошибок. Если проблема сохранится, возможно, стоит рассмотреть полную переустановку вашего окружения или изучить документацию по установке CUDA для вашей ОС и версии Python.

Оцените материал
Добавить комментарий

Капча загружается...