Автор Тема: Можно ли поставить CUDA под KWorkstation 8.3?  (Прочитано 8098 раз)

Оффлайн MrFlibble

  • Завсегдатай
  • *
  • Сообщений: 57
Уважаемые форумчане, доброго времени суток и с наступившим новым годом!

Интересуюсь возможностями использования CUDA с PyTorch, но не могу найти актуальную информацию по установке CUDA в KWorkstation 8.3. Поиск по форуму выдаёт преимущественно очень старые темы (самое позднее — трёхлетней давности), также не могу понять, насколько актуально описание на вики, ну и настораживает замечание:
Цитировать
Заметка: данная инструкция портит файлы, принадлежащие установленным пакетам.
Я уже один раз поломал систему, поставив драйвера от NVIDIA в обход репозитория, повторять эту ошибку как-то неохота.

Если дружелюбного способа поставить CUDA на данный момент не существует, попробую обойтись без неё.

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 232

Оффлайн MrFlibble

  • Завсегдатай
  • *
  • Сообщений: 57
Да вот я тоже пытался разобраться, нет ли уже eё в комплекте, но через Synaptic видна только libcuda 410.78 — как следует из документации, это просто часть пакета драйвера NVIDIA:
Цитировать
The CUDA library (/usr/lib/libcuda.so.410.78) which provides runtime support for CUDA (high-performance computing on the GPU) applications.

В различных источниках пишут, что для проверки установленной версии CUDA нужно дать соответствующую команду компилятору NVCC:
nvcc -V или
nvcc --versionПоскольку bash сообщает, что команда nvcc не найдена (с правами администратора тоже), я делаю вывод, что данный компонент не установлен.

Однако я полагаю, что установленная у меня версия Альта отличается от заявленной в теме автора zerg, хотя на экране выбора ОС номер версии даётся 8.3. В частности, такое предположение у меня возникает в связи с тем, что в zerg-версии обещано исправление NVIDIA Optimus:
Цитировать
Исправлено:
- Работа NVIDIA Optimus (Bumblebee).
Однако у меня optirun как не работал, так и не работает, запускается только primusrun.

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 232
nvcc это часть CUDA toolkit, а не драйвера (раньше в альте категорически вырезали из состава драйверов всё что связано с cuda). Потому драйвера вкорячивать больше не надо, а CUDA toolkit ставьте.

Оффлайн MrFlibble

  • Завсегдатай
  • *
  • Сообщений: 57
Ясно, спасибо!

Я так понял, нужно брать пакет CUDA Toolkit в формате runfile, на страничке скачивания сайта NVIDIA предлагаются различные варианты для поддерживаемых дистрибутивов, однако runfile для всех одинаковый (cuda_10.0.130_410.48_linux.run), или всё-таки там имеются различия? (формулировка с вики подразумевает, что различий быть не должно, но на всякий случай уточняю)

UPD: Внимательно прочитал инструкцию и понял бессмысленность вопроса :)

UPD2: Так, в инструкции на сайте NVIDIA дана таблица соответствий зависимостей для различных дистрибутивов. Как я понял, необходимо, чтобы версии компонентов находились в соответствии, например для GCC версии 4.4.7 требуется GLIBC версии 2.12, для GCC 4.8.5 - GLIBC 2.17 и т.д.

Synaptic показывает, что в репозитории имеется только GLIBC версии 2.23, однако в таблице ей соответствует GCC 5.4.0, а в репозитории на выбор либо GCC 5.3.1, либо 4.x и ниже. Что делать?
« Последнее редактирование: 04.01.2019 22:58:03 от MrFlibble »

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 232
ориентируйтесь на gcc, glibc в системе может быть и новее.

Оффлайн MrFlibble

  • Завсегдатай
  • *
  • Сообщений: 57
Хм, ну хорошо, вот я смотрю по команде uname -r версию ядра, получаю 4.14.88-un-def-alt0.M80P.1. Это не соответствует в таблице никакой версии, там только 4.15.0 либо 4.13.9 (для x86_64). Правда, оба варианта требуют версии GCC сильно выше имеющихся (7.x).

Правда, для платформы POWER9 предлагается вариант ядро 4.14.0 + GCC 4.8.5 + GLIBC 2.17. Исходя из этого осторожно предположу, что из имеющихся в Synaptic вариантов стоит попробовать комбинацию GCC 4.8.2 + GLIBC 2.23 (???).

Далее по списку стоит CLANG 6.0. Его установка через Synaptic автоматически притянула GCC 5 и GLIBC 2.23. Нужно  ли после этого ещё ставить GCC 4.8.2? Вообще, если поставить несколько версий GCC параллельно, они могут конфликтовать?

Ещё в таблице значатся компиляторы ICC 18.0 и PGI 18.x, которых в Synaptic нет. Видимо, нужно ставить их отдельно?

Бесплатную версию PGI нашёл здесь, для интелевского ICC имеется только бесплатная пробная версия на 30 дней.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 102
Однако я полагаю, что установленная у меня версия Альта отличается от заявленной в теме автора zerg
Первоисточником для получения пакетов в дистрибутив является репозиторий. И любой установленный дистрибутив, соответственно, может быть обновлён до текущего состояния соответствующего ему репозитория. Таким образом, после apt-get update && apt-get dist-upgrade установленные ОС становятся почти одинаковыми. Почти - так как могут быть различия в исходном наборе пакетов и в конфгах. Всё это можно выровнять доустановкой отсутствующих пакетов, удалением лишних и правкой конфигов. И ещё ядро (update-kernel). Возможно, со сменой типа (std-def, un-def и т.п.).
« Последнее редактирование: 15.02.2019 12:17:23 от asy »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 102
Вообще, если поставить несколько версий GCC параллельно, они могут конфликтовать?
В ALT - нет. На это рассчитано. Но по-умолчанию будет использоваться самый свежий. И необходимость использовать более старый - это достаточно специфические случаи. Хотя и встречающиеся.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 102
UPD2: Так, в инструкции на сайте NVIDIA дана таблица соответствий зависимостей для различных дистрибутивов.
Это то, что они протестировали, и где точно должно работать. Но это не значит, что не будет работать на том же самом более новом. Так что ставьте самое свежее, что есть, и пробуйте. Ну а потом уже думать по результату.

Оффлайн zerg

  • ненужная строка
  • alt linux team
  • ***
  • Сообщений: 2 494
  • ненужная строка
    • Найдётся всё
команда nvcc не найдена
Говоря про поддержку CUDA я не имел ввиду средства разработчика, IDE или что-то ещё.
Я имел ввиду только конечные программы, собранные с поддержкуй CUDA.
Убрать этот мусор можно переключателем: Не показывать подписи других пользователей.