Форум программистов, компьютерный форум, киберфорум
Наши страницы
OpenCL
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.64/28: Рейтинг темы: голосов - 28, средняя оценка - 4.64
snake32
1642 / 1096 / 191
Регистрация: 26.02.2009
Сообщений: 4,062
Записей в блоге: 5
#1

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

14.08.2014, 15:35. Просмотров 5535. Ответов 99
Метки нет (Все метки)

Доброго времени!
Написал тест для будущих расчётов с использованием 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/fbc8ee636508/OCL_TEST.rar
Распаковать архив полностью и запусить ехе
Обязательно укажите проц.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2014, 15:35
Ответы с готовыми решениями:

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

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

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

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

видеокарта openCL / cuda
Хочу научиться программировать с использованием gpu. Что по-вашему на данный...

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

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

Добавлено через 11 минут
Если считать классическим методом такое же кол-во профилей/трасс, то одно ядро проца считалось бы минут 25
0
ussrex
178 / 153 / 8
Регистрация: 26.12.2012
Сообщений: 676
14.08.2014, 22:58 #6
А-а-а! Все ясно, как божий день ("Полицейская академия").
А то я уж думал, что считаю объем сферического коня в вакууме ��
1
snake32
1642 / 1096 / 191
Регистрация: 26.02.2009
Сообщений: 4,062
Записей в блоге: 5
15.08.2014, 14:33  [ТС] #7
Цитата Сообщение от 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 #8
Да ладно, я просто улыбнулся. А выражение это из первой серии, когда коменданту предложили избавиться от неудобных кадетов и спросили, понял ли он, что от него требуется. (Ну тут возможны вариации перевода).

Добавлено через 2 минуты
Если еще чем помочь могу в плане потестить, милости просим, можно прямо в личку.
1
_lunar_
1402 / 1340 / 181
Регистрация: 03.05.2011
Сообщений: 3,092
Завершенные тесты: 1
15.08.2014, 16:31 #9
HD7850 + i5-3470
процессор так и не смог пройти тест - при старте быстро вылазят несколько консольных окон и закрываются. Программа входит в ступор и висит, загружая процессор на 100% (ждал около 5 минут)
1
Миниатюры
Производительность OpenCL   Производительность OpenCL  
snake32
1642 / 1096 / 191
Регистрация: 26.02.2009
Сообщений: 4,062
Записей в блоге: 5
15.08.2014, 18:02  [ТС] #10
Цитата Сообщение от _lunar_ Посмотреть сообщение
процессор так и не смог пройти тест
Походу дрова не свежие для Intel OpenCL
Я использую такие(Win7 x64):
https://cloud.mail.ru/public/7d38098..._x64_setup.msi

Добавлено через 8 минут
30 секунд для HD 7850? хм я ожидал большего. Какие дрова 14,4?
Видимо кроме кол-ва шейдеров сильно влияют ещё какие-то блоки. Например TMU
0
K2K
Дивананалитикаиксперд
7731 / 6415 / 671
Регистрация: 08.01.2013
Сообщений: 23,479
15.08.2014, 18:04 #11
Цитата Сообщение от snake32 Посмотреть сообщение
обладатели карт и готовые скачать и запустить тест( ~30 Мбайт ):
GeForce GTX 780
Завтра постараюсь сделать. Думаю, чтоб догнать HD 7970 в OpenCL, тут титан блек нужен.
0
snake32
1642 / 1096 / 191
Регистрация: 26.02.2009
Сообщений: 4,062
Записей в блоге: 5
15.08.2014, 18:09  [ТС] #12
Если кому интересно, код ядра:
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
InsomniaNsk
745 / 723 / 56
Регистрация: 13.02.2014
Сообщений: 4,139
15.08.2014, 23:11 #13
i5-3570k @ 4200, GTX 660 Ti @ 1136/6108
1
Миниатюры
Производительность OpenCL  
K2K
Дивананалитикаиксперд
7731 / 6415 / 671
Регистрация: 08.01.2013
Сообщений: 23,479
16.08.2014, 07:34 #14
Производительность OpenCL


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

Не по теме:

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

1
snake32
1642 / 1096 / 191
Регистрация: 26.02.2009
Сообщений: 4,062
Записей в блоге: 5
16.08.2014, 11:40  [ТС] #15
Цитата Сообщение от K2K Посмотреть сообщение
Если надо, кину координаты.
Кидай. Уж больно интересен результат.
0
K2K
16.08.2014, 12:10
  #16

Не по теме:

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

0
K2K
16.08.2014, 13:49
  #17

Не по теме:

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

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

0
K2K
Дивананалитикаиксперд
7731 / 6415 / 671
Регистрация: 08.01.2013
Сообщений: 23,479
16.08.2014, 14:58 #18
Если кому интересно, то беседа с товарищем складывается не очень благоприятно. Почитать можно отсюда, ссылка в txt - 111.txt Ну и если он таки сподобится, то думаю, что выложит результат там же. Такие вот они нежные, владельцы черных титанов
1
dimank666
5787 / 3560 / 164
Регистрация: 29.08.2011
Сообщений: 24,556
Записей в блоге: 1
16.08.2014, 18:18 #19
8320@4000 + 270X
так я тут, и мой 8 литровый движок тоже

значит так после того как поставил обновленный драйвер то появилась еще одна строка с выбором в вашей программе отличие только в памяти у одного процессора 2048 у другого 2047(и этот быстрее как видно)
1
Миниатюры
Производительность OpenCL  
K2K
Дивананалитикаиксперд
7731 / 6415 / 671
Регистрация: 08.01.2013
Сообщений: 23,479
16.08.2014, 18:28 #20
Цитата Сообщение от dimank666 Посмотреть сообщение
после того как поставил обновленный драйвер то появилась еще одна строка с выбором в вашей программе отличие только в памяти у одного процессора 2048 у другого 2047(и этот быстрее как видно)
Блин, опять амд что-то мухлюет (шучу, шучу). Но разница не кислая А вот результат блека, самому уже интересен. snake32, могу попросить камрадов на 290/290Х прогнать, мож кто откликнется. Интересует?
0
16.08.2014, 18:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.08.2014, 18:28

Границы поверхностей OpenCL
Необходимо определить границы поверхностей по изображению, как это можно...

Opencl в go ? Существуют ли решения ?
Есть задача перевести вычисления Scrypt, sha256 , pbkdf2 на opencl для...

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru