Страницы

суббота, 7 января 2017 г.

Ivy Bridge Intel GT2 graphics. Быстрый тест на открытой реализации OpenCL - beignet

Для платформы Intel, на базе чипсета Intel H77 Express + процессор Intel IvyBridge i3-3225 со встроенным графическим ядром HD4000 (GT2), решил посмотреть состояние свободной реализации OpenCL для ускорения на графическом ядре GT2.


Beignet - это сводобная реализация спецификации OpenCL, для ускорения вычислений на встроенных графических процессорах фирмы Intel [1].
Начиная с IvyBridge и старше.
Моя платформа поддерживает эту возможность, вот её я и проверю.


Операционная система: Fedora 25 + стандартные обновления

В репозитории Fedora 25 (64-bit) есть пакет: beignet.x86_64


Beignet - ускорение на встроенном графическом ядре


После установки вывод команды clinfo -l:

$ clinfo -l

Platform #0: Intel Gen OCL Driver
 `-- Device #0: Intel(R) HD Graphics IvyBridge GT2
Platform #1: Portable Computing Language
 `-- Device #0: pthread-Intel(R) Core(TM) i3-3225 CPU @ 3.30GHz
Platform #2: Clover


Появилась платформа №0 Intel Gen OCL Driver, с устройством "Intel(R) HD Graphics IvyBridge GT2"

Платформа №1 - это для ускорения на обычных процессорах, доступна через POCL и она теперь у меня присутствует постоянно, чтобы иметь возможность.

Видны остатки (№2) от установки под AMD, но не работают, что удивительно, пока нет плат с поддержкой и AMD и Intel процессоров.


Быстрый тест, посредством clpeak:


clpeak -p 0
No protocol specified
No protocol specified
No protocol specified
No protocol specified
No protocol specified
No protocol specified
No protocol specified
No protocol specified

Platform: Intel Gen OCL Driver
No protocol specified
No protocol specified
No protocol specified
  Device: Intel(R) HD Graphics IvyBridge GT2
    Driver version  : 1.2 (Linux x64)
    Compute units   : 16
    Clock frequency : 1000 MHz

    Global memory bandwidth (GBPS)
      float   : 10.65
      float2  : 10.99
      float4  : 11.19
      float8  : 11.34
      float16 : 11.15

    Single-precision compute (GFLOPS)
      float   : 189.52
      float2  : 199.95
      float4  : 197.56
      float8  : 194.70
      float16 : 187.21

    No double precision support! Skipped

    Transfer bandwidth (GBPS)
      enqueueWriteBuffer         : 11.28
      enqueueReadBuffer          : 4.96
      enqueueMapBuffer(for read) : 1789569.62
        memcpy from mapped ptr   : 4.96
      enqueueUnmap(after write)  : inf
        memcpy to mapped ptr     : 4.94

    Kernel launch latency : 13.41 us


POCL - ускорение на процессоре Intel i3-3225


Ну и тест ускорения на процессоре общего назначения, посредством POCL:

$ clpeak -p 1

Platform: Portable Computing Language
  Device: pthread-Intel(R) Core(TM) i3-3225 CPU @ 3.30GHz
    Driver version  : 0.13 (Linux x64)
    Compute units   : 4
    Clock frequency : 3300 MHz

    Global memory bandwidth (GBPS)
      float   : 9.21
      float2  : 10.15
      float4  : 10.59
      float8  : 10.19
      float16 : 9.89

    Single-precision compute (GFLOPS)
      float   : 25.59
      float2  : 4.35
      float4  : 13.06
      float8  : 25.98
      float16 : 51.14

    Transfer bandwidth (GBPS)
      enqueueWriteBuffer         : 11.55
      enqueueReadBuffer          : 4.92
      enqueueMapBuffer(for read) : 766958.44
        memcpy from mapped ptr   : 4.91
      enqueueUnmap(after write)  : inf
        memcpy to mapped ptr     : 4.88

    Kernel launch latency : 0.54 us


Заключение


Видно заметное ускорение расчётов с одиночной точностью на встроенном графическом ядре Intel IvyBridge GT2.
Это радует, т.к. приближает параллельные вычисления к обычному домашнему пользователю.


※※※
 

Ресурсы


1. Beignet. https://www.freedesktop.org/wiki/Software/Beignet/

2. Portable Computing Language (PoCL). http://portablecl.org/


※※※

Комментариев нет: