Очень хорошая новость!Имею две карты:
$ lspci |grep VGA
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Oland PRO [Radeon R7 240]
02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Turks XT [Radeon HD 6670/7670]
И очень хочется задействовать их мощь для как можно большего круга задач.
Вчера для этого собрал себе новую систему:
$ emerge -pv opencl
[ebuild R ] virtual/opencl-0-r4 VIDEO_CARDS="-fglrx (-nvidia)" 0 kB
$ equery g virtual/opencl-0-r4
* dependency graph for virtual/opencl-0-r4
`-- virtual/opencl-0-r4 amd64
`-- app-admin/eselect-opencl-1.1.0-r1 (app-admin/eselect-opencl) amd64
`-- media-libs/mesa-10.0.4 (>=media-libs/mesa-9.1.6) amd64 [opencl abi_x86_32(-)? abi_x86_64(-)? abi_x86_x32(-)? abi_mips_n32(-)? abi_mips_n64(-)? abi_mips_o32(-)? abi_ppc_32(-)? abi_ppc_64(-)? abi_s390_32(-)? abi_s390_64(-)?]
`-- x11-drivers/ati-drivers-14.4_p1 (>=x11-drivers/ati-drivers-12.1-r1) amd64
`-- x11-drivers/nvidia-drivers-343.22-r2 (>=x11-drivers/nvidia-drivers-290.10-r2) amd64
`-- dev-util/intel-ocl-sdk-2.0.31360 (dev-util/intel-ocl-sdk) amd64
[ virtual/opencl-0-r4 stats: packages (6), max depth (1) ]
Видно что в дистрибутиве доступно 4 поставщика OpenCL: разрабы mesa, AMD, Intel, Nvidia.
$ eselect opencl list
Available OpenCL implementations:
[1] mesa *
Решил выбрать mesa.
$ equery h opencl
[IP-] [ ] media-gfx/imagemagick-6.8.9.9:0/6.8.9.9
[IP-] [ ] media-libs/mesa-10.0.4:0
[IP-] [ ] media-libs/opencv-2.4.9:0/2.4
[IP-] [ ] media-libs/x264-0.0.20140308:0/142
[IP-] [ ] sci-libs/gdal-1.11.1-r1:0
Как видно, в моей системе, кроме програм мультимедиа только библиотека для работы с картами (наверно кодирование растровых изображений в картах) поддерживает OpenCL и теоретически?!!! должна ускорятся GPU!
Вопрос разбирающимся в теме: эта ArrayFire должна выступать как альтернатевный поставщик OpenCL или её алгоритмы должны быть включены в mesa?
На сколько я разбираюсь в дистростроительстве единственно правельный путь это добавление алгоритмов ArrayFire в непосредственно в код проекта mesa!!!???