Российские распределенные вычисления на платформе BOINC
Форум участников распределённых вычислений.

Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

7 Страницы123>»
Опции
К последнему сообщению К первому непрочитанному
Offline evatutin  
#1 Оставлено : 14 августа 2013 г. 16:12:05(UTC)
evatutin


Статус: Старожил

Медали: Первооткрывателю: Результат в проекте SAT@homeРазработчику: За организацию проекта Gerasim@home

Группы: Editors, Member
Зарегистрирован: 08.06.2010(UTC)
Сообщений: 3,603
Откуда: Russia, Kursk

Сказал(а) «Спасибо»: 1010 раз
Поблагодарили: 1766 раз в 861 постах
http://evatutin.narod.ru..._GPU_matrix_mult_test.7z

Снова прошу помощи с тестированием. В программе запускаются различные варианты кода для умножения матриц 2048х2048, тип элементов float. Особенно интересны результаты на различных NVidia GPU, как современных, так и не очень smile. В данной задаче заранее известен объем необходимых вычислений, поэтому можно посчитать реальную производительность CPU и GPU в GFLOP/s'ах. На похожей задаче работает Linpack, по результатам которого строится TOP500, только там матрицы побольше и алгоритм заточен несколько под другое железо.

Во время тестирования (1-2 мин) желательно приостановить BOINC и не создавать другой активности на компьютере, т.к. тесты CPU упираются в объем доступной кэш-памяти, а любая активность очень здорово по этому ударяет. Прошу указывать модель процессора, на котором была запущена программа. Заранее спасибо! Present

На всякий случай оговорюсь, что в коде представлены не все возможные варианты (нет векторизации, многопоточности, распределенной обработки, поддержки нескольких GPU и т.п.) — не все сразу smile

kvt.kurskstu team founder
Gerasim@home scientist
My numbers are 5056994653507584 and 1835082219864832081920. Why not? smile
Offline tiano  
#2 Оставлено : 14 августа 2013 г. 17:03:00(UTC)
tiano


Статус: Старожил

Группы: Member
Зарегистрирован: 21.11.2012(UTC)
Сообщений: 995
Мужчина
Российская Федерация
Откуда: Иркутск

Сказал «Спасибо»: 80 раз
Поблагодарили: 114 раз в 91 постах
Автор: evatutin Перейти к цитате
Прошу указывать модель процессора, на котором была запущена программа.


почему программ не может автоматом запросить тип процессора?
signature.statseb.fr
Offline tiano  
#3 Оставлено : 14 августа 2013 г. 17:44:25(UTC)
tiano


Статус: Старожил

Группы: Member
Зарегистрирован: 21.11.2012(UTC)
Сообщений: 995
Мужчина
Российская Федерация
Откуда: Иркутск

Сказал «Спасибо»: 80 раз
Поблагодарили: 114 раз в 91 постах
CPU and GPU CUDA matrix multiplication test (2048x2048, float), v1.0
(c) Eduard I. Vatutin
WWW: http://evatutin.narod.ru
e-mail: evatutin@rambler.ru
ICQ: 203-229-391

CPU frequency is... 3.2927GHz
GPU: GeForce GT 640M
CPU: Intel Core i3-3220 CPU @ 3.30GHz

CPU TESTS
CPU time (column buffer using): time = 3914.8 ms, perf = 4.4 GFLOP/s
CPU time (blocks 32x32, unroll to 4): time = 3874.9 ms, perf = 4.4 GFLOP/s

GPU TESTS
GPU simple: time = 234.8 ms, perf = 73.2 GFLOP/s
GPU (blocks 32x32): time = 0.1 ms, perf = 237235.8 GFLOP/s
GPU (blocks 32x16, 2 loads per thread): time = 0.1 ms, perf = 303524.5 GFLOP/s
GPU (blocks 32x8, 4 loads per thread): time = 0.1 ms, perf = 266287.1 GFLOP/s
GPU (blocks 32x4, 8 loads per thread): time = 0.1 ms, perf = 308064.8 GFLOP/s

Done

Windows 8.1 драйвер 320.49 остановка видиодрайвера по окончанию теста. Остановка видиодрайвера при закртытии програмы
signature.statseb.fr
Offline tiano  
#4 Оставлено : 14 августа 2013 г. 17:45:34(UTC)
tiano


Статус: Старожил

Группы: Member
Зарегистрирован: 21.11.2012(UTC)
Сообщений: 995
Мужчина
Российская Федерация
Откуда: Иркутск

Сказал «Спасибо»: 80 раз
Поблагодарили: 114 раз в 91 постах
CPU and GPU CUDA matrix multiplication test (2048x2048, float), v1.0
(c) Eduard I. Vatutin
WWW: http://evatutin.narod.ru
e-mail: evatutin@rambler.ru
ICQ: 203-229-391

CPU frequency is... 2.49244GHz
GPU: GeForce GT 555M
CPU: Core i5-2450M CPU @ 2.50GHz

CPU TESTS
CPU time (column buffer using): time = 4585.2 ms, perf = 3.7 GFLOP/s
CPU time (blocks 32x32, unroll to 4): time = 4492.3 ms, perf = 3.8 GFLOP/s

GPU TESTS
GPU simple: time = 610.0 ms, perf = 28.2 GFLOP/s
GPU (blocks 32x32): time = 0.1 ms, perf = 275901.3 GFLOP/s
GPU (blocks 32x16, 2 loads per thread): time = 0.1 ms, perf = 308495.4 GFLOP/s
GPU (blocks 32x8, 4 loads per thread): time = 0.1 ms, perf = 306513.4 GFLOP/s
GPU (blocks 32x4, 8 loads per thread): time = 0.1 ms, perf = 146146.2 GFLOP/s

Done

Windows 7 драйвер 320.49 остановка видеодрайвера по окончанию теста.

Отредактировано пользователем 14 августа 2013 г. 18:23:13(UTC)  | Причина: Не указана

signature.statseb.fr
Offline tiano  
#5 Оставлено : 14 августа 2013 г. 17:46:38(UTC)
tiano


Статус: Старожил

Группы: Member
Зарегистрирован: 21.11.2012(UTC)
Сообщений: 995
Мужчина
Российская Федерация
Откуда: Иркутск

Сказал «Спасибо»: 80 раз
Поблагодарили: 114 раз в 91 постах
CPU and GPU CUDA matrix multiplication test (2048x2048, float), v1.0
(c) Eduard I. Vatutin
WWW: http://evatutin.narod.ru
e-mail: evatutin@rambler.ru
ICQ: 203-229-391

CPU frequency is... 2.39474GHz сработал turbo boost
GPU: GeForce GT 640M
CPU: Intel Core i7-3517U CPU @ 1.90GHz

CPU TESTS
CPU time (column buffer using): time = 4173.8 ms, perf = 4.1 GFLOP/s
CPU time (blocks 32x32, unroll to 4): time = 4244.5 ms, perf = 4.0 GFLOP/s

GPU TESTS
GPU simple: time = 376.1 ms, perf = 45.7 GFLOP/s
GPU (blocks 32x32): time = 0.2 ms, perf = 90314.6 GFLOP/s
GPU (blocks 32x16, 2 loads per thread): time = 0.1 ms, perf = 126290.3 GFLOP/s
GPU (blocks 32x8, 4 loads per thread): time = 0.1 ms, perf = 116502.1 GFLOP/s
GPU (blocks 32x4, 8 loads per thread): time = 0.1 ms, perf = 129334.3 GFLOP/s

Done

Windows 8.1 драйвер 326.41 остановка видиодрайвера по окончанию теста. Крах системы, синий экран при закртытии програмы

Отредактировано пользователем 14 августа 2013 г. 18:23:21(UTC)  | Причина: Не указана

signature.statseb.fr
Offline astronom  
#6 Оставлено : 14 августа 2013 г. 22:10:57(UTC)
astronom


Статус: Старожил

Группы: Member, Russia Team Group
Зарегистрирован: 27.07.2008(UTC)
Сообщений: 2,192
Откуда: РФ, Подольск

Сказал(а) «Спасибо»: 133 раз
Поблагодарили: 176 раз в 152 постах
да, тоже в Win7 x32 крах видеодрайвера заполучил.
Не получается
Под линуксами бы потестить. Present
Offline hoarfrost  
#7 Оставлено : 14 августа 2013 г. 22:43:30(UTC)
hoarfrost


Статус: Старожил

Медали: Переводчику: За помощь в создании сайтаРазработчику: За разработку приложения CluBORunДонор: За финансовую помощь сайту

Группы: Editors, Member, Administration, Moderator Crystal Dream, Moderators, Crystal Dream Group
Зарегистрирован: 05.10.2007(UTC)
Сообщений: 8,351
Мужчина
Откуда: Crystal Dream

Сказал «Спасибо»: 1228 раз
Поблагодарили: 1678 раз в 1066 постах
Запустил. Загружается 1 ядро из 6.

CPU and GPU CUDA matrix multiplication test (2048x2048, float), v1.0
(c) Eduard I. Vatutin
WWW: http://evatutin.narod.ru
e-mail: evatutin@rambler.ru
ICQ: 203-229-391

CPU frequency is... 3.84054GHz
GPU: P☺►

CPU TESTS
CPU time (column buffer using): time = 6919.9 ms, perf = 2.5 GFLOP/s
CPU time (blocks 32x32, unroll to 4): time = 5481.2 ms, perf = 3.1 GFLOP/s

GPU TESTS
GPU simple: time = 0.1 ms, perf = 245219.9 GFLOP/
s
GPU (blocks 32x32): time = 0.1 ms, perf = 266012.0 GFLOP/
s
GPU (blocks 32x16, 2 loads per thread): time = 0.1 ms, perf = 265568.4 GFLOP/
s
GPU (blocks 32x8, 4 loads per thread): time = 0.1 ms, perf = 246468.2 GFLOP/
s
GPU (blocks 32x4, 8 loads per thread): time = 0.1 ms, perf = 256615.2 GFLOP/
s

Done
UserPostedImage
Offline evatutin  
#8 Оставлено : 14 августа 2013 г. 23:00:53(UTC)
evatutin


Статус: Старожил

Медали: Первооткрывателю: Результат в проекте SAT@homeРазработчику: За организацию проекта Gerasim@home

Группы: Editors, Member
Зарегистрирован: 08.06.2010(UTC)
Сообщений: 3,603
Откуда: Russia, Kursk

Сказал(а) «Спасибо»: 1010 раз
Поблагодарили: 1766 раз в 861 постах
tiano написал:
почему программ не может автоматом запросить тип процессора?


В принципе, я могу добавить в код опрос по CPUID (у меня отдельная программулина есть), она выдает примерно следующее:

Код:
Vendor = GenuineIntel
Version info = 306C3h
Stepping ID = 3h
Model = Ch
Family = 6h
Processor type = 0h
Extended model = 3h
Extended family = 00h


Ну и флаги поддержки всяких расширений получить можно:

Код:
Brand index = 00h
CLFLUSH line size = 040h
Logical processors per phisical = 10h
Local APIC ID = 06h
Feature information = BFEBFBFFh
FPU = 1
Virtual mode extensions (VME) = 1
Debugging extensions (DE) = 1
Page size extensions (PSE1) = 1
TSC = 1
RDMSR and WRMSR support (MSR) = 1
Phisical address extensions (PAE) = 1
Machine check exeption (MCE) = 1
CMPXCHG8B instruction = 1
APIC on chip = 1
SYSENTER and SYSEXIT (SEP) = 1
Memoty type range registers (MTRR) = 1
PTE global bit (PGE) = 1
Machine check architecture (MCA) = 1
Conditional move/compare instructions (CMOV) = 1
Page attribute table (PAT) = 1
Page size extension (PSE2) = 1
Processor serial number (PSN) = 0
CLFLUSH instruction = 1
Debug store (DS) = 1
Termal monitor and clock ctrl (ACPI) = 1
MMX = 1
FXSAVE/FXRSTOR (FXSR) = 1
SSE = 1
SSE2 = 1
Self snoop (SS) = 1
HTT = 1
Termal monitor (TM) = 1
Pending break enable (PBE) = 1


Получить название процессора в виде Core i7 4770, насколько я помню, через CPUID нельзя, нужно будет искать, чему соответствует комбинация Vendor & Version Info (поправьте, если я не прав). Кроме того, опрос CPUID у меня сделан под Delphi, а умножение матриц — под VCPP, кусок кода на асме надо переписать, в принципе можно, нужно лишь немного времени. Поэтому я у вас и спрашиваю smile

По результатам видно, что:
1. Блочное умножение стабильно отрабатывает с ошибкой sad. У себя успел протестировать на двух видюхаха (GTX 770, GTS 450) — все ОК. Может быть видюха не поддерживает конфигурацию запуска 32х32 потока на блок? Завтра надо будет подумать...
2. Насчет краха видеодрайвера: у меня есть подозрение, что последние дрова от NVidia не особо стабильны. У меня 320.69, остановка драйвера в процессе разработки тоже была, но по другим причинам (другая конфигурация запуска, больше блоков в сетке, меньше потоков в блоке). У меня подозрение, что драйверу под Windows 7 становится плохо после ~3 секунд непрерывной работы CUDA-ядра. На Windows XP ситуация другая: при подобном запуске система просто подвисает на время работы CUDA-ядра (даже мышка не двигается), потом отвисает, расчет заканчивается успешно. Чтобы добиться подобного в обычной программе на CPU, надо изрядно постараться (ring 0, time critical, ...), а с CUDA'ой получается это не так уж и сложно sad

astronom
А лог? Видюха какая?

hoarfrost
Цитата:
Загружается 1 ядро из 6

Правильно, код умножения на CPU пока однопоточный.
У какая у вас видюха? А то что-то программа ее даже не опознала, судя по логу, ни одно ядро корректно не отработало sad

kvt.kurskstu team founder
Gerasim@home scientist
My numbers are 5056994653507584 and 1835082219864832081920. Why not? smile
Offline hoarfrost  
#9 Оставлено : 14 августа 2013 г. 23:07:00(UTC)
hoarfrost


Статус: Старожил

Медали: Переводчику: За помощь в создании сайтаРазработчику: За разработку приложения CluBORunДонор: За финансовую помощь сайту

Группы: Editors, Member, Administration, Moderator Crystal Dream, Moderators, Crystal Dream Group
Зарегистрирован: 05.10.2007(UTC)
Сообщений: 8,351
Мужчина
Откуда: Crystal Dream

Сказал «Спасибо»: 1228 раз
Поблагодарили: 1678 раз в 1066 постах
Автор: evatutin Перейти к цитате
hoarfrost
Цитата:
Загружается 1 ядро из 6

Правильно, код умножения на CPU пока однопоточный.
У какая у вас видюха? А то что-то программа ее даже не опознала, судя по логу, ни одно ядро корректно не отработало sad

GTX 210. laugh1

А чем column buffer using отличается от blocks 32x32?
UserPostedImage
Offline tiano  
#10 Оставлено : 15 августа 2013 г. 2:12:18(UTC)
tiano


Статус: Старожил

Группы: Member
Зарегистрирован: 21.11.2012(UTC)
Сообщений: 995
Мужчина
Российская Федерация
Откуда: Иркутск

Сказал «Спасибо»: 80 раз
Поблагодарили: 114 раз в 91 постах
CPU and GPU CUDA matrix multiplication test (2048x2048, float), v1.0
(c) Eduard I. Vatutin
WWW: http://evatutin.narod.ru
e-mail: evatutin@rambler.ru
ICQ: 203-229-391

CPU frequency is... 2.39374GHz
GPU: GeForce GT 440
CPU: Intel Pentium Dual CPU E2220 @ 2.40GHz

CPU TESTS
CPU time (column buffer using): time = 10295.9 ms, perf = 1.7 GFLOP/s
CPU time (blocks 32x32, unroll to 4): time = 6652.6 ms, perf = 2.6 GFLOP/s

