Если ставить OpenCL на Terascale, то более менее производительный вариант только один - проприетарный драйвер fglrx. Однако fglrx (последний crimson 15.302) встанет только на ядро 4.4 (м.б. 4.5) максимум, только патченый (легко гуглится что-то типа fglrx_kernel_4.4.diff) и будет работать только с Xorg версии =< 1.17.Далее всё по инструкции с сайта AMD, качаем оттуда же и ставим AMDAPPSDK-3.0 и acml6.1.0 в /opt (ссылки не привожу, уже устарели и не актуальны).
Затем ньюанс:
cd /opt/AMDAPPSDK-3.0/lib/x86_64
ln -s sdk/libamdocl64.so libamdocl64.so
ln -s sdk/libOpenCL.so.1 libOpenCL.so
ln -s sdk/libOpenCL.so.1 libOpenCL.so.1
Без этого ньюанса у меня OpenCL не заработал, возможно, есть другие более законные варианты.
На APU A8-4555M, например, c fglrx получаем 1 платформу и 2 девайса, выжимка clinfo:
Number of platforms: 1
Platform Version: OpenCL 2.0 AMD-APP (1800.8)
Number of devices: 2
Device Type: CL_DEVICE_TYPE_GPU
Board name: AMD Radeon HD 7600G
Name: Devastator
Vendor: Advanced Micro Devices, Inc.
Device OpenCL C version: OpenCL C 1.2
Driver version: 1800.8 (VM)
Device Type: CL_DEVICE_TYPE_CPU
Board name:
Name: AMD A8-4555M APU with Radeon(tm) HD Graphics
Vendor: AuthenticAMD
Device OpenCL C version: OpenCL C 1.2
Driver version: 1800.8 (sse2,avx,fma4)
Для удалённого использования OpenCL в сеансе ssh есть свои ньансы: без доп.настройки сразу после reboot'а доступен CL_DEVICE_TYPE_CPU. Он работает быстрее, чем софтовый обсчёт, но медленнее, чем c CL_DEVICE_TYPE_GPU.
С выделеной платой GPU с Intel CPU скорее всего не будет CL_DEVICE_TYPE_CPU, не проверял.
Так же производительность возрастает при увеличении частоты CPU, т.е. для встроенного GPU есть такая зависимость.
И да, периодически нужно делать:
/usr/lib64/fglrx/switchlibGL amd
/usr/lib64/fglrx/switchlibglx amd
чтобы восстанавливать слетающие линки на библиотеки. Некоторые нужные линки пропадают, например, при установке любых новых пакетов обычным менеджером.
Что касается открытого AMDGPU, начиная с ядра 4.16 он работает с MESA OpenCL отлично (например, на APU Carrizo). Снижение производительности OpenCL относительно закрытого AMDGPU-PRO около 14% по некоторым моим тестированиям (в основном fft). В других задачах возможно отличия будут больше.