Текущая версия 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 раз(а).
А не думал её за opensource и в svn выложить....Сделали бы толпой классный бенчмарк.....прикрутили бы туда и для ати .....
Честно говоря, не хочется, всё таки это интеллектуальная собственность. Цели сделать классный бенчмарк нет, но по крайней мере в планах графический интерфейс, задействование нескольких ядер CPU, сделать режим GPU+CPU. Поддержку карт ати тоже можно устроить, всего-то надо купить затычку 4000 серии, чтобы отлаживать
А что мешает вашей толпе сейчас взять и сделать классный бенчмарк на эту тему ?
_________________ Разработчик бенчмарка CUDA Factorial Benchmark.
Если хочешь можно разделить ветки, отдельно бенчмарк свободный, отдельно то что у тебя в Интеллек собственности.
У меня в интеллектуальной собственности собственно сам алгоритм расчёта на GPU, так что отделить можно максимум расчет на CPU, а он настолько прост, что даже нет смысла его отделять, его любой второкурсник факультета по направлению ИТ сделает.
LORiOchar Боже мой. Как люди любят халяву... Тебе нужен классный бенчмарк? Садись и пиши его или собирай толпу, как ты говоришь. Что ты к человеку пристал?
_________________ Человеческая глупость даёт представление о бесконечности.
Mathematic молодец, но вот есть не большое замечание тебе надо немного подумать как оптимизировать процесс вычисления. на maple которой не блещет скоростью расчетов делает 600000! за 2 секунды (core 2 duo e4300 в номинале) обновляй постепенно версию.
зы:
Mathematic писал(а):
У меня в интеллектуальной собственности собственно сам алгоритм расчёта на GPU, так что отделить можно максимум расчет на CPU, а он настолько прост, что даже нет смысла его отделять, его любой второкурсник факультета по направлению ИТ сделает.
мне кажется на бейсике факториал в 9 классе делали а на 1 м курсе sin; cos через ряд тейлора считали с заданой точностью.
ATI.HeNRy Мне честно говоря не интересно как там считает мапл, у меня не было цели написать программу которая быстрее всех считает факториал, я использовал самый простой алгоритм для ЦПУ и свой собственный на ГПУ, который распараллеливает вычисления. Главное, что делает бенчмарк - он определяет кто быстрее, а кто медленнее Не так ли ? Сидеть и до посинения точить расчёт на ассемблере чтобы у меня скорость была быстрее чем у мапла я не собираюсь. Добавлено спустя 15 минут, 25 секунд
ATI.HeNRy писал(а):
мне кажется на бейсике факториал в 9 классе делали
А ине кажется, что на бейсике в 9-м классе факториал больший чем помещающийся в 64-битное целое не делали Добавлено спустя 1 час, 34 минуты, 32 секунды ATI.HeNRy И вообще может мапл использует заранее подготовленный опорные константы, типа перемноженные первая 1000 чисел, вторая 1000 чисел и тэпэ, и хранит их у себя и использует при необходимости.
Мой же бенч честно умножает начиная с 2*3*4 и так далее.
Сейчас прогнали 600000! на ГТХ 285, получилось 29.92 сек. и честно говоря мне это не кажется медленным, количество операций умножения и сложения в этой задаче большое. Добавлено спустя 3 минуты, 6 секунд На Athlon 850, виндозный калькулятор считает 60000! (шестьдесят тысяч) за 3 минуты и выводит он только первые несколько цифр и потом степень
_________________ Разработчик бенчмарка CUDA Factorial Benchmark.
А ине кажется, что на бейсике в 9-м классе факториал больший чем помещающийся в 64-битное целое не делали
Естественно, я думаю мы даже не знали тогда что такое 64 битное целое. я тебе не говорю сидеть до посинения и боже упаси делать на ассемблере, ты и так молодец. просто обновляй ,оптимизируй свою версию. Просто преимущество видеокарт может оказаться не от того что они сильнее, а из-за того что
Mathematic писал(а):
я использовал самый простой алгоритм для ЦП и свой собственный на ГПУ, который распараллеливает вычисления.
зы: в моем дипломе мне нужно посчитать около 100000 значений функций бесселя на не оптимизированном коде это заняло бы около 3 часов - это была первая версия программы, после оптимизации она считает около 2 минут.
Добавлено спустя 26 минут, 13 секунд Mathematic если дальше будешь развивать свой бенчмарк не зацикливайся только на факториале, есть много других вариантов например SuperPi for gpu или что нибудь подобное, а сама идея очень классная что сказать молодец!!!
ATI.HeNRy Я прекрасно знаю, что существуют другие более быстрые алгоритмы вычисления, например методом разделяй и властвуй, когда чтобы перемножить два числа, состоящих из двух цифр каждое, экономится одно элементарное умножение,т.е. вместо четырёх используется три. Далее, есть ещё более быстрый метод с использованием быстрого преобразования фурье. Но эти методы(особенно последний) сами по себе уже настолько сложны в реализации даже на CPU, что делать их ещё и под GPU будет крайне трудоёмко, в силу специфичности программирования последнего.
Моя же цель, как я говорил уже, корректно сравнивать производительность CPU и GPU. Вот я взял единый базовый простой метод - перемножение всех чисел от 1 до N, и сделал его реализацию на CPU и на GPU, таким образом хоть алгоритмы для CPU и GPU у меня разные, метод лежащий в их основе один. А именно это и дает возможность адекватно сравнивать скорости работы на CPU и GPU. Так что считаю мою цель вполне разумной.
Насчёт расчёта Пи на ГПУ, я уже думал, может руки дойдут когда-нибудь.
_________________ Разработчик бенчмарка CUDA Factorial Benchmark.
AzaZeo Установите драйвера посвежее, вша карта не определилась программой - видите надпись "Device Emulation" рядом с галочкой GPU, в этом месте должно быть написано что-то вроде "GeForce 8400G M"
_________________ Разработчик бенчмарка CUDA Factorial Benchmark.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 33
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения