Для платформы 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
$ 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:
$ 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/
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/
※※※
※
Комментариев нет:
Отправить комментарий