LINUX.ORG.RU

Возможно ли использование CUDA из WINE

 ,


0

2

Хочу использовать CUDA из WINE. Суть в следующем. Есть приложение на С++, которое использует tensorflow. Приложение сугубо под оффтопик и переписывать его особо возможности нет(есть, но очень много работы будет). Есть желание запустить его в WINE, и оно запускается, но при этом не видит GPU. Пока что про приложение решил отложить и просто добиться CUDA из WINE.

Решил проверять с помощью CUDA-Z. CUDA-Z запущенная нативно отлично видит карточку и все хорошо. А вот запущенная через WINE виндовая версия пишет, что No compatible CUDA devices found!

И я уж было отчаялся, что это вообще возможно, но периодически попадаются истории успеха, где людям удалось завести CUDA в таком варианте. Но все эти истории объединяет, то, что они какие-то мутные. Где-то линуксовую so-шку копируют как nvcuda.dll(не работает, т.к. естественно, что она не dll), где-то берут соответствующую dll от wine(но у меня она заглушка на 2,5кб и не работает), где-то заброшенный в 2014м году враппер(который не сильно понятно как использовать), где-то вообще варианты от 2008го года, которые и не могут заработать.

Также есть подозрение, что оно хочет драйвер, который по понятным причинам в вайн не установить(тут есть идея что можно с винды драйверных dll-ек утянуть и подсунуть, но не знаю каких).

В итоге решил попросить помощи от ЛОРа. Ну или хотя бы услышать от экспертов, что это не возможно.

★★★★★

Последнее исправление: Loki13 (всего исправлений: 2)

Ответ на: комментарий от fluorite

А вот это интересно, там в коммитах сразу видно вот такое «Added patch to make nvcuda.dll compatible with CUDA 7.0.», может я зря путаюсь 9ю и 10ю версии использовать, и нужно установить 7.0 и попробовать с ним.

Loki13 ★★★★★
() автор топика
Ответ на: комментарий от Kron4ek

А можешь подсказать как бы это включить? Против ручной сборки вайна ничего не имею, но не совсем понимаю как эта вся система с патчами работает. Где можно сконфигурировать что включено, а что нет?

Loki13 ★★★★★
() автор топика
Ответ на: комментарий от Loki13

Скорее всего, оно выключено, потому что сломано с последними версиями Wine, так что ты его вручную вряд ли починишь. Тебе нужно собрать Wine-Staging 7.21, где эти патчи включены по умолчанию.

Перед компиляцией, все патчи из патчсета Staging можно применить так:

./patchinstall.sh DESTDIR=путь_к_исходникам_Wine --all

Но в ебилде Gentoo это и так есть.

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 2)
Ответ на: комментарий от Kron4ek

Тебе нужно собрать Wine-Staging 7.21, где эти патчи включены по умолчанию.

Вот сейчас как раз ищу как это правильно сделать. Ещё пробую искать из собранных в lutris 7.1-7.2, но там тоже похоже заглушки, без этих патчей.

Но в ебилде Gentoo это и так есть.

Я в дереве генты вообще только 8+ версии staging вижу.

Loki13 ★★★★★
() автор топика
Ответ на: комментарий от Kron4ek

Готовые сборки Wine

Нашел вашу тему про сборки. Я же правильно понимаю, что если я скачаю по ссылкам из той темы сборку 7.21 staging, то она будет собрана с интересующими меня патчами?

Loki13 ★★★★★
() автор топика
Ответ на: комментарий от Kron4ek

Огромное спасибо! Заработало! В итоге с собранной версией 7.21 с гитхаба и после установки в настройках, что nvcuda(встроенная). При этом cudart* и всё остальное, честно тыренное с виндовой версии.

Loki13 ★★★★★
() автор топика