forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Болтовня (http://forum.boolean.name/forumdisplay.php?f=25)
-   -   Тест OpenCL (http://forum.boolean.name/showthread.php?t=20464)

DarkInside 02.11.2016 01:30

Тест OpenCL
 
Разбираюсь в вычислениях на GPU. И как-то всё запутано. Судя по тестам, разные видюхи показывают совершенно разные результаты с OpenCL и CUDA. А для кодирования/декодирования видео вообще говорят Intel с их Quick Sync всех порвет.
Интересует вопрос выбора видеокарты и технологий под:
а) преобладающие int вычисления
б) преобладающие float вычисления
в) преобладающие double вычисления
Как я понял (точнее совсем ничего не понял), для float CUDA быстрее, чем OpenCL, но для double лучше AMD брать (соответственно OpenCL)?
Не могу понять, какие параметры видеокарты на какие виды вычислений влияют?
В архиве тест OpenCL с преобладающими int и float, потестите, кому не лень. https://yadi.sk/d/jMMvIEK4xxEqa
Запускал на двух ноутах:
GT650M - 73 сек
GT840M - 80 сек
i7 3612QM - 92 сек
i5 5200U - 80 сек (тут тоже не понял, почему i5 быстрее 4-ядерного i7)
То есть слабенькие ноутбучные видюхи практически никакого прироста не дают по сравнению с i5/i7. С CUDA что-то изменится?
Пошел запускать на серваке:
Tesla C2075 - 8 сек :4to: в 10 раз прирост (а по гигафлопсам у теслы 1288 против 640 у 650M), хотя Tesla же заточена на double, количество cuda ядер примерно такое-же, как на ноутбучной видюхе, частоты даже ниже, чем на ноуте. Что здесь решает? может ширина шины 384 бит против 128 на ноуте? Как влияют 2 Xeon e5 2620, установленные на серваке, на GPU вычисления? К сожалению, на самих xeon тест не получилось запустить.
В общем, надо мне собрать оптимальное железо цена/скорость для int и float вычислений и определиться, какие технологии использовать и на чем считать (cpu или gpu) - в голове пока каша.

Arton 02.11.2016 02:59

Ответ: Тест OpenCL
 
Запустил по умолчанию, Palit GF GTS 450 1 Гб - ~42 сек.

tirarex 02.11.2016 04:01

Ответ: Тест OpenCL
 
i7 6700hq 22.656
gtx960m 40.125

Могу сделать мини сайт, пусть тулза отправляет данные, а там таблица будет

DarkInside 02.11.2016 05:15

Ответ: Тест OpenCL
 
Мда, похоже выигрыш от GPU-вычислений только на топовых десктопных видюхах можно поиметь. В принципе Тесла С2075 можно найти бу на eBay за 14-17 т.р., поставить 2 в SLI и должно считать за 4 сек. Но вот черт его знает, может за эти деньги проще топовый Xeon (или 2) или i7 поставить и оно считать будет также или даже быстрее. Вот был бы какой-нибудь онлайн-сервис, где можно было выбрать различную конфигурацию оборудования и проверить производительность своей проги...пусть даже платный, думаю, им пользовались бы.

Цитата:

Могу сделать мини сайт, пусть тулза отправляет данные, а там таблица будет
Это не моя тулза, полных сходников нет, просто примерно знаю, что и как там рассчитывается и это очень похоже на мою задачу.

ingko 02.11.2016 12:15

Ответ: Тест OpenCL
 
Я вот, тоже не разобрался, как работают CUDA-ядра, и дают ли они вообще какое-нибудь преимущество перед голом рендерингом на CPU. Особой разницы я не заметил. :dontknow:

Mr_F_ 02.11.2016 13:07

Ответ: Тест OpenCL
 
Цитата:

как работают CUDA-ядра, и дают ли они вообще какое-нибудь преимущество перед голом рендерингом на CPU
их много. пикселей/вертексов/треугольников тоже много. параллельность выигрывает.

Nerd 02.11.2016 13:21

Ответ: Тест OpenCL
 
AMD R9 290 - 8 сек
i7-5820K 3.30GHz - 92 сек
GeForce 940M - 77 сек
i3-505U 2.0GHz - 99 сек

DarkInside 02.11.2016 14:55

Ответ: Тест OpenCL
 
Цитата:

AMD R9 290 - 8 сек
Это уже интереснее :super: Похоже правда Nvidia ограничивает OpenCL, чтобы юзали CUDA. У AMD, конечно, ALU больше и частота выше, но не может же Nvidia так отставать.

