Advanced member
Статус: Не в сети Регистрация: 27.02.2007 Откуда: Москва Фото: 58
Здорово всем ))
Вот накануне решал задачку...Увлекся и сделал из программки подобие бенча. Суть такова...Моделируется падение снежинок на плоскость(при помощи генератора случайных чисел), на которой находятся окружность, а в окружность вписывается квадрат. Поскольку при большом числе снежинок они будут распределяться равномерно, то Отношение площадей фигур будет пропорционально отношению вероятностей попадания снежинки на квадрат и кружность соответственно...Исходя из этого можно вычислить площадь окружности и число Pi.Очень приближенно, естественно...С технической точностью.
Интересно было бы посмотреть расстановку подобное на процах, отличных от моего... И на интелах тоже...Хоть на 386.
Новая версия, думаю, тянет на первый финал. На консоль теперь выводится только статистика, результат вычислений записывается в файл.
Теперь программа позволяет рассчитать число Pi с точностью до 50000000 знаков после запятой.Сам вычислять не пробовал, по понятным причинам Ну и копирайт приделал, конечно
Member
Статус: Не в сети Регистрация: 17.11.2003 Откуда: Екатеринбург
C2D E6300@3010 (остальной конфиг в профиле):
Код:
D:\!Hren\MC>i386 3.1413692 3.1416695 --- 400000000 points, 29 s. 13793103 pps.
D:\!Hren\MC>i486 3.1415730 3.1413195 --- 400000000 points, 29 s. 13793103 pps.
D:\!Hren\MC>k6 3.1417876 3.1414951 --- 400000000 points, 28 s. 14285714 pps.
D:\!Hren\MC>k6-2 3.1415177 3.1413456 --- 400000000 points, 28 s. 14285714 pps.
D:\!Hren\MC>k6-iii 3.1414263 3.1416278 --- 400000000 points, 27 s. 14814815 pps.
D:\!Hren\MC>k7 3.1415409 3.1417135 --- 400000000 points, 24 s. 16666667 pps.
D:\!Hren\MC>k7-xp 3.1415961 3.1412392 --- 400000000 points, 24 s. 16666667 pps.
D:\!Hren\MC>pentium 3.1414365 3.1414737 --- 400000000 points, 30 s. 13333333 pps.
D:\!Hren\MC>pentium2 3.1415788 3.1412481 --- 400000000 points, 29 s. 13793103 pps.
D:\!Hren\MC>pentium3 3.1415236 3.1413659 --- 400000000 points, 29 s. 13793103 pps.
D:\!Hren\MC>pentium4 3.1414533 3.1416965 --- 400000000 points, 24 s. 16666667 pps.
D:\!Hren\MC>pentium-mmx 3.1414445 3.1416259 --- 400000000 points, 29 s. 13793103 pps.
Запускал с кучей работающих в фоне программ, приоритеты не менял.
Видно что только k7, k7-xp, pentium4 показывают нормальные результаты,остальные оптимизации настолько устарели, что использовать их нет никакого смысла..
HertZ писал(а):
Ну так и GCC неплохо компилит, ИМХО.Иначе не стали бы столько ОС им компилить.
Не знаю насчет линухов, мне они шедевром не кажутся. Зато могу сказать что 90% всех игр скомпилены именно VC++ разных версий.
_________________ |АМД процы не так уж и плохи|
|Но все-таки Интел лучше|
Advanced member
Статус: Не в сети Регистрация: 27.02.2007 Откуда: Москва Фото: 58
Цитата:
не, автор накосячил - сейчас докажу:
486 DX2-66@80 mhz 20 mb ram WinNT4.0 0 секунд 1pps то бишь в коде что-то не так...
Ага.Забавный глюк. Буду ставить НТ в эмуляторе 486, и тестить...ибо настоящего 486 нету...
Цитата:
не, старой версией... но у нее вертится только антивирь и все...
Эта штука грузит FPU(При каждом шаге выполняется 2 деления и два умножения и сложение, при первой оценке.С кубом посложнее, там три сложения, три деления и три умножения на шаг)...И целочисленную арифметику тоже, но не так сильно(только ++)
Ждем-с... А от меня будет прогон теста на четырехпроцессорном UltraSPARC, если компилер подходящий найду... Хотя смысла в четырех процессорах пока нет... З.Ы. но распараллелить эту задачу очень легко...
Цитата:
Видно что только k7, k7-xp, pentium4 показывают нормальные результаты,остальные оптимизации настолько устарели, что использовать их нет никакого смысла..
Ага... Еще интересно, что коре код для к7 нравится куда больше, чем код для п3...
Цитата:
Не знаю насчет линухов, мне они шедевром не кажутся.
Ну...Все относительно.
Не шедевр, но и не хлам..
А насчет VC согласен...Был бы он кросплатформенным, так вообще сказка была бы.
Advanced member
Статус: Не в сети Регистрация: 27.02.2007 Откуда: Москва Фото: 58
А это идея...
Нет пока...Хотя кроме расстановки приоритетов windows.h ни для чего ей не нужен.
Так что его можно убрать...Попробую, вроде GCC умеет под дос компилить.
З.Ы. Поработаю над увеличением точности...Вот это будет грузилка...
Member
Статус: Не в сети Регистрация: 24.10.2003 Откуда: Novosibirsk
Самый быстрый код под процессоры Intel и, в большинстве случаев, под K8 дают
компилляторы Intel - icc и ifort. Под Linux они бесплатны.
Компиллер Microsoft -crap.
Если-бы был исходный код, то можно было-бы
1) Откомпилять с максимально возможной оптимизацией под SSE2/3.
2) Автоматически распараллелить на n-процессоров. Как получится, не знаю -я пользуюсь
MPI, но такая возможность в компилерах Intel есть.
В этом случае можно было-бы прогнать на 8-ядерной машине на Xeon, 4-процессорном Итанике,
4-ядерной машине на Opteron.
Если есть возможность, рекомендую использовать вызовы функций библиотеки BLAS.
И не надо туда вставлять ничего специфического для Microsoft и Windows.
Advanced member
Статус: Не в сети Регистрация: 27.02.2007 Откуда: Москва Фото: 58
Cronos писал(а):
компилляторы Intel - icc и ifort.
Ага, ознакомился с тестами...
Пока что временно переписал под VC++, а далее разберемся...Производительность в сотни раз возросла.
Но тут еще и усовершенствования алгоритма дали большой результат...Метод Монте-Карло теперь используется только для получения начального приближения, далее на помощь приходит Гаусс со своими формулами...
К сожалению, размер кода тоже сильно подрос...ну и ладно.
Новая версия, думаю, тянет на первый финал. На консоль теперь выводится только статистика, результат вычислений записывается в файл.
Теперь программа позволяет рассчитать число Pi с точностью до 50000000 знаков после запятой.Сам вычислять не пробовал, по понятным причинам Ну и копирайт приделал, конечно
Advanced member
Статус: Не в сети Регистрация: 27.02.2007 Откуда: Москва Фото: 58
К сожалению, в следствие гибели жесткого диска исходные тексты программы утеряны, так что тему можно закрывать... Как-нибудь соберусь и перепишу с нуля, с графикой и оптимизацией...
Добавлено спустя 1 минуту, 28 секунд
moty писал(а):
Вынул 1 планку(из 3-х)- стало дуал ченнелом. те-же 114 секунд.
Тест слабо зависит от пиковой ПСП...
З.Ы. прогнал на прескотте 3.0 (номинал), получилось 230 секунд На брисбане 3.1 выдал 169.481.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения