LINUX.ORG.RU

[РЕШЕНО]Как в Fedora установить OpenCL от AMDGPU-PRO? (инструкция внутри)

 , , ,


0

2

Дано:
Видеокарта Radeon RX 460 с драйвером amdgpu;
Mesa, у которой OpenCL версии 1.1;
Fedora 26;

До этого в Manjaro просто из AUR ставился соответствующий пакет и всё работало замечательно. До перехода на федору нашел вот этот вот пост. Сделал точно так же, сначала просто стала невидимой видеокарта для clinfo, теперь:

[ozzee@localhost] $ LD_LIBRARY_PATH=/opt/amdgpu-pro/lib64/ clinfo 
DRM_IOCTL_I915_GEM_APERTURE failed: Invalid argument
Assuming 131072kB available aperture size.
May lead to reduced performance or incorrect rendering.
get chip id failed: -1 [2]
param: 4, val: 0
Segmentation fault (стек памяти сброшен на диск)


При том, что путь верный. Далее, попробовал поставить просто три пакета, связанных с OpenCL (все пакеты были выкачаны с офсайта амд). Ранее были проблемы с зависимостиями, сейчас они поставились, но эффекта никакого - только меса. Попробовал удалить пакеты месовского OpenCL и ocl-icd от месы же, снесся вайн, и
[ozzee@localhost] $ clinfo 
clinfo: error while loading shared libraries: libOpenCL.so.1: cannot open shared object file: No such file or directory

Пока вернул пакеты на место.

Есть ли способ воткнуть проприетарный OpenCL? А то блендер не умеет в 1.1, а мне комнату хочется порендерить...

-------------------------------

Решилось. Вот инструкция: Качаем с офсайта AMD драйверы под свою видеокарту для CentOS/RHEL. Далее, открываем пакеты с помощью архиватора и ищем папки lib64 и в них такие файлы:

libamdocl12cl64.so
libamdocl64.so

Их копируем в /usr/lib64, предварительно сделав резервные копии libOpenCL*, так как они будут заменяться как оказалось, libOpenCL* заменять не надо, замена этих библиотек (возможно) приводила к зависанию видеокарты, а amdgpu валил ошибками.

Далее ищем файл amdocl64.icd и кладем его в /etc/OpenCL/vendors, а mesa.icd переименовываем к примеру в mesa.bak (он в этом же каталоге). Теперь clinfo должен показывать что-то вроде этого:

Platform Name                                   AMD Accelerated Parallel Processing
Number of devices                                 1
  Device Name                                     Baffin
  Device Vendor                                   Advanced Micro Devices, Inc.
  Device Vendor ID                                0x1002
  Device Version                                  OpenCL 1.2 AMD-APP (2442.7)
  Driver Version                                  2442.7
  Device OpenCL C Version                         OpenCL C 1.2 
  Device Type                                     GPU
  Device Available                                Yes
  Device Profile                                  FULL_PROFILE
  Device Board Name (AMD)                         AMD Radeon (TM) RX 460 Graphics

Работоспособность проверена в блендере.

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

gosha36 ★★ ()

В общем, почти смог.

[ozzee@localhost amdgpu-pro] $ LD_LIBRARY_PATH=/opt/amdgpu-pro/lib64/ CYCLES_TEST_ALL=1 blender
Read new prefs: /home/ozzee/.config/blender/2.78/config/userpref.blend
/builddir/build/BUILD/blender-2.78c/intern/ghost/intern/GHOST_WindowX11.cpp:299: X11 glXChooseVisual() failed, verify working openGL system!
initial window could not find the GLX extension

Blender quit


При этом clinfo говорит, что у моей видеокарты OpenCL 1.2

ozz_is_here ()

Aber у меня нет скора, чтобы писать в галерее, поэтому отвечу тут.


Мне интересно, для рендеринга в CUDA/OpenCL надо специально что-то делать, т.е. накладывает ли рендеринг силами видокарты какие-то ограничения? Нужно ли специально подготавливать/переделывать сцену или просто щелкнул пункт в меню и все готово. Есть ли разница в результате?



Никаких ограничений, переделывать ничего не надо. Разницы в результате нет, т.к. материалы те же. Единственное - надо изменить размер тайлов на как можно больший (оптимальным будет 640x640 или 512x512), для CPU же идеальным будет 8x8.

ozz_is_here ()
Ответ на: комментарий от ozz_is_here

А, ну и запускать блендер надо с переменной окружения CYCLES_TEST_ALL=1 или CYCLES_OPENCL_SPLIT_KERNEL_TEST=1, а затем проследовать в настройки и в устройствах выбрать ТОЛЬКО видеокарту (у меня почему-то только она и была) (да, OpenCL можно считать и на процессоре, но это будет очень медленно).

ozz_is_here ()
Ответ на: комментарий от ozz_is_here

Интересно. А на что влияет разамер тайлов, на производительность или качество?

CYCLES_TEST_ALL=1 или CYCLES_OPENCL_SPLIT_KERNEL_TEST=1, а затем проследовать в настройки и в устройствах выбрать ТОЛЬКО видеокарту (у меня почему-то только она и была) (да, OpenCL можно считать и на процессоре, но это будет очень медленно).

Эта информация понадобится если забенчим. Недавно был небольшой флейм в «Работа» по поводу OpenCL/Cuda. Вроде на wiki блендера есть бенчи, но свои сцены и не все карты представлены.

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

А на что влияет разамер тайлов

Производительность. На качество не влияет ничего.

ozz_is_here ()

а с нвидой заработает?

anonymous ()
Ответ на: комментарий от pelmenman

Попробуй без зависимостей снести месовский вулкан и поставить от прошки.

ozz_is_here ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.