Форум программистов, компьютерный форум, киберфорум
OpenCL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/244: Рейтинг темы: голосов - 244, средняя оценка - 4.90
 Аватар для snake32
3502 / 1685 / 236
Регистрация: 26.02.2009
Сообщений: 8,368
Записей в блоге: 6

Производительность OpenCL

14.08.2014, 15:35. Показов 55882. Ответов 474
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени!
Написал тест для будущих расчётов с использованием OpenCL и проверил на разных системах:
( дрова для AMD 14.4; для nVidia 340.52 )

Radeon HD 7970(2048/925MHz; 384bit; 3Gb/5GHz) и CPU AMD 8120 справились за 4.3 секунды
GeForce GTX 760(1152/980MHz; 256bit; 4Gb/6GHz) и CPU Intel Q9450 справились за 22.5 секунд
GeForce GTS 450(192/750MHz; 128bit; 2Gb/??) и CPU Intel i7 2600 справились за 46.0 секунд
GeForce GT 520M(48/740MHz; 64bit; 2Gb/??) и CPU Intel 2630QM справились за 117.0 секунд

Интересен слив GTX 760 который оказался в 5,2 раза медленней(хотя по цене так не скажешь). Похоже дело в двойной точности(DP) которая у GeForce урезана маркетологами до 1/24 от производительности одинарной точности(SP). Хотя на титанах говорят оставили полную поддержку 1/3 как в Tesla'x(нужно включать спец галочку в дровах). У всех радиков вроде 1/2.
Ну и плюс к этому, наверное, сам OpenCL драйвер не лучшим образом реализован ибо есть своя CUDA, которая при всех остальных равных не нужна будет ни кому.

Поэтому интересуют тесты либо на более слабых радеонах, либо на топовых джифорсах. А лучше и те и те и побольше!
Ищутся счастливые обладатели карт и готовые скачать и запустить тест( ~30 Мбайт ):
GeForce GTX 780(с TI или без)
GeForce GTX TITAN(с BLACK EDITION или без)
Radeon R9 290( с Х или без ) - для этих карт наверно уже результат будет больше зависеть от CPU
Ну и любые другие радики не старше HD 7000.


https://cloud.mail.ru/public/f... L_TEST.rar
Распаковать архив полностью и запусить ехе
Обязательно укажите проц.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.08.2014, 15:35
Ответы с готовыми решениями:

OpenCL на С++
Здравствуйте, уважаемые форумчани. Стоит задача написать знаменитую GameOfLife на С++ с использованием аппаратных средств видеокарты...

OpenCL на OS X
Ребят, помогите разобраться как начать работать с OpenCL на OS X? Не понимаю что и где надо скачать и поставить что бы начать работу.

Программа в OpenCL
Братцы, сроки поджимают и нужно закончить программульку одну. В общем, делал-делал и пришёл я к тупику на данном этапе... не знаю,...

474
 Аватар для ussrex
178 / 153 / 8
Регистрация: 26.12.2012
Сообщений: 676
14.08.2014, 19:11
Вот
Миниатюры
Производительность OpenCL   Производительность OpenCL  
1
 Аватар для snake32
3502 / 1685 / 236
Регистрация: 26.02.2009
Сообщений: 8,368
Записей в блоге: 6
14.08.2014, 19:54  [ТС]
ussrex, Сильный проц! Так как 760 это вроде тот же 670 то дополнительные 2-3 секунды выигрыша очевидно принёс именно проц.

Добавлено через 2 минуты
Страшно представить i7 + Radeon
0
 Аватар для ussrex
178 / 153 / 8
Регистрация: 26.12.2012
Сообщений: 676
14.08.2014, 20:59
А чего он (тест, то бишь) считает хоть?
0
 Аватар для snake32
3502 / 1685 / 236
Регистрация: 26.02.2009
Сообщений: 8,368
Записей в блоге: 6
14.08.2014, 22:52  [ТС]
Тест читает процент воды на трассе между 2-мя точками. Таких трасс в данном тесте более 4.5 млн штук

Добавлено через 11 минут
Если считать классическим методом такое же кол-во профилей/трасс, то одно ядро проца считалось бы минут 25
0
 Аватар для ussrex
178 / 153 / 8
Регистрация: 26.12.2012
Сообщений: 676
14.08.2014, 22:58
А-а-а! Все ясно, как божий день ("Полицейская академия").
А то я уж думал, что считаю объем сферического коня в вакууме ��
1
 Аватар для snake32
3502 / 1685 / 236
Регистрация: 26.02.2009
Сообщений: 8,368
Записей в блоге: 6
15.08.2014, 14:33  [ТС]
Цитата Сообщение от ussrex Посмотреть сообщение
А-а-а! Все ясно, как божий день ("Полицейская академия").
=) Что конкретно не ясно? Могу подробнее рассказать
Кстати, Полицейскую академию смотрел все части и не одни раз, но такого выражения не помню.

