Текущая версия 0.4.1, графический интерфейс на С#, так что потребуется .NETFramework. (Присутствует по умолчанию начиная с Win XP SP2) Рекомендуется использовать драйвера 25Х.ХХ.
Программа считает факториал в 16-ричном виде, может делать это используя CPU, либо с расчётом особо тяжеловесных операций на GPU.
Сравнивает полученные скорости и расчитывает получившееся ускорение расчета.
Некоторые нововведения:
Начиная с версии 0.4.0 введена полная поддержка мульти GPU систем, в том числе гетерогенных(например комбинация 9800 GT и GTX 295).
Начиная с версии 0.3.0 введена полная поддержка многоядерных CPU, и симметричных многопроцессорных систем(например по состоянию на 2010.01.31 мировой рекорд на CPU принадлежал системе основанной на четырёх четырёхядерных процессорах Xeon).
Кому интересно и есть желание прогнать, прошу выкладывать сюда результаты в таком виде:
250000! CPU time = 22.146 s, GPU time = 18.547 s, Acceleration = x1.3
Т.е. сначала версия программы, затем инфа по CPU и GPU, ОС, драйвер, затем получившиеся попугаи.
Пожалуйста не пишите "на профильной машине", т.к. я просто сохраняю страницу форума с вашими результатами, очень неудобно по каждому пользователю смотреть профиль.
Возможно для работы этой штуки понадобится устанавливать драйвер NVIDIA PhysX, если драйвер GeForce старой версии.
Работать должно на всех видюхах начиная с 8-й серии GeForce начиная с 8400 GS для десктопных карт, 8400 M GT - в мобильной линейке и возможно даже на интегрированных видео начиная с 8100.
Сравнительная гистограмма некоторых результатов:
#77
Будет изредка дополняться новыми результатами и заменяться результатами на свежих версиях.
Последний раз редактировалось Mathematic 05.09.2010 18:38, всего редактировалось 24 раз(а).
1) А как Вы думаете умножение 1*2*3*4 такое же трудоемкое как и 245000*245001*245002. Т.е. я о том что чем дальше проводим умноженеи тем больше и сами числа и накопленный результат. Вы попробуйте на бумажке в столбик посчитать 200! и 250!, засеките время
2) В чём собственно проблема ?
3) Результаты более менее повторяющиеся, погрешность на 250000 на 4 потоках примерно 0.05 с. Для сравнения Супер Пи запросто выдает результаты отличающиеся на 0.5 с. А вообще расхождение результатов штука неизбежная и зависит как от того как Операционная Система распланирует потоки, так и о того что будет содержаться в кэше процессора, задержки работы с памятью у контроллера памяти тоже не абсолютно одинаковы. Т.е. повторяемость результатов зависит и от внешнего софта и от железа. Сам бенчмарк не занимается тем что кидает рандом и спит случайное число миллисекунд перед фиксацией продолжительности расчета.
4) Спасибо, работа над программой будет продолжаться по мере наличия свободного времени, желание есть.
_________________ Разработчик бенчмарка CUDA Factorial Benchmark.
1) А как Вы думаете умножение 1*2*3*4 такое же трудоемкое как и 245000*245001*245002. Т.е. я о том что чем дальше проводим умноженеи тем больше и сами числа и накопленный результат. Вы попробуйте на бумажке в столбик посчитать 200! и 250!, засеките время
этож какая должна быть бумажка
с учетом возрастающей сложности было бы лучше сделать рассчет прогрессбара для cpu через логарифм (степень можно прикинуть исходя их имеющихся сейчас результатов) и добавить счетчик времени к счетчику процентов. для красоты можно добавить значения макс проиводительности для cpu и gpu (частоты_ядер*колво_ядер*инструкций_за_такт) и сравнивать с полученным результатом.
небольшое замечание по переводу: вместо task size лучше написать problem size и вместо results: times - results: elapsed time.
небольшое замечание по переводу: вместо task size лучше написать problem size
это вроде одно и тоже
Delin писал(а):
вместо results: times - results: elapsed time.
а с этим согласен, только не очень компактно получится, надо думать...
Delin писал(а):
этож какая должна быть бумажка
да, это я погорячился, 200! уже длиною 375 цифр хорошо, пусть считает 20! и 25!
Delin писал(а):
с учетом возрастающей сложности было бы лучше сделать рассчет прогрессбара для cpu через логарифм (степень можно прикинуть исходя их имеющихся сейчас результатов) и добавить счетчик времени к счетчику процентов.
я думал над этим, пока руки не дошли, были более важные моменты.
Delin писал(а):
для красоты можно добавить значения макс проиводительности для cpu и gpu (частоты_ядер*колво_ядер*инструкций_за_такт) и сравнивать с полученным результатом.
не очень понял, распишите поподробнее пожалуйста.
_________________ Разработчик бенчмарка CUDA Factorial Benchmark.
{~Шок~} Мне сложно на это ответить, надо проводить полномасштабное тестирование имея на руках несколько процессоров. От памяти вроде не особо сильно зависит.
_________________ Разработчик бенчмарка CUDA Factorial Benchmark.
Последний раз редактировалось Mathematic 08.08.2009 0:23, всего редактировалось 1 раз.
для моей профильной конфы это выглядело бы примерно так: CPU: 2900mhz*2core*3ipt=17млрд оп\сек GPU: 1600mhz*112core*3ipt = 537млрд оп\сек. теоретическое ускорение: 537/17=30 правда тут бы пришлось помаяться с базой, содержащей значения ipt и с определением собственно моделей процессоров.
Цитата:
это вроде одно и тоже
по сути - да, но обычно используют термин problem.
и вот еще небольшой косяк gui: #77 not enough и непонятно чего ему недостаточно
кстати, такой вопрос: при разработке не возникало проблемы, что приложение подвисает при старте вычислений на gpu? А то меня в свое время это достало, сейчас пока забил на куду, изучаю dx.
Alexandr82 Спасибо за результат, наконец-то второй феном полной конфигурации, и в сносном разгоне. От себя добавлю, что проигрышь Core i7 на такой же частоте 3.6 составвляет 1 секунду, весьма неплохо.
_________________ Разработчик бенчмарка CUDA Factorial Benchmark.
Member
Статус: Не в сети Регистрация: 05.12.2005 Откуда: Rostov-on-Don Фото: 1
У меня в 3.6GHz CPU Total OverClock Challenge включение SMP на частоте 3.6ГГц дало прирост в 0.3 секунды. А в целом чем больше частота Core i7, тем меньше прирост от SMP в этом тесте.
Member
Статус: Не в сети Регистрация: 27.06.2009 Откуда: Ефремовка. Фото: 2
Alexandr82 семерка 7100 64 с таймингами 5-5-5-15 3600 cpu=9.695 #77 у меня тайминги оказывают какое-то не адекватное влияние.. или может первый прогон лучше последующих получается.. Я до этого пытался за счет таймингов результат поднять.. и не заметил очевидного влияния.. с таймингами 5-5-5-15 4050 cpu=8.613 #77
Member
Статус: Не в сети Регистрация: 05.12.2005 Откуда: Rostov-on-Don Фото: 1
Я на 3.6ГГц улучшил результат за счет пары твиков и поднятия UCLK #77 проверить файл сгенерировано с помощью AntiCheat TOC 0.9.8.3 Но из 9 секунд выйти не удалось...
Member
Статус: Не в сети Регистрация: 31.01.2004 Откуда: moskow
Отрисовку процентов и т. д. лучше выводить раз в секунду или еще реже... это здорово улучшит результат (скорость рсчетов) , при маленьких значениях "вводимых цифер" это будет наиболее ощутимо Результаты: Для 750000 Q6600 @3Ghz (4 threads) === 2м 38.491 8800Gt in nominal (1512Mhz)===3m31.186 для 250000 Q6600 @3Ghz (4 threads) === 12.219 8800Gt in nominal (1512Mhz)===20.043
- Добавлен вывод контрольной суммы для защиты результатов - Сделаны небольшие изменения в интерфейсе для исправления обнаруженных багов - Были пересмотрены предопределенные количества потоков, для поддержки новых процессоров
_________________ Разработчик бенчмарка CUDA Factorial Benchmark.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения