Vishera против численных методов (Update)

6 февраля 2013, среда 00:03
для раздела Блоги

Итак, предистория такова:
у нас в лаборатории есть несколько компьютеров для проведения серьезных математических расчетов и несколько простеньких печатных машинок. И тут, вдруг, у нас появляется немножко денежек на модернизацию вычислительной техники. А надо отметить, что часть софта работает только в однопотоке, а другая часть умеет задачи параллелить, да и не просто, а раскидывать задачи по всем машинам в сети. Это Ansoft HFSS 13 - программа для расчета электромагнитных полей в различных средах методом конечных элементов - очень любит как быстрые ядра, так и много памяти.
Денег на покупку не очень много, так что надо получить максимальную производительность за меньшие деньги. Стоимость 2х процессорной системы на Xeon'е заоблачна, покупать 6ти-ядерники на LGA2011 тоже не подарок, LGA1155 тоже не дешев, а вот система на AM3+ может быть вполне недорогой, да и 8м ядер, пусть и не самых быстрых иогут быть быстрее 4х быстрых.
Чтобы проверить эту гипотезу в домашний компьютер на базе 760G чипсета был приобретен новый процессор FX-8320. Почему не FX-8350, просто этот дешевле, да и разгон никто не отменял.
С чем будем сравнивать?
В лаборатории для расчетов стоит несколько машин, они и будут эталонами:
1. Intel Core i7-3820 номинал, X79 с 4*8 Гб DDR3-1333.
2. Intel Core i7-950@4000, X58 с 6*4 Гб DDR3-1333@1333.
3. Intel Core2 Q6600 номинал, G35 с 2*4 Гб DDR2-800, видео интегрированное.
И наш герой:
AMD FX-8320 номинал (турбобуст увеличен до 4300/4400)  760G с 2*2 Гб DDR3-1333@1600.
На всех компьютерах установлена Windows 7 SP1 x64 с последними обновлениями, все драйвера обновлены на последние версии.
Первым делом прогоним Linpack, так как он может показать то, на что в пределе способны эти системы.
LinX 0.6.4, 10'000, x64, максимальное число потоков.
1. Intel Core i7-3820
48,7032 Гфлопс
2. Intel Core i7-950@4000
47,2104 Гфлопс
3. Intel Core2 Q6600
31,4127 Гфлопс
 
AMD FX-8320
30,0019 Гфлопс
 
А теперь собственно Ansoft HFSS.
После общения с Linpac'ом стало ясно, что тяжелые задачи на таком процессоре ставить не самое лучшее решение, так что попробуем задачку попроще.
В программе будет моделироваться передаточная характеристика СВЧ полосно-пропускающего фильтра на 5ГГц. Все настройки в автоматическом режиме.
1. Intel Core i7-3820

Здесь видно, что суммарное время расчета - 4 минуты 11 секунд.
2. Intel Core i7-950@4000

Здесь уже суммарное время расчета - 4 минуты 18 секунд.
3. Intel Core2 Q6600

Здесь суммарное время расчета - 8 минут 13 секунды.
 
AMD FX-8320

Здесь суммарное время расчета - 5 минут 26 секунд.
Однако, если проанализировать логи программы, то можно увидеть, что для FX-8320 время решения "основной"  задачи всего-то  21 секунда, так что основное время тратится на обсчет частотных точек. Так что для данной задачи можно применить "читерский" приём - заставить HFSS раскидать частотные точки по ядрам. Такой подход оправдан только для достаточно простых задач, как представленная в данном тесте, но для реально "тяжелой" задачи может значительно ухудшить результат. Посмотрим, что получилось:

Однако - 1 минута 6 секунд! Вот это да! Время расчета уменьшилось в 5! раз. Посмотрим как на это отреагируют конкуренты.
Чтобы не перегружать заметку скриншотами приведу только цифры:
1. Intel Core i7-3820 - 2 минуты 1 секунда для 8 потоков и 1 минута 46 секунд для 4 потоков
2. Intel Core i7-950@4000 - 2 минуты 6 секунд для 8 потоков и 1 минута 46 секунд для 4 потоков
3. Intel Core2 Q6600 - 4 минуты 43 секунды.
 
