The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]



"Раздел полезных советов: Компиляция приложений с поддержкой ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Компиляция приложений с поддержкой ..."  +1 +/
Сообщение от auto_tips (ok), 23-Авг-18, 16:37 
При сборке Wine не для личного использования, а чтобы распространять сборки, я столкнулся с проблемой. С какой реализацией OpenCL линковать? NVIDIA, AMD,
[[https://software.intel.com/en-us/articles/opencl-drivers Intel]], Mesa? Ответ - FreeOCL!

На самом деле, не важно с чем линковать. У всех известных мне реализаций OpenCL, сама библиотека []libOpenCL.so.1[] занимает  около 30 Кб. Оказывается, внутри этой библиотеки ничего нет. Сам OpenCL находится в другой библиотеке (например в []libatiocl64.so[] - см. []/etc/OpenCL/vendors/*.icd[] для подробностей). Однако залить проприетарный драйвер в OBS-репозиторий я не могу, так как закрытый код. Остаётся только Mesa и FreeOCL.

[[https://github.com/zuzuf/freeocl FreeOCL]] это программная реализация OpenCL, написанная на C++, и имеющая у себя в зависимостях libatomic_ops - а LLVM не имеющая. Установив в систему []FreeOCL[] и []opencl-headers[], я успешно собрал Wine. Причём Wine линкуется только с OPENCL_1.0, что не помешало конечному софту, запущенному в Wine, успешно задействовать расширения 1.2 и 2.0.

В общем, рекомендую всем, кто до сих пор собирает с AMD APP SDK 3.0, перейти на FreeOCL. Я попробовал скомпилировать весь известный мне OpenCL-софт при помощи FreeOCL, а затем запустить на NVIDIA и AMD - всё работает безупречно. Не падает, не отказывается стартовать, и демонстрирует ровно ту же скорость работы.

P.S. Бинарник получает зависимость от libOpenCL.so.1 (параметр []-lOpenCL[]), а пакет RPM или DEB также получает от pkg-config ещё несколько зависимостей:

   libOpenCL.so.1(OPENCL_1.0)(64bit)
   libOpenCL.so.1(OPENCL_1.1)(64bit)
   libOpenCL.so.1(OPENCL_1.2)(64bit)
   libOpenCL.so.1(OPENCL_2.0)(64bit)

Поэтому если вы собираете пакеты, а не просто tar.gz архив с программой, рекомендую пропатчить FreeOCL патчем
[[https://build.opensuse.org/package/view_file/home:linux4huma... freeocl-0.3.6-disable-symbol-versioning.patch]]. В этом случае, пакет получит зависимость только от []libOpenCL.so.1()(64bit)[]. Например в моей системе в пакете NVIDIA 340.xx нет «версионинга» OpenCL, а в 390.xx он есть. Вследствие чего, пакет не хотел устанавливаться, но после force install - работал.

URL:
Обсуждается: https://www.opennet.ru/tips/info/3072.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "OpenCL?"  +/
Сообщение от iZENemail (ok), 23-Авг-18, 16:37 
12 лет собираю софт без OpenCL. Что я теряю, чего лишаюсь?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "OpenCL?"  +/
Сообщение от Аноним (2), 23-Авг-18, 21:38 
мегахеши.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "OpenCL?"  +/
Сообщение от Аноним (3), 23-Авг-18, 23:36 
12 лет назад его ещё совсем не было. Так что, тогда ты точно ничего не терял.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "OpenCL?"  +/
Сообщение от Аноним (4), 24-Авг-18, 10:30 
12 лет собирать софт и сморозить такое. Глупость действительно неисправима!
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

9. "OpenCL?"  +/
Сообщение от iZENemail (ok), 24-Авг-18, 22:08 
> 12 лет собирать софт и сморозить такое. Глупость действительно неисправима!

Я серьёзно. Что я пропустил?


Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

11. "OpenCL?"  –1 +/
Сообщение от Аноним (-), 25-Авг-18, 23:33 
> 12 лет собирать софт и сморозить такое. Глупость действительно неисправима!

Это же iZEN. Сегодня он показал что можно 12 лет собирать софт и при этом все-же остаться ламером и нубом.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

13. "OpenCL?"  +/
Сообщение от Аноним (13), 27-Авг-18, 14:52 
Понимаешь ли, мой маленький друг, то, что iZEN хочет заполнить пробелы в своих знаниях и при этом не боится показаться невежественным говорит о нём, как в взрослой личности.

А твоя клоунада с попыткой оскорбить незнакомого человека говорит о том, что ты малолетний дегенерат.

Если ты с этим не согласен - начинай себя вести так же и в реальной жизни.

О результатах непременно отпиши на этом форуме.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

18. "OpenCL?"  +/
Сообщение от ананим.orig (?), 02-Сен-18, 23:33 
> iZEN хочет заполнить пробелы в своих знаниях и при этом не боится

Не заблуждайтесь.
..
Если не хотите прослушать курс (не менее ламepский кстати) на тему, как жаба разруливает зависимости при распространении блобов.

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

24. "OpenCL?"  +/
Сообщение от Аноним (24), 24-Сен-18, 18:51 
Все знать в этом мире нереально .
Лично вы например тоже чего-то не знаете .
Давайте я буду смеяться над вами, над тем что лично вы не знаете ?
И напишу что вы в этом деле нуб , клоун и дегенерат .
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

10. "OpenCL?"  +/
Сообщение от Аноним (-), 25-Авг-18, 23:32 
> 12 лет собираю софт без OpenCL. Что я теряю, чего лишаюсь?

Ускорения массово параллелящихся операций раз так во много. Видал разгон в 30 раз. Но да, это требует GPU и достаточно работоспособный 3D драверй с opencl-ным рантаймом.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

12. "OpenCL?"  +/
Сообщение от iZENemail (ok), 26-Авг-18, 14:09 
>> 12 лет собираю софт без OpenCL. Что я теряю, чего лишаюсь?
> Ускорения массово параллелящихся операций раз так во много. Видал разгон в 30
> раз. Но да, это требует GPU и достаточно работоспособный 3D драверй
> с opencl-ным рантаймом.

На nvidia-driver-390.77 и видеокарте Geforce GT 710 работает?

На xf86-video-ati-7.9.0 и видеокарте AMD 785G (HD 4200) работает?

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

14. "OpenCL?"  +/
Сообщение от Аноним (14), 27-Авг-18, 22:39 
Да, но большая часть софта не получит преимуществ, слишком старые видеокарты не поддерживают современные инструкции и софт просто не задействует opencl на них.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

15. "OpenCL?"  +/
Сообщение от iZEN (ok), 28-Авг-18, 09:48 
А что будет, если поставить Geforce GTX 1050? Какие преимущества я получу от OpenCL в этом случае?
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

16. "OpenCL?"  +/
Сообщение от Инсайдер (?), 29-Авг-18, 03:01 
Одно из преимуществ: https://hashcat.net/hashcat/
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

19. "OpenCL?"  +/
Сообщение от siu77 (ok), 03-Сен-18, 10:45 
Когда OpenCL только начал появляться, было множество новостей о том, что вычисления в электронных таблицах LibreOffice ускоряются в несколько раз.
Например, из 2014:
http://www.techenablement.com/libreoffice-opencl-acceleratio.../

Но вроде бы, с тех пор все вменяемые дистры запилили поддержку этой фичи по дефолту. Так что, смысл этой пересборки мне тоже не очень понятен. Без фороникса не разобраться, короче.

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

20. "OpenCL?"  +1 +/
Сообщение от нах (?), 04-Сен-18, 17:56 
погодите-ка, вы хотите сказать, что у вас были ТАКИЕ таблицы в опенофисе, что их вычисления (вычисления, йопаралон - не старт oocalc, не отрисовка бесконечных элементов интерфейса, не открытие файла, а ВЫЧИСЛЕНИЯ) выполнялись заметное глазом время?

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

21. "OpenCL?"  +/
Сообщение от siu77 (ok), 04-Сен-18, 22:45 
Ну, не все же на ай9 сидят. ))

В обсуждении новости в 2013-м году возникло похожее непонимание:
https://www.phoronix.com/forums/forum/software/desktop-linux...
И вот что было отвечено: "OpenCL also means CPU multi core." Т.е., как gcc может обрабатывать одну задачу с помощью нескольких ядер, так и, в идеале, многое может быть реализовано для параллельного выполнения. Другое дело, что сейчас уже 2018, а многого не видно.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

5. "Компиляция приложений с поддержкой OpenCL без закрытых драйв..."  +/
Сообщение от Zenitur (ok), 24-Авг-18, 12:47 
У меня такой вопрос: есть ли разница между header-ами OpenCL из CUDA Toolkit, AMD APP SDK и с сайта Khronos Group (пакет opencl-headers)?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Компиляция приложений с поддержкой OpenCL без закрытых драйв..."  +/
Сообщение от Аноним (8), 24-Авг-18, 20:28 
> У меня такой вопрос: есть ли разница между header-ами OpenCL из CUDA
> Toolkit, AMD APP SDK и с сайта Khronos Group (пакет opencl-headers)?

По идее, должна быть, ведь вендоры имеют право добавлять свои собственные расширения. Не знаю, добавляли ли NVIDIA с AMD что-нибудь своё в OpenCL

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

6. "Компиляция приложений с поддержкой OpenCL без закрытых драйв..."  +1 +/
Сообщение от Андрей (??), 24-Авг-18, 16:31 
6 лет назад в Debian появился пакет ocl-icd с реализацией платформонезависимого драйвера, который можно использовать для разработки, а потом оно будет работать с проприетарными драйверами.

"OpenCL implementations are provided as ICD (Installable Client Driver). An OpenCL program can use several ICD thanks to the use of an ICD Loader as provided by this project. This free ICD Loader can load any (free or non free) ICD."

Источник: https://forge.imag.fr/projects/ocl-icd/

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Компиляция приложений с поддержкой OpenCL без закрытых драйв..."  +/
Сообщение от Аноним (8), 24-Авг-18, 20:27 
Вот оно что. Спасибо
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

22. "Компиляция приложений с поддержкой OpenCL без закрытых драйв..."  +/
Сообщение от Анонимemail (22), 22-Сен-18, 12:15 
Так что же, в итоге, лучше? FreeOCL или OCL-ICD?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

23. "Компиляция приложений с поддержкой OpenCL без закрытых драйв..."  +/
Сообщение от Аноним (23), 22-Сен-18, 21:10 
Результат будет одинаковым. Наверное лучше OCL-ICD, потому что он создан конкретно для того, чтобы компилить с ним софт, а FreeOCL претендует на серьёзность, на то, чтобы выполнять OpenCL-код на CPU
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

25. "Компиляция приложений с поддержкой OpenCL без закрытых драйв..."  +/
Сообщение от Анонннн (?), 31-Окт-18, 14:04 
Дошел ли прогресс до такого состояния, что собрав мою, не использующую на прямую opencl, программу вместе в opencl, я получу приваку к скорости?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема


  Закладки на сайте
  Проследить за страницей
Created 1996-2018 by Maxim Chirkov  
ДобавитьПоддержатьВебмастеруГИД  
Hosting by Ihor