GPU TESTS
GPU simple: time = 7497.1 ms, perf = 2.3 GFLOP/s
GPU (blocks 32x32): time = 772.2 ms, perf = 22.2 GFLOP/s
GPU (blocks 32x16, 2 loads per thread): time = 420.6 ms, perf = 40.8 GFLOP/s
GPU (blocks 32x8, 4 loads per thread): time = 322.4 ms, perf = 53.3 GFLOP/s
GPU (blocks 32x4, 8 loads per thread): time = 277.5 ms, perf = 61.9 GFLOP/s

Done

windows XP 320.49. Тест пройден нормально
signature.statseb.fr
thanks 1 пользователь поблагодарил tiano за этот пост.
evatutin оставлено 15.08.2013(UTC)
Offline sagip  
#11 Оставлено : 15 августа 2013 г. 3:15:07(UTC)
sagip


Статус: Я тут не впервой

Медали: Донор: За финансовую помощь сайту

Группы: Member, Russia Team Group
Зарегистрирован: 12.09.2010(UTC)
Сообщений: 31
Мужчина

Сказал «Спасибо»: 47 раз
Поблагодарили: 6 раз в 5 постах
CPU and GPU CUDA matrix multiplication test (2048x2048, float), v1.0
(c) Eduard I. Vatutin
WWW: http://evatutin.narod.ru
e-mail: evatutin@rambler.ru
ICQ: 203-229-391

CPU frequency is... 2.62423GHz
GPU: GeForce GTX 570
CPU: Intel Core i7-920 CPU @ 2.67GHz

CPU TESTS
CPU time (column buffer using): time = 12202.4 ms, perf = 1.4 GFLOP/s
CPU time (blocks 32x32, unroll to 4): time = 8702.4 ms, perf = 2.0 GFLOP/s

GPU TESTS
GPU simple: time = 1606.5 ms, perf = 10.7 GFLOP/s
GPU (blocks 32x32): time = 141.8 ms, perf = 121.2 GFLOP/s
GPU (blocks 32x16, 2 loads per thread): time = 86.8 ms, perf = 197.8 GFLOP/s
GPU (blocks 32x8, 4 loads per thread): time = 67.2 ms, perf = 255.8 GFLOP/s
GPU (blocks 32x4, 8 loads per thread): time = 56.3 ms, perf = 305.3 GFLOP/s

Windows 7x64 драйвер 320.49. Тест пройден нормально.
thanks 1 пользователь поблагодарил sagip за этот пост.
evatutin оставлено 15.08.2013(UTC)
Offline shar  
#12 Оставлено : 15 августа 2013 г. 13:37:09(UTC)
shar


Статус: Частенько заглядывает

Группы: Member
Зарегистрирован: 13.05.2013(UTC)
Сообщений: 136
Мужчина
Российская Федерация
Откуда: Москва

Сказал «Спасибо»: 5 раз
Поблагодарили: 31 раз в 27 постах
CPU and GPU CUDA matrix multiplication test (2048x2048, float), v1.0
(c) Eduard I. Vatutin
WWW: http://evatutin.narod.ru
e-mail: evatutin@rambler.ru
ICQ: 203-229-391

CPU frequency is... 3.00497GHz
GPU: GeForce GTX 550 Ti
CPU E8400

CPU TESTS
CPU time (column buffer using): time = 7759.9 ms, perf = 2.2 GFLOP/s
CPU time (blocks 32x32, unroll to 4): time = 5177.7 ms, perf = 3.3 GFLOP/s

GPU TESTS
GPU simple: time = 4447.0 ms, perf = 3.9 GFLOP/s
GPU (blocks 32x32): time = 358.0 ms, perf = 48.0 GFLOP/s
GPU (blocks 32x16, 2 loads per thread): time = 193.6 ms, perf = 88.8 GFLOP/s
GPU (blocks 32x8, 4 loads per thread): time = 149.9 ms, perf = 114.6 GFLOP/s
GPU (blocks 32x4, 8 loads per thread): time = 133.0 ms, perf = 129.2 GFLOP/s