Ну, что же, из аутсайдеров в лидеры! Впечатляет!
 
Из проведенного исследования можно сделать следующие выводы.
Конечно, Vishera в пух и прах проигрывает SB-E в чистой производительности, что не является открытием, но вот запуск множества "маломощных" потоков вычислений ставит всё с ног на голову.
В общем, данное микроисследование так и не дало ясного ответа на основной вопрос -что же купить-то?
 
Сегодня я решил проверить рассмотренные вчера системы (за исключинием Q6600) в более "тежелой" задаче. Так в "легкой" для рачета электромагнитного поля использовалось порядка 6,5 тысяч тетраэдров, тогда как в "тяжёлой" - более 120 тысяч.
 
Посмотрим сначала результаты FX-8320.
Сразу замечу, что были проблемы со стабильностью. так что частоту памяти пришлось вернуть на 1333 МГц, а турбобуст вёл себя не понятно и всё время держал максимальную частоту (4200 МГц, на вчерашних 4300 был BSOD) вместо "положенных" 3500 МГц.

Итого - 1 час 20 минут 15 секунд.
Сравним с Интелами:
тут необходимо отметить, что у FX'а процессор был всегда загружен на 100%, в то время как на обоих Интелах загрузка, видимо из-за НТ, составляла только 50%, однако, применение "читерского" режима на 4 потока позволила увеличить загрузку процессора до 100%.
1. Intel Core i7-3820 - 1 час 4 минуты 39 секунд и 38 минут 56 секунд в "читерском" режиме.
2. Intel Core i7-950@4000 - 1 час 5 минут 26 секунд и 40 минут 14 секунд в "читерском" режиме.
В общем чуда не произошло, однако, всё не так уж и плохо для процессора ценой чуть более 5500 рублей.
 
Сейчас я хочу сказать несколько слов о самой программе Ansoft HFSS.
Нет, эта программа не работает на видеокартах - их поддержку обещали ещё в 11й версии, в прошлом году вышла уже 14я, а воз и ныне там.
Теперь о расчете самой модели:
1. На первом этапе программа разбивает модель на тетраэдры - строит "сетку" для вычислений - всегда в один поток.
2. Затем производится расчет модели по полученной сетке Методом Конечных Элементов. Это производится с максимально возможным количеством потоков вычислений на основном компьютере.
3. После этого производится расчет различного числа частотных точек, параметрический и оптимизационный анализ. Этот этап может быть проведен на всех доступных компьютерах в сети, и здесь может быть применен "читерский! метод расчета.
 
Обсуждение в Конференции - http://forums.overclockers.ru/viewtopic.php?f=25&t=472480
Сейчас я расчитываю небольшую задачу в пакете Maple. Думаю, что к утру будут результаты...
Посчитал более простые задачи в Maple 15.01 x64 пока только на интелях.
1. Intel Core i7-3820

Итого 230,03 секунды.
2. Intel Core i7-950@4000

А здесь 238,36 секунды.
Что-то особой разницы между ними нет, ну и ладно.
А вот и тест на 8320:

Итог - 282,4 секунды. Разница с процессорами конкурента около 20%, что не так уж и плохо.
 
Поставил расчеты коллеги в Matlab 2012b x64:
1. Intel Core i7-3820 - 43 минуты 6,671 секунды
2. Intel Core i7-950@4000 - 39 минут 38,754 секунды
3. AMD FX-8320@4200 - 44 минуты 59,326 секунды.
 
А вот здесь уже разница в принципе не существенна.
 
И на последок LinX 0.6.4 FMA
63.1811
63.1811 ГФлопс.
Кстати, перетестировал i7-950@4000. Теперь выдает 47+ ГФлопс.


А вот i7-3820 в LinX с AVX дает почти 81,5 ГФлопс. Почувствуйте разницу!
Оценитe материал

Возможно вас заинтересует

Популярные новости

Сейчас обсуждают