Просмотр полной версии : Прошу помочь потестировать программку...
Paul Kellerman
02.04.2011, 17:16
Коллеги, я тут время от времени ваяю по мелочи всякий софт,
прошу помочь потестировать одну мою многопоточную прогу.
Запускаете нажимаете Run и все, через секунд 10 высветится
результат замеров. Прошу написать сколько MFLOPS у вас она
пишет, и в строке состояния сколько именно threads running...
Запускаете нажимаете Run и все
и все: ваш комп бот в зомби-сети
Добавлено через 8 минут
732.374 MFLOPS
а вот в строке состояние - idle
Добавлено через 3 минуты
Кстати говоря, судя по заявленным данным у моей видеокарты максимальная теоретическая производительность 1 TFLOPS/s при 800 потоковых процессорах и 625 МГц таковой частоты GPU
Добавлено через 3 минуты
Ну, или 160 SIMD процессоров. Кому как больше нравится
487,151 running 2 threads во время выполнения на Core2Duo
nauczyciel
02.04.2011, 19:13
PavelAR, программа не запускается (пробовал в CrossOver).
В среднем 770 Мфлоп с разбросом примерно 20 в обе стороны
(сделал примерно 10 запусков).
Запускается 2 потока.
Paul Kellerman
05.04.2011, 11:38
Всем спасибо за помощь!
Хотелось бы конечно еще увидеть результаты на 4-х и более ядерных процессорах.
а вот в строке состояние - idle
Нужно смотреть строку, когда идет тестирование (когда полоса прогресса бежит).
видеокарты максимальная теоретическая производительность 1 TFLOPS/s при 800 потоковых процессорах
Разводняк... Во-первых, даже Intel с трудом запихивает 4-6 ядра на имеющейся
площади кристалла. Заявление о том, что на графическом кристалле 800 парал-
лельных вычислительных узлов (каждый со своим конвейером, устройством упра-
вления, набором регистров, блоком операций с плавающей запятой, а еще жела-
тельно со своим локальным кэшем команд и кэшем данных) это полнейший бред.
Во-вторых, сильно сомневаюсь что каждый из 800 процессоров выжимает по 1,25
Гигафлоп. Те же отдельные интеловские ядра дают до 500 Мегафлоп, не больше.
Скорее всего, как обычно, результаты таких измерений, какие-нибудь "китайские"
флопы, это то же самое, что и китайские ватты, указываемые на колонках Genius.
и все: ваш комп бот в зомби-сети
Воспользуйтесь программой TCPView, входящей в пакет утилит от System Internals.
Скачать ее можно на сайте www.sysinternals.com, там выкладываются совершенно
бесплатно утилиты от Марка Руссиновича - одного из "отцов" ядра ОС Windows NT.
Все программы проявляющие "сетевую активность", обязательно видны в TCPView.
http://technet.microsoft.com/ru-ru/sysinternals/bb897437
P.S. Кстати, если грамотно пользоваться утилитами Sysinternals, особенно утилитами
Process Explorer, Process Monitor, TCPView и Autoruns, то антивирусы вообще не нужны.
PavelAR,
running 4 threads. Total FPU performance: 1767,180 MFLOPS - стационарный комп
running 4 threads. Total FPU performance: 1299,770 MFLOPS - ноутбук
на ноутбуке, если запускать какую-нибудь программулину требовательную к способностям компа значения падали до 7хх MFLOP'ов...
Paul Kellerman
05.04.2011, 13:23
1767,180 MFLOPS
Неплохо, то есть фактически 442 MFLOPS на ядро. А что за процессор на компе?
если запускать какую-нибудь программулину требовательную к способностям компа значения падали
Это вполне ожидаемо. Как и при любом тестировании, лучше все лишние (особен-
но прожорливые до процессорных ресурсов) программы закрывать. Или как вари-
ант, программе тестирования назначить высокий приоритет (в диспетчере задач).
Воспользуйтесь программой TCPView
:D Вы еще Идой дизасемблировать предложите :D
ужно смотреть строку, когда идет тестирование (когда полоса прогресса бежит).
Тогда у меня то же
2 threads
Добавлено через 51 секунду
З.ы. сейчас на ноуте оттестю и другом компе
А что за процессор на компе?
Core i3 2,93 GHz
Добавлено через 4 минуты
максимум на десктопе у меня получалось 1877,780 MFLOP'ов, минимум - 1702
4-ех ядерник: 4 threads и 1490,760 на связке GTS 250 + AMD Phenom X4 9850
Добавлено через 14 минут
Ноут: 2 threads и 450,219
Paul Kellerman
05.04.2011, 15:01
Вы еще Идой дизассемблировать предложите
Утилита TCPView в использовании не сложнее обычного виндового калькулятора.
максимум на десктопе у меня получалось 1877,780 MFLOP'ов, минимум - 1702
Чтобы не было таких разбросов, после запуска программы, до того как нажимать
кнопку Run, запустите диспетчер задач, найдите в списке процессов multifpu.exe,
кликните правой кнопкой мыши на нем, и поставьте приоритет, равный высокому,
потом закройте диспетчер задач, и жмите кнопку Run. Результаты будут намного
более стабильными, но кнопка Stop будет немного хуже реагировать на нажатие.
P.S. Всем большое спасибо за помощь в тестировании. Все плюсы и минусы своей
программы и подхода к многопоточному программированию в целом вполне уяснил.
Для любознательных и для программистов выкладываю все файлы (с исходниками).
Основной исходник в файле mainunit.pas, правда, комментариев не написал, влом...
Утилита TCPView в использовании не сложнее обычного виндового калькулятора.
Да я знаю. Я ей пользовался, еще до продажи русиновичем себя в рабство мс
Чтобы не было таких разбросов...
ух ты, приоритет поменял. результат - 1943 MFLOP'а. Прям как на дрожжах :) Какой мощный компьютер :D
Paul Kellerman
21.10.2011, 12:25
Intel Quad Core QX9650 3.0 GHz L2 Cache 12 MB FSB 1333 MHz
ASUS Rampage Extreme X48/ICH9R, 4 x 2 GB DDR3-1333 DRAM
Running 4 threads, 2005 MFLOPS.
Дамы и господа обладатели 4 и 6 ядерных Core i7, очень хоте-
лось бы результатов измерений на Ваших компах. Спасибо :)
simulator:D
21.10.2011, 12:57
Сэнди бридж 2600к пиленый до 4.5ГГц, чипсет — intel p67
5834.330 mflops на 8ми потоках
А по поводу видеокарт в посте #6 зря вы так, всё ведь (как всегда :) ) зависит от "удобства" задачи для конкретного железа. Для примера, вот статья, где относительно старая GeForce 8800 Ultra с пиковой производительностью P_peak = 410GFLOPS показывает на конкретных задачах гидродинамики (обтекание жидкостью сферы, расположенной в трубе) около 177GFLOPS, т.е. почти половину от P_peak:
http://dx.doi.org/10.1080/10618560802238275
Если у вас нет доступа к этой статье, но есть интерес к ней, могу выложить её на файлообмен.
PavelAR, программа не запускается (пробовал в CrossOver).
У меня под вайном заработала: 504 мегафлопа, 2 нити, на интеловском 2-ядернике ^_^
Paul Kellerman
02.11.2011, 15:59
- Добавил тестирование целочисленной арифметики и векторных команд SSE.
- Сделал, чтобы по умолчанию приоритет программы был HIGH. На одноядерных
компах кнопка stop может немного из-за этого подтормаживать, зато влияние
других программ существенно снижается и результаты более стабильные.
- Формирование списка доступных процессоров (ядер) теперь осуществляется
не при запуске программы, а при запуске тестирования.
Продолжаем многоядерное тестирование.
1241,380 мипс
990,151 мфлопс
1032,650 мвопс
1315,150 мвопс
Paul Kellerman
02.11.2011, 16:22
Intel Quad Core QX9650 3.0 GHz L2 Cache 12 MB FSB 1333 MHz
ASUS Rampage Extreme X48/ICH9R, 4 x 2 GB DDR3-1333 DRAM
Running 4 threads.
ALU 32-bit int: 2520 MIPS
FPU 80-bit float: 2005 MFLOPS
SSE 2 x 64-bit float: 2070 MVOPS
SSE 4 x 32-bit float: 2690 MVOPS
P.S. Не забываем указывать модель процессора.
1052.140
843.542
869.963
1110.370
Intel Core 2 Duo T9400 2.53GHz L2 Cache 6Mb FSB 1066
2*2GB DDR2 800
P.S. Не забываем указывать модель процессора.
Павлэ! Это Вы так просите? ;)
Тип ЦП DualCore Intel Core 2 Duo E8400, 3000 MHz (9 x 333)
216,790
Idle
Intel Celeron 430@1.8GHz
Win7 x32, 2 GB RAM.
Добавлено через 7 минут
Сорри, это было для первого варианта.
Для последнего:
270,902
236,897
256,920
352,563
ПС. Ядро одно.
ППС. А кому сейчас нужна оптимизация? Ява, билдер, софтинка на 100 Мб с одной кнопкой и пол часа на любую операцию. Веянье моды...
Не нравится - покупай комп мощнее. Взять хотя бы вин7 как яркий пример.
simulator:D
03.11.2011, 12:23
7048.570
5826.130
5989.400
6939.140
на i7-2600k@4.5GHz
Paul Kellerman
08.11.2011, 14:07
И еще немного доработал, наверное на этом и остановлюсь пока.
- Добавил небольшую детализацию результатов по отдельным исполняемым потокам.
- Исправил ошибку, вызывающий конфликт при запуске нескольких экземпляров программы.
- Добавил ради интереса тест своих процедур, реализующих арифметику поля Галуа GF(2^8).
- Поменял местами 3-й и 4-й тест, хронологически набор команд SSE2 появился позже.
PS1. Во всех тестах используется 45% операций сложения, 45% умножения и 10% деления.
PS2. Умножение и деление в поле Галуа выполняется с использованием таблиц логарифмов
и степеней, так что на результаты отчасти влияет скорость чтения из процессорного кэша.
Intel Quad Core QX9650 3.0 GHz L2 Cache 12 MB FSB 1333 MHz
ASUS Rampage Extreme X48/ICH9R, 4 x 2 GB DDR3-1333 DRAM
Running 4 threads.
ALU 32-bit int: 2532 MIPS
FPU 80-bit float: 2021 MFLOPS
SSE 4 x 32-bit float: 2702 MVOPS
SSE2 2 x 64-bit float: 2100 MVOPS
Galois Field Operations: 1927 MOPS.
А кому сейчас нужна оптимизация?
Кроме Вас, Криса Касперски, меня и еще нескольких воинов дzена наверное уже никому.
Не нравится - покупай комп мощнее
Именно так. Только вшивая однопоточная софтина не становится быстрее с ростом коли-
чества ядер / процессоров. А треды, семафоры и мьютексы - это не для слабонервных :)
simulator:D
08.11.2011, 14:42
Для новой версии (#26) результаты четырех тестов такие же как и в #25.
Для поля Галуа: 4346.372.
А вы пробовали сравнивать все эти результаты тестов в теме с тем, что могут процессоры "в теории"? Если да, было бы очень интересно на результаты таких сравнений посмотреть.
Paul Kellerman
08.11.2011, 15:05
что могут процессоры "в теории"
Целенаправленной такой задачи не было. Просто хотелось иметь свою маленькую
утилиту, которая позволяет бегло оценить предельно выжимаемые показатели при
максимальной независимости между рабочими потоками, выполняющими операции.
Только вшивая однопоточная софтина не становится быстрее с ростом коли-чества ядер / процессоров.
Именно так. Особенно это смартфонов касается.
Заглянуть хотя бы в диспетчер Win7. Там *32 процессов добрых 3/4.
Эх, как же я люблю выносить мозг нашим программерам своим кодом, где вместо делений сдвиги, где прямой доступ к регистрам и ползанье по памяти по указателям... :D
Казалось бы, а для них это космос...
Комп тот же. Результаты:
269,968
236,293
350,382
255,809
284,840
Осознал что пора менять комп :)
Paul Kellerman
09.11.2011, 10:02
люблю выносить мозг нашим программерам своим кодом, где вместо делений сдвиги,
где прямой доступ к регистрам и ползанье по памяти по указателям... Казалось бы, а для них это космос...
Не знаю, как у вас там, но российских программистов тоже можно понять.
В основном, что им светит в этой стране, разработка какой-нибудь шняж-
ной клиентской софтины складского / бухгалтерского учета, это если еще
повезет устроиться программистом, а так попадет к какому-нибудь систем-
ному интегратору и будет ездить по заказчикам, инсталлировать и настраи-
вать готовое купленное ПО, ну или вообще сидеть менеджером по продажам.
vBulletin® v3.8.8, Copyright ©2000-2025, vBulletin Solutions, Inc. Перевод: zCarot