Цитата:

i7-5820K 3.30GHz - 92 сек - 6 ядер
i7 6700hq 22.656 - 4 ядра
i7 3612QM - 92 сек - 4 ядра
i5 5200U - 80 сек - 2 ядра
Вот это мне совсем непонятно. Интересно посмотреть на что-то типа AMD FX 9590 или A10-7870K.

Цитата:

их много. пикселей/вертексов/треугольников тоже много. параллельность выигрывает.
Думаю, это не совсем так, много подводных камней, благодаря которым 4-ядерный i7 уделывает 484-ядерный GTX.

ingko 02.11.2016 16:21

Ответ: Тест OpenCL
 

Mr_F_ 03.11.2016 11:22

Ответ: Тест OpenCL
 
GTX 970 - 16 сек

Цитата:

Думаю, это не совсем так, много подводных камней, благодаря которым 4-ядерный i7 уделывает 484-ядерный GTX.
зависит от задачи. не стоит забывать ещё, что на видюхах по-прежнему хватает fixed function зашитых в железе быстрых вещей, как то фильтрация, антиалясинг, да даже растеризация треугольников.

tirarex 03.11.2016 13:54

Ответ: Тест OpenCL
 
Цитата:

Сообщение от DarkInside (Сообщение 309657)
Это уже интереснее :super: Похоже правда Nvidia ограничивает OpenCL, чтобы юзали CUDA. У AMD, конечно, ALU больше и частота выше, но не может же Nvidia так отставать.


Вот это мне совсем непонятно. Интересно посмотреть на что-то типа AMD FX 9590 или A10-7870K.


Думаю, это не совсем так, много подводных камней, благодаря которым 4-ядерный i7 уделывает 484-ядерный GTX.


Очень странно,

i7-5820K 3.30GHz - 92 сек - 6 ядер
i7 6700hq 22.656 - 4 ядра

http://cpu.userbenchmark.com/Compare...K/m34954vs2579

RegIon 03.11.2016 14:50

Ответ: Тест OpenCL
 


Как на CPU запустить, а то всегда только на видяхе запускает.

DarkInside 03.11.2016 15:48

Ответ: Тест OpenCL
 
Цитата:

Как на CPU запустить, а то всегда только на видяхе запускает.
Там в списке должно отображаться всё OpenCL-совместимое оборудование, иногда CPU не подхватывается. Качать драйвера с поддержкой OpenCL отсюда отсюда https://software.intel.com/en-us/art...opencl-drivers

UPD: Чем отличаются вычисления на шейдерах GLSL (WebGL использует)?

DarkInside 04.11.2016 04:07

Ответ: Тест OpenCL
 
Вложений: 1
Intel HD Graphics 4000 - 50 сек

Вспомнил, что у меня еще есть встроенная видюха. Установил Intel SDK for OpenCL отсюда https://software.intel.com/en-us/art...opencl-drivers
Там же есть программа для обновления драйверов Intel (для тех, у кого OpenCL не видит CPU).
После перезагрузки в списке появился еще один i7 (но это с видюхой). Встроенная HD Graphics 4000 уделала дискретную GT 650M. Я теперь не уверен, с какой видюхой запускать тяжелые приложения и вообще нужна ли дискретная видеокарточка на ноутбуке. Пойду теперь качать драйвера и SDK Nvidia.

Возможно i7 6700hq - 22.656 как раз с графическим ядром был запущен (HD Graphics 530), а i7-5820K 3.30GHz - 92 сек - чистый CPU без встроенного видеоядра.

Головоломка разгадана :-)

DarkInside 04.11.2016 05:06

Ответ: Тест OpenCL
 
Вложений: 1
Едрить колотить, обновил драйверы Nvidia - минус 5 сек.

В общем, если писать пользовательское приложение с OpenCL, надо писать еще один менеджер, который будет проводить тест, какое оборудование работает быстрее и на нём запускать, постоянно проверять новые драйверы и если новые драйверы работают медленнее, то откатываться на старые. Вообще непонятно, какой без этого всего толк и почему профессиональный софт от Adobe и Autodesk этого не делает.

А тут еще всплывают всякие альтернативы OpenCL типа DirectCompute и шейдерные GLSL-вычисления и разница производительности при использовании разных технологий на разном железе скачет в 10 раз и вообще не предсказуема, ибо регулируется не характеристиками железа, а маркетинговыми соображениями.

В общем, полный бардак.


Часовой пояс GMT +4, время: 19:54.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot