[Hardware] [Re: Q: OpenCL support in ALTLinux]
Konstantin Lepikhov
lakostis на unsafe.ru
Пт Май 10 14:38:45 MSK 2019
Привет!
Решил закинуть это письмо в hardware@ поскольку с декабря успели произойти
некоторые изменения:
- У AMD почти появился ROCm в ядре, т.е. для нового железа (Vega и выше)
OpenCL заработает "из коробки". Также не забываем читать внимательно
страницу проекта про аппаратные требования, поскольку ROCm/KFD зависит
не только от GPU, но и от CPU и возможностей материнской платы.
- В недавних дровах amdgpu-pro-19.10 стало можно пользоваться закрытой
реализацией на базе GPU специфичной библиотеки под названием orca:
[root at lks ~]# clinfo
Number of platforms 1
Platform Name AMD Accelerated
Parallel Processing
Platform Vendor Advanced Micro
Devices, Inc.
Platform Version OpenCL 2.1 AMD-APP (2841.4)
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_icd cl_amd_event_callback cl_amd_offline_devices
Platform Host timer resolution 1ns
Platform Extensions function suffix AMD
...
$ ll /usr/lib64/libamdocl*
-rw-r--r-- 1 root root 36408112 May 9 22:30 /usr/lib64/libamdocl12cl64.so
-rw-r--r-- 1 root root 66351872 May 9 22:29 /usr/lib64/libamdocl-orca64.so
$ cat /etc/OpenCL/vendors/amdocl-orca64.icd
libamdocl-orca64.so
технически это можно даже запакетить в p8/c8, но не в сизиф.
Я прогнал несколько тестов чтобы убедиться, что opencl рабочий и сравнить
его производительность с NATIVE c++ сборкой:
<AMD GPU R9 Nano / FIJI>
$ ./luxmark --scene=HOTEL --mode=BENCHMARK_OCL_GPU --single-run --ext-info
Score: 3313
Scene validation: Ok
Image validation: Ok
<NVIDIA GTX-1050>
./luxmark --scene=HOTEL --mode=BENCHMARK_OCL_CPUGPU --single-run
--ext-info
Score: 1328
Scene validation: Ok
Image validation: Ok
<CPU NATIVE>
$ ./luxmark --scene=HOTEL --mode=BENCHMARK_NATIVE --single-run --ext-info
Score: 348
Scene validation: Ok
Image validation: Ok
----- Forwarded message from Konstantin Lepikhov <lakostis@> -----
Date: Wed, 19 Dec 2018 02:02:09 +0100
From: Konstantin Lepikhov <lakostis@>
To: Konstantin Lepikhov <lakostis@>
Cc: legion@, ldv@, glebfm@, shrek@
Subject: Re: Q: OpenCL support in ALTLinux
User-Agent: Mutt/1.10.1 (2018-07-13)
On 12/06/2018, at 10:50:29 PM you wrote:
<skip>
> Если взять вендоров A и N то у первого есть свое решение под названием
> ROCm, а у второго есть libnvidia-opencl.
>
> Описание ROCm
> https://www.phoronix.com/scan.php?page=news_item&px=ROCm-Compute-Stack-Overview
> Как видно, тут свой llvm и либы, не привязанные к mesa. + Свой тулчейн в
> виде HIP и HCC.
>
...
> 4) ROCm тулчейн
> https://github.com/RadeonOpenCompute
>
Я попробовал по-быстрому завести ROCm на своей Fury X где он заявлен как
поддерживается и работает. Это не работает никак в ALTLinux:
- OpenCL client требует поддержки KFD, которая сломана в ванильном ядре и
drm-next и поддерживается в своем окружении -
https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver
где сихронизировано только до 4.18.x. В 4.19 сборка не работает и
изменений очень много (я честно пробовал накатить патчи из -next и
самого ядра).
- HSA библиотека ставится из бинарников для RHEL 7[1], но опять же
пользоваться ей без ядерного драйвера нелья.
Т.е. OpenCL сейчас можно пользоваться только для nvidia, все остальное
собирать можно только в рамках какого-то решения, привязанного к RHEL/LTS
Ubuntu (для которых есть сборки и поддержка со стороны AMD). И уж тем
более нет смысла собирать самостоятельно все эти тулчейны на базе LLVM,
поскольку они растут из master бранча проекта LLVM и никакой поддержки
сторонних дистрибутивов там нет.
Надеюсь, кому-то это сэкономит время.
1. http://repo.radeon.com/rocm/yum/rpm/
--
WBR et al.
----- End forwarded message -----
--
WBR et al.
Подробная информация о списке рассылки Hardware