Цитата Сообщение от ussrex Посмотреть сообщение
А то я уж думал, что считаю объем сферического коня в вакууме
Не... это реальная задача(точнее малая часть её) на реальных исходных данных

Говорят, что в новой архитектуре Maxwel от nVidia по мимо увеличения энергоэффективности сделали упор и в сторону "не-графческих" вычислений. За счёт чего я так и не понял. Или это только слухи...
Примечательно то что карты с таким чипом уже есть в продаже GeForce GTX 750 TI( 640/1GHz; 128bit; 2Gb/5.4GHz )
По количественным характеристикам не впечатляет. Но затестил бы её с удовольстием.
0
 Аватар для ussrex
178 / 153 / 8
Регистрация: 26.12.2012
Сообщений: 676
15.08.2014, 14:54
Да ладно, я просто улыбнулся. А выражение это из первой серии, когда коменданту предложили избавиться от неудобных кадетов и спросили, понял ли он, что от него требуется. (Ну тут возможны вариации перевода).

Добавлено через 2 минуты
Если еще чем помочь могу в плане потестить, милости просим, можно прямо в личку.
1
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
15.08.2014, 16:31
HD7850 + i5-3470
процессор так и не смог пройти тест - при старте быстро вылазят несколько консольных окон и закрываются. Программа входит в ступор и висит, загружая процессор на 100% (ждал около 5 минут)
Миниатюры
Производительность OpenCL   Производительность OpenCL  
1
 Аватар для snake32
3502 / 1685 / 236
Регистрация: 26.02.2009
Сообщений: 8,368
Записей в блоге: 6
15.08.2014, 18:02  [ТС]
Цитата Сообщение от _lunar_ Посмотреть сообщение
процессор так и не смог пройти тест
Походу дрова не свежие для Intel OpenCL
Я использую такие(Win7 x64):
https://cloud.mail.ru/public/7... _setup.msi

Добавлено через 8 минут
30 секунд для HD 7850? хм я ожидал большего. Какие дрова 14,4?
Видимо кроме кол-ва шейдеров сильно влияют ещё какие-то блоки. Например TMU
0
дивананалитикаиксперд
 Аватар для K2K
14916 / 10728 / 911
Регистрация: 08.01.2013
Сообщений: 38,225
15.08.2014, 18:04
Цитата Сообщение от snake32 Посмотреть сообщение
обладатели карт и готовые скачать и запустить тест( ~30 Мбайт ):
GeForce GTX 780
Завтра постараюсь сделать. Думаю, чтоб догнать HD 7970 в OpenCL, тут титан блек нужен.
0
 Аватар для snake32
3502 / 1685 / 236
Регистрация: 26.02.2009
Сообщений: 8,368
Записей в блоге: 6
15.08.2014, 18:09  [ТС]
Если кому интересно, код ядра:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
__constant double rzem = 6371.1;
__constant double eps   = 1e-9;
__constant sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP_TO_EDGE | CLK_FILTER_NEAREST;
__constant uchar wt_water_bit = 128;
__constant uchar wt_cold_bit = 2;
 
__kernel void keGroundWaterCountOne(__global double2 * pgws,
                                                                        __global double2 * da,
                                                                        __global double * steps,
                                                                        __global int * isteps,
                                                                        const int iter,
                                                                        const double2 station,
                                                                        const int4 map_param, 
                                                                        __read_only image3d_t map
                                                                    )
{
    int ipoint = get_global_id(0);
    if( iter >= isteps[ipoint] )
        return;
 
    double2 coord;
    double ar = radians( da[ipoint].y );
    double dist = iter * steps[ipoint];
    double c3 = dist / rzem;
    if( c3 < eps )
    {
            coord = station;
    } else
    {
        double sinar = sin( ar );
        double sinc3 = sin( c3 );
        double PiSubSt = radians( 90.0 - station.y );
        double dd = atan( sinar /( sin(PiSubSt)/(sinc3/cos(c3)) - cos(PiSubSt)*cos(ar) ));
        double ss = sinc3*sinar / sin(dd);
        if( ss >= 1.0 )
        {
                ss = 90.0;
        } else
        {
                if( ss <= -1.0 )
                {
                    ss = 270.0;
                }else
                {
                    ss = degrees( atan( ss / sqrt( 1.0 - ss*ss )));
                }
        }
        coord = (double2)( station.x + degrees(dd), 90.0 - ss );
        if( coord.x < -180.0 )
                coord.x += 360.0;
        if( coord.x >= 180.0 )
                coord.x -= 360.0;
    }
        
    double2 d = (double2)( coord.x + 180.0, 90.0 - coord.y );
    int2 tile = convert_int2( d );
    double2 norm = d - convert_double2( tile );
    int2 m = tile - map_param.xy;   
    int z = m.y * map_param.z + m.x;
    int2 p = convert_int2( norm * (double2)( get_image_width( map ), get_image_height( map ) ));
        
    uchar v0 = read_imagei( map, sampler, (int4)( p.x, p.y, z, 0 ) ).x; 
        
    if( v0 & wt_water_bit )
    {
            if( v0 & wt_cold_bit )
            {
                pgws[ipoint].x += 1;//water_cold++;
            } else
            { 
                pgws[ipoint].y += 1;//water_hot++;
            }
    }
}
Добавлено через 4 минуты
Как видно много DP(double precision) кода + 1 read_imagei, который нагружает TMU.
Цитата Сообщение от K2K Посмотреть сообщение
Думаю, чтоб догнать HD 7970 в OpenCL, тут титан блек нужен.
Да. Ещё бы найти владельца титана.
0
Эксперт Hardware
 Аватар для InsomniaNsk
6266 / 3703 / 313
Регистрация: 13.02.2014
Сообщений: 13,670
15.08.2014, 23:11
i5-3570k @ 4200, GTX 660 Ti @ 1136/6108
Миниатюры
Производительность OpenCL  
1
дивананалитикаиксперд
 Аватар для K2K
14916 / 10728 / 911
Регистрация: 08.01.2013
Сообщений: 38,225
16.08.2014, 07:34


Интересно, будет ли понт от 8ки

Не по теме:

Цитата Сообщение от snake32 Посмотреть сообщение
Да. Ещё бы найти владельца титана.
Да это не проблема, но прогнать тест сам проси. Если надо, кину координаты.

1
 Аватар для snake32
3502 / 1685 / 236
Регистрация: 26.02.2009
Сообщений: 8,368
Записей в блоге: 6
16.08.2014, 11:40  [ТС]
Цитата Сообщение от K2K Посмотреть сообщение
Если надо, кину координаты.
Кидай. Уж больно интересен результат.
0
16.08.2014, 12:10

Не по теме:

Цитата Сообщение от snake32 Посмотреть сообщение
Кидай. Уж больно интересен результат.
На руоверах, есть товарищ remmer29 имеющий черный титан. Его легко найдешь в ветке - Все о GeForce GTX TITAN /GTX 780/GTX 780Ti/GTX TITAN BLACK (GK110. Kepler 28nm)
Ну, или ссылка в txt на его профиль - remmer29.txt
Но, нужна рега на сайте и несколько сообщений, чтоб написать. Ты уж извини, но я ему писать не буду, что-то мы иногда недопонимаем друг-друга :D

0
16.08.2014, 13:49

Не по теме:

Во, по случаю пересеклись. Пока унижаюсь ... :cry: Результата нет :pardon: Надеюсь, не зажопится прогнать, но, гарантий нет.

0
дивананалитикаиксперд
 Аватар для K2K
14916 / 10728 / 911
Регистрация: 08.01.2013
Сообщений: 38,225
16.08.2014, 14:58
Если кому интересно, то беседа с товарищем складывается не очень благоприятно. Почитать можно отсюда, ссылка в txt - 111.txt Ну и если он таки сподобится, то думаю, что выложит результат там же. Такие вот они нежные, владельцы черных титанов
1
Нарушитель
8207 / 5603 / 205
Регистрация: 29.08.2011
Сообщений: 40,724
Записей в блоге: 1
16.08.2014, 18:18
8320@4000 + 270X
так я тут, и мой 8 литровый движок тоже

значит так после того как поставил обновленный драйвер то появилась еще одна строка с выбором в вашей программе отличие только в памяти у одного процессора 2048 у другого 2047(и этот быстрее как видно)
Миниатюры
Производительность OpenCL  
1
дивананалитикаиксперд
 Аватар для K2K
14916 / 10728 / 911
Регистрация: 08.01.2013
Сообщений: 38,225
16.08.2014, 18:28
Цитата Сообщение от dimank666 Посмотреть сообщение
после того как поставил обновленный драйвер то появилась еще одна строка с выбором в вашей программе отличие только в памяти у одного процессора 2048 у другого 2047(и этот быстрее как видно)
Блин, опять амд что-то мухлюет (шучу, шучу). Но разница не кислая А вот результат блека, самому уже интересен. snake32, могу попросить камрадов на 290/290Х прогнать, мож кто откликнется. Интересует?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.08.2014, 18:28
Помогаю со студенческими работами здесь

Работа с OpenCL
Добрый вечер уважаемые форумчане, не мог бы кто нибудь помочь вводным курсом в opencl? Есть задача: сравнить скорость выпонения программы в...

Где скачать OpenCL C++?
Здравствуйте. Где скачать OpenCL C++? Если тут https://www.khronos.org/opencl/ есть, то скажите пожалуйста как скачать. Не нашел...

OpenCL в Builder и не только
Все добрый день! На данный момент встала проблема анализа огромного массива данных, времени неделя, а скорость обработки очень мала......

Глобальная переменная в OpenCL
Всем привет! Кто может подсказать как правильно создать глобальную переменную в OpenCL? unsigned char *globalVariable; __kernel...

OpenCL - ошибка 0xc0000005
Есть прога и использованием OpenCL - модель солнечной системы Проблема одна - чем больше частиц, тем быстрее вылетает в разных частях...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru