Рейтинг:0

несогласованный путь к набору инструментов CUDA /usr vs /usr/lib, сборка тензорного потока из исходного кода

флаг us

Когда я использую сборку тензорного потока по умолчанию, я получаю Сброшено ядро ​​с недопустимыми инструкциями ошибка.

На основе моего исследования https://stackoverflow.com/questions/60858317/how-to-fix-illegal-instruction-core-dumped & https://github.com/tensorflow/tensorflow/issues/17411 Мне нужно построить тензорный поток из исходного кода.

Я начал строить тензорный поток из исходников на основе: https://www.tensorflow.org/install/source

Когда я хотел запустить ./configure, я получал сообщение об ошибке:

Не удалось найти файл cuda.h, соответствующий версии «10», ни в одном из подкаталогов:
    ''
    'включать'
    'включить/cuda'
    'включить/*-линукс-гну'
    'дополнительно/CUPTI/включить'
    'включить/cuda/CUPTI'
    'местный/cuda/дополнительно/CUPTI/включить'
из:
    '/библиотека'
    '/lib/i386-linux-gnu'
    '/lib/x86_64-linux-gnu'
    '/ уср'
    '/usr/lib/x86_64-linux-gnu/libfakeroot'

Поэтому я установил инструментарий cuda и cudnn на основе этого сообщения: https://towardsdatascience.com/installing-tensorflow-gpu-in-ubuntu-20-04-4ee3ca4cb75d

Теперь у меня есть:

nvcc: драйвер компилятора NVIDIA (R) Cuda
Авторское право (c) 2005-2019 Корпорация NVIDIA
Построено Sun_Jul_28_19:07:16_PDT_2019
Инструменты компиляции Cuda, выпуск 10.1, V10.1.243

и Куддн:

cudnn-10.1-linux-x64-v7.6.5.32 

моя cuda находится в:

где куда
cuda: /usr/lib/cuda /usr/include/cuda.h

и nvidia-smi возвращает:

nvidia-smi

Теперь я ожидаю, что смогу запустить ./configure. Я получаю следующие сообщения:

ВНИМАНИЕ: текущая установка bazel не является релизной версией.
Убедитесь, что вы используете как минимум bazel 3.7.2
Пожалуйста, укажите местоположение python. [По умолчанию /usr/bin/python3]: 


 Найдены возможные пути к библиотекам Python:
   /usr/lib/python3/dist-пакеты
    /usr/local/lib/python3.8/dist-пакеты
   Введите желаемый путь к библиотеке Python для использования. По умолчанию это [/usr/lib/python3/dist-packages].

  Вы хотите собрать TensorFlow с поддержкой ROCm? [г/н]: 
  Поддержка ROCm не будет включена для TensorFlow.

  Вы хотите собрать TensorFlow с поддержкой CUDA? [д/н]: д
  Поддержка CUDA будет включена для TensorFlow.

  Вы хотите собрать TensorFlow с поддержкой TensorRT? [г/н]: 
  Для TensorFlow не будет включена поддержка TensorRT.

  Несогласованный путь к инструментарию CUDA: /usr vs /usr/lib
  Запрос подробной конфигурации CUDA...


 Укажите версию CUDA SDK, которую вы хотите использовать. [Оставьте пустым, чтобы по умолчанию использовать CUDA 10]: 


 Укажите версию cuDNN, которую вы хотите использовать. [Оставьте пустым, чтобы по умолчанию использовать cuDNN 7]: 


 Пожалуйста, укажите локально установленную версию NCCL, которую вы хотите использовать. [Оставьте пустым, чтобы использовать 
 http://github.com/nvidia/nccl]: 


 Укажите через запятую список базовых путей для поиска библиотек и заголовков CUDA. 
 [Оставьте пустым, чтобы использовать значение по умолчанию]: 

но не могу пройти эту ошибку:

Несогласованный путь к инструментарию CUDA: /usr vs /usr/lib Запрос подробной конфигурации CUDA...

Что не так? как решить эту проблему?

Рейтинг:0
флаг cn
Tim

репозиторий нвидиа

$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
$ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
$ sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64//"
$ sudo apt-получить обновление
$ sudo apt-get -y установить cuda

Источник: https://developer.nvidia.com/cuda-11.3.0-download-архив.

В моем случае эти инструкции установили CUDA в /usr/local/, а не в /usr/ напрямую. Таким образом, процесс настройки смог найти установку CUDA.

Я надеюсь, что это помогает кому-то.

David avatar
флаг cn
Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится. – [Из обзора](/review/late-answers/1198494)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.