А вот результаты довольно известного бенчмарка, основанного на перемножении матриц разными алгоритмами (удвоенная точность). Процессор тот же.
Intel C v.6.0
icl -DWIN32 -w -DN=1000 /Qip /QxW /Qparallel /G7 mm.c /link /OPT:NOWIN98
Matrix Multiply:
1000x1000 mm - normal algorithm 2.8 s 715.1 MFLOPS
1000x1000 mm - temporary variable in loop 2.8 s 714.7 MFLOPS
1000x1000 mm - unrolled inner loop, factor of 8 5.4 s 372.1 MFLOPS
1000x1000 mm - pointers used to access matrices 5.4 s 369.7 MFLOPS
1000x1000 mm - transposed b matrix 1.2 s 1619.9 MFLOPS
1000x1000 mm - interchanged inner loops 1.0 s 1910.2 MFLOPS
1000x1000 mm - blocking, factor of 32 0.9 s 2247.2 MFLOPS
1000x1000 mm - 20x 20 subarray (from T. Maeno) 0.7 s 2755.1 MFLOPS
1000x1000 mm - 20x 20 subarray (from D. Warner) 0.6 s 3200.0 MFLOPS
1000x1000 mm - Robert's algorithm 1.4 s 1406.5 MFLOPS
thanks 1 пользователь поблагодарил shar за этот пост.
evatutin оставлено 15.08.2013(UTC)
Offline AlexA  
#13 Оставлено : 15 августа 2013 г. 17:55:15(UTC)
AlexA


Статус: Administration

Медали: Переводчику: За помощь в создании сайта

Группы: Editors, Member, Administration, Russia Team Group, Moderators
Зарегистрирован: 02.10.2007(UTC)
Сообщений: 6,139
Мужчина
Российская Федерация
Откуда: "Russia Team"

Сказал «Спасибо»: 1248 раз
Поблагодарили: 1515 раз в 837 постах
Почему-то у меня ничего в файл не пишет. Создается пустой файл и никаких результатов там нет Не получается
Offline evatutin  
#14 Оставлено : 15 августа 2013 г. 18:17:38(UTC)
evatutin


Статус: Старожил

Медали: Первооткрывателю: Результат в проекте SAT@homeРазработчику: За организацию проекта Gerasim@home

Группы: Editors, Member
Зарегистрирован: 08.06.2010(UTC)
Сообщений: 3,603
Откуда: Russia, Kursk

Сказал(а) «Спасибо»: 1010 раз
Поблагодарили: 1766 раз в 861 постах
hoarfrost
Цитата:
GTX 210


А попробуйте вот эту: http://evatutin.narod.ru/evatutin_GPU_bandwidth_test.7z. Она у меня давала ошибки только в том случае, если версия дров была старой, без поддержки нужной CUDA compute compatibility

Цитата:
А чем column buffer using отличается от blocks 32x32?


В первом случае в разделяемой памяти кэшируется строка матрицы, во втором — подматрица размером 32x32. Чуть подробнее тут: http://evatutin.livejournal.com/63893.html.

tiano
А как себя машина на E2220 под XP вела во время GPU-тестов? Мышка шевелилась или висела, как у меня на GTS 450 под XP?

shar
А что за бенчмарк? Исходники есть?
Вообще ICL может автоматически векторизовать код (точно) и распараллеливать (скорее всего).
Еще у меня был вопрос, что считать FLOP'ами smile. Если в коде написано

Код:
S += A[I][K]*B[K][J]


то тут формально 2 операции с плавающей точкой: сложение и умножение, т.е. 2 FLOP'а. Если успомнить про FMA-команды, то команда одна, значит наверное и 1 FLOP. Я взял первый вариант, а в коде ниже скорее всего использован второй, хотя кто его знает...

kvt.kurskstu team founder
Gerasim@home scientist
My numbers are 5056994653507584 and 1835082219864832081920. Why not? smile
Offline evatutin  
#15 Оставлено : 15 августа 2013 г. 18:19:05(UTC)
evatutin


Статус: Старожил

Медали: Первооткрывателю: Результат в проекте SAT@homeРазработчику: За организацию проекта Gerasim@home

Группы: Editors, Member
Зарегистрирован: 08.06.2010(UTC)
Сообщений: 3,603
Откуда: Russia, Kursk

Сказал(а) «Спасибо»: 1010 раз
Поблагодарили: 1766 раз в 861 постах
AlexA
А на экран выводит? Enter в конце нажат при запуске из bat'ника?

kvt.kurskstu team founder
Gerasim@home scientist
My numbers are 5056994653507584 and 1835082219864832081920. Why not? smile
Offline AlexA  
#16 Оставлено : 15 августа 2013 г. 18:28:54(UTC)
AlexA


Статус: Administration

Медали: Переводчику: За помощь в создании сайта

Группы: Editors, Member, Administration, Russia Team Group, Moderators
Зарегистрирован: 02.10.2007(UTC)
Сообщений: 6,139
Мужчина
Российская Федерация
Откуда: "Russia Team"

Сказал «Спасибо»: 1248 раз
Поблагодарили: 1515 раз в 837 постах
Автор: evatutin Перейти к цитате
AlexA
А на экран выводит? Enter в конце нажат при запуске из bat'ника?

батник - не выводит, чисто прога всё считает. Насчет Энтера - наверное не нажат Не получается

Offline shar  
#17 Оставлено : 15 августа 2013 г. 19:33:50(UTC)
shar


Статус: Частенько заглядывает

Группы: Member
Зарегистрирован: 13.05.2013(UTC)
Сообщений: 136
Мужчина
Российская Федерация
Откуда: Москва

Сказал «Спасибо»: 5 раз
Поблагодарили: 31 раз в 27 постах
Автор: evatutin Перейти к цитате


shar
А что за бенчмарк? Исходники есть?
Вообще ICL может автоматически векторизовать код (точно) и распараллеливать (скорее всего).
Еще у меня был вопрос, что считать FLOP'ами smile. Если в коде написано

Код:
S += A[I][K]*B[K][J]


то тут формально 2 операции с плавающей точкой: сложение и умножение, т.е. 2 FLOP'а. Если успомнить про FMA-команды, то команда одна, значит наверное и 1 FLOP. Я взял первый вариант, а в коде ниже скорее всего использован второй, хотя кто его знает...


Есть исходники, чуток модифицированные. https://dl.dropboxusercontent.com/u/70536619/mm.rar
Может и векторизовать, и распараллеливать. Первые две строки отчета - распараллелить удалось. Но здесь FMA команды не используются. Код будет работать даже на допневых процессорах. Между прочим, gcc делает код нисколько не хуже (даже допотопный gcc 2.9.2), впрочем и ic 6.0 уже давно старичек.
Насчет flop-oв, IMHO, правильнее 2. Кто же виноват, что иногда несколько инструкций выполняется одной командой. Тогда давай и GPU-шные инструкции считать не по операциям, а по командам - тогда показатели производительности GPU будут меньше на порядки wink
thanks 1 пользователь поблагодарил shar за этот пост.
evatutin оставлено 16.08.2013(UTC)
Offline hoarfrost  
#18 Оставлено : 15 августа 2013 г. 20:48:33(UTC)
hoarfrost


Статус: Старожил

Медали: Переводчику: За помощь в создании сайтаРазработчику: За разработку приложения CluBORunДонор: За финансовую помощь сайту

Группы: Editors, Member, Administration, Moderator Crystal Dream, Moderators, Crystal Dream Group
Зарегистрирован: 05.10.2007(UTC)
Сообщений: 8,351
Мужчина
Откуда: Crystal Dream

Сказал «Спасибо»: 1228 раз
Поблагодарили: 1678 раз в 1066 постах
Автор: evatutin Перейти к цитате
hoarfrost
Цитата:
GTX 210


А попробуйте вот эту: http://evatutin.narod.ru/evatutin_GPU_bandwidth_test.7z. Она у меня давала ошибки только в том случае, если версия дров была старой, без поддержки нужной CUDA compute compatibility

Попробовал:

Цитата:
CUDA memory bandwidth test (block size = 100 MB)
v 1.1
(c) Eduard I. Vatutin
WWW: http://evatutin.narod.ru
e-mail: evatutin@rambler.ru
ICQ: 203-229-391

CPU frequency is... 3.84106 GHz

-858993460 CUDA device(s) found

Error occured: CUDA driver version is insufficient for CUDA runtime version (35)

smile Версия драйверов - 301.42
UserPostedImage
Offline astronom  
#19 Оставлено : 15 августа 2013 г. 20:54:01(UTC)
astronom


Статус: Старожил

Группы: Member, Russia Team Group
Зарегистрирован: 27.07.2008(UTC)
Сообщений: 2,192
Откуда: РФ, Подольск

Сказал(а) «Спасибо»: 133 раз
Поблагодарили: 176 раз в 152 постах
прогнал тест еще раз, после обновления винды, драйвер не упал smile
ну или может быть, лечебная перезагрузка опять что-то починила :alphat:

Процессор Core2Duo E4400
Лог:
CPU and GPU CUDA matrix multiplication test (2048x2048, float), v1.0
(c) Eduard I. Vatutin
WWW: http://evatutin.narod.ru
e-mail: evatutin@rambler.ru
ICQ: 203-229-391

CPU frequency is... 2.02188GHz
GPU: GeForce 8400 GS

CPU TESTS
0 1 2 3 4 5 6 7 8 9 CPU time (column buffer using): time = 14696.1 ms, perf = 1.2 GFLOP/s
0 1 2 3 4 5 6 7 8 9 CPU time (blocks 32x32, unroll to 4): time = 7688.3 ms, perf = 2.2 GFLOP/s

GPU TESTS
0 1 2 3 4 5 6 7 8 9 GPU simple: time = 305.7 ms, perf = 56.2 GFLOP/s
0 1 2 3 4 5 6 7 8 9 GPU (blocks 32x32): time = 0.0 ms, perf = 411949.3 GFLOP/s
0 1 2 3 4 5 6 7 8 9 GPU (blocks 32x16, 2 loads per thread): time = 0.0 ms, perf = 463283.0 GFLOP/s
0 1 2 3 4 5 6 7 8 9 GPU (blocks 32x8, 4 loads per thread): time = 0.0 ms, perf = 511697.5 GFLOP/s
0 1 2 3 4 5 6 7 8 9 GPU (blocks 32x4, 8 loads per thread): time = 0.0 ms, perf = 513459.9 GFLOP/s
thanks 1 пользователь поблагодарил astronom за этот пост.
evatutin оставлено 16.08.2013(UTC)
Offline shar  
#20 Оставлено : 15 августа 2013 г. 23:42:42(UTC)
shar


Статус: Частенько заглядывает

Группы: Member
Зарегистрирован: 13.05.2013(UTC)
Сообщений: 136
Мужчина
Российская Федерация
Откуда: Москва

Сказал «Спасибо»: 5 раз
Поблагодарили: 31 раз в 27 постах
Автор: astronom Перейти к цитате
прогнал тест еще раз, после обновления винды, драйвер не упал smile
ну или может быть, лечебная перезагрузка опять что-то починила :alphat:

GPU TESTS
0 1 2 3 4 5 6 7 8 9 GPU simple: time = 305.7 ms, perf = 56.2 GFLOP/s
0 1 2 3 4 5 6 7 8 9 GPU (blocks 32x32): time = 0.0 ms, perf = 411949.3 GFLOP/s
0 1 2 3 4 5 6 7 8 9 GPU (blocks 32x16, 2 loads per thread): time = 0.0 ms, perf = 463283.0 GFLOP/s
0 1 2 3 4 5 6 7 8 9 GPU (blocks 32x8, 4 loads per thread): time = 0.0 ms, perf = 511697.5 GFLOP/s
0 1 2 3 4 5 6 7 8 9 GPU (blocks 32x4, 8 loads per thread): time = 0.0 ms, perf = 513459.9 GFLOP/s
[/h]


Лучше бы он упал, в этом случае результат был бы корректным. Производительность в полпетафлопса - в TOP100 гарантировано можно попасть wink

Пользователи, просматривающие эту тему
Guest (3)
7 Страницы123>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.

AlexA theme. Created by AlexA
Форум YAF 2.1.1 | YAF © 2003-2018, Yet Another Forum.NET
Страница сгенерирована за 0.326 секунды.