Bonusfrag

А ваш CAE будет работать на новом процессоре?

133 сообщения в этой теме

несжимаемой среды - воздуха. :g:

 

paste and copy secret

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах


Выяснил с огорчением, что мое ЦУ не было отработано и по 10000 на каждое ядро задачу не посмотрели.
 

 

Я правильно понял что при < 10 000 ячеек на ядро это предел масштабируемости вашего кода ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Выяснил с огорчением, что мое ЦУ не было отработано и по 10000 на каждое ядро задачу не посмотрели.
 

 

Я правильно понял что при < 10 000 ячеек на ядро это предел масштабируемости вашего кода ?

 

FV не любит, когда на ядро приходится мало ячеек. Рекомендация из мануала - от 50000 на ядро.

менее 10000 на ядро брать точно не надо - в большинстве случаев будет только хуже. 

 

вот моя картинка - брал тестовую задачу про сопло.

при 12 потоках по нагрузке на ЦП видно было, что он недогружен вычислениями - в этом случае было 17500 ячеек на ядро.

post-26004-0-99731100-1414947571.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Выяснил с огорчением, что мое ЦУ не было отработано и по 10000 на каждое ядро задачу не посмотрели.
 

 

Я правильно понял что при < 10 000 ячеек на ядро это предел масштабируемости вашего кода ?

 

На физическое ядро!

Может быть и 8000 тысяч. Детально этот вопрос не исследовали с точностью до каждой вишенки, поэтому просто родили критерий, что ниже 10000 на ядро не опускаться. Т.е. примерно в этом районе. Я разработчиков попросил, чтобы до 1000 опустились, но мне лишь обещали подумать, но не более того.

Почему у Александра на 10000 (на физическое ядро?) наблюдается замедление - нужно смотреть.

 

А это плохо вообще или как? У вас какие характеристики решалки с этой точки зрения?

 

Собственно я и планировал провести более подробное исследование, т.к., например, если включать HT, то это дает до 20% прибавки в скорострельности. Т.е. код потихоньку вылизывается. Однако из-за энтузиазизма отдельных личностей в мое отсутствие работу можно выкинуть в корзину.

 

добавил оценку стоимости единицы производительности для двух процессоров;

Спасибо за учет пожеланий трудящихся) Еще бы описание к этому графику и цифры не в относительной шкале.

 

И еще вопрос: 5 стр, 3 абзац.

Истечение из сопла и тут же движение несжимаемой среды - воздуха. :g:

 

 

"Учет пожеланий трудящихся" я делаю каждый раз, когда кривую масштабирования смотрим, т.к. это нужно для корректировки прайс-листа для параллельных опций решателя.

Про сопло - опечатка. Автор вам улыбается и машет рукой.

:) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
А это плохо вообще или как? У вас какие характеристики решалки с этой точки зрения?

 

 

Это странно. У меня масштабирование прекращается при <1500 ячейках на одно ядро. Оптимум где то в районе ~5000 за счет кеш-эффектов, когда большая (не вся, а вероятно наиболее используемая) часть данных влезает в кеш процессора. Если делать больше то там никаких нелинейных эффектов не наблюдается, разве что скорость самой памяти начинает играть бОльшую роль. Это  для чисто CPU версии. Для GPU там своя зависимость. GPU я особо не копал (максимум что пробовал это 2xK20m) а вот по CPU прошелся весьма подробно до ~600 ядер (и по strong scale и по weak scale)

 

PS: эффективность включения HT кстати дала странные результаты. Например на E5-26xx HT однозначно ухудшает производительность, на  i7-4700HQ либо не влияет либо слегка ухудшает а вот на Атоме однозначно улучшает (но не в разы а % на 40). Как я понял это зависит от количества управляющего (он в основном целочисленный) и собственно счетного (с плавающей точкой) кода в одном счетном цикле.

 

Оценку влияния интерконнекта  особо не делал. Он у меня весь Infiniband (от SDR до FDR на разных доступных кластерах)

 

PS: Более показателен график не ускорения от числа ядер а эффективности от числа ядер где эффективность - отношение реального ускорения к идеальному.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А у вас сетка структурированная?

 

 

P.S. Нелинейное поведение у нас, вероятно вызвано одной ошибкой, которая приводила к замедлению на малом количестве ядер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да - сетка структурированная

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

на малом количестве ядер

 

А малое это сколько ? Я просто на графиках заметил одну типичную вещь 

post-34943-0-87556100-1415196995_thumb.png
Прекращение масштабирования при использовании > 20 ядер (если я правильно понял надпись под картинкой)
Это очень напоминает использование блокирующего обмена данными в MPI. Там суть в том что сам счет в поддоменах
параллелен а вот обмены по сути идут в один поток  ну или точнее в "цепочку". Это не так страшно когда обменов "мало" а счета "много" (отсюда такое требование к числу ячеек на ядро) но убивает показатель strong scaling. 
 
Вот пример сравнения использования блокирующих и неблокирующих обменов на strong scaling - тесте
post-34943-0-29750300-1415198079.png

 

 
 
 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да - сетка структурированная

У нас нет. Плюс требование по общности алгоритмов под различные виды решаемых задач - локальная адаптация, подсеточное разрешение геометрии, наличие подвижных пересекаемых границ, решение задачи с большими Курантами... ну и так далее. Потихоньку весь завал спичек разбираем, но, все равно, чудес на свете не бывает.

 

на малом количестве ядер

 

 

 

А малое это сколько ? Я просто на графиках заметил одну типичную вещь  

 

В пределах четверки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 У нас нет. Плюс требование по общности алгоритмов под различные виды решаемых задач - локальная адаптация, подсеточное разрешение геометрии, наличие подвижных пересекаемых границ, решение задачи с большими Курантами... ну и так далее

 

 

Ну это как раз понятно.  Это накладные расходы которые как раз хорошо параллелятся с HT что собственно и объясняет его эффективность на вашем коде.

 

PS: Локальная адаптация (разбиение ячейки на более мелкие в рантайме) и подвижные границы это чай не бином Ньютона  :smile:

 

Все этим баловались :smile:  

(кликабельно)

post-34943-0-62382800-1415199354_thumb.gif

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

C сеткой как работали?

1. Через булевы операции, обрезая ячейки;

2. Морфинг гекса сетки?

3. Immersed body?, 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1+3

 

 

PS: Этой анимашке лет 10. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, кстати, если данные кому по воркбенчу нужны по соплу, то в личку свистите.


1+3

Только двухмерный случай или произвольный трехмерный?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только двухмерный случай или произвольный трехмерный?

 

 

Конкретно этот код был в 2D (в те времена 3D было делать тяжеловато в плане временнЫх затрат да и вобщем не нужно для данной конкретной разовой задачи).

Сейчас есть версия для 3D для расчета абляции но там чуть иной алгоритм и совершенно другой код (нельзя считать движение тела без переделки кода) 

 

А так любой каприз за ваши деньги ©   :smile:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ой ну это это вряд ли. Это уже скорее про нас - уже в два сторонних продукта решалку продали в исходниках.

Хотя по абляции у нас запланирована работа на следующий год.

:rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ой ну это это вряд ли. Это уже скорее про нас - уже в два сторонних продукта решалку продали в исходниках.

Одних знаю, а вторые кто ? Секрет ?  :smile:

Хотя по абляции у нас запланирована работа на следующий год.
 

 

Ага, читал заявку от минобра под вас  :biggrin:

 

PS: Считать  дисперсную к-фазу эйлером это моветон  :smile:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Первые CFDesign, которые потом как-то переоформились в Autodesk CFD Simulation и с тех пор следы теряются.

Вторые - Саров.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

PS: Считать  дисперсную к-фазу эйлером это моветон  :smile:

 

Чем предложите? Лагранжевыми частицами? Проходили уже.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

PS: Считать  дисперсную к-фазу эйлером это моветон  :smile:

 

Чем предложите? Лагранжевыми частицами? Проходили уже.

 

Горение полифракции за стабилизатором в зоне обратных токов Эйлером точно не посчитать. Не говоря уже об отскоке/ высаждении на стенку.

Им вообще ничего точно не посчитать, та же полифракция вам даст +5DOF на фракцию в одной ячейке, проходили это уже.

 

Все это отлично считается Лагранжем в параллель при минимальных накладных расходах. Любые виды полифракции, осткок/высаждение, дробление/коагуляция.

Вы что то не так делаете  :smile:

 

CFDesign, которые потом как-то переоформились в Autodesk CFD Simulation

 

Про этих не знал.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не заметил в начале - так у вас явный решатель. Тады понятно.

 

Касаемо абляции - пусть ученые наши думают.

:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

 

PS: Считать  дисперсную к-фазу эйлером это моветон  :smile:

 

Чем предложите? Лагранжевыми частицами? Проходили уже.

 

Горение полифракции за стабилизатором в зоне обратных токов Эйлером точно не посчитать. Не говоря уже об отскоке/ высаждении на стенку.

Им вообще ничего точно не посчитать, та же полифракция вам даст +5DOF на фракцию в одной ячейке, проходили это уже.

 

Все это отлично считается Лагранжем в параллель при минимальных накладных расходах. Любые виды полифракции, осткок/высаждение, дробление/коагуляция.

Вы что то не так делаете  :smile:

 

Наши возбудились чего-то. А открытых работ на эту тему не встречалось?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

 

 

PS: Считать  дисперсную к-фазу эйлером это моветон  :smile:

 

Чем предложите? Лагранжевыми частицами? Проходили уже.

 

Горение полифракции за стабилизатором в зоне обратных токов Эйлером точно не посчитать. Не говоря уже об отскоке/ высаждении на стенку.

Им вообще ничего точно не посчитать, та же полифракция вам даст +5DOF на фракцию в одной ячейке, проходили это уже.

 

Все это отлично считается Лагранжем в параллель при минимальных накладных расходах. Любые виды полифракции, осткок/высаждение, дробление/коагуляция.

Вы что то не так делаете  :smile:

 

Наши возбудились чего-то. А открытых работ на эту тему не встречалось?

 

Про что конкретно ? Вообще тонкости имплементации в большинстве случаев не публикуются  но по кусочкам можно найти почти все.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Про особенности моделирования горения дисперсного топлива Эйлер-Эйлер подходом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Про особенности моделирования горения дисперсного топлива Эйлер-Эйлер подходом.

Подшивку ФГВ поднимите лет за 20-30. Там много интересного. Причем самое интересное публиковалось в конце 80х начале 90х

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Обновлю тему свежей новостью:

 

«Ижевский радиозавод» в конце 2015 года начал производство персональных компьютеров «Эльбрус-401». Заказчиком является компания АО «МЦСТ» – разработчик микропроцессоров архитектуры «Эльбрус», — сообщила пресс-служба завода.

«Эльбрус-401» построен на базе микропроцессора «Эльбрус-4С», который работает на таковой частоте 800 МГц, система дополнена 24 ГБ оперативной памяти и поддерживает расширение до 96 ГБ. Тут также установлены жесткий диск емкостью 1 ТБ, и mSATA на 128 ГБ. На материнской плате реализован набор периферийных интерфейсов. Штатная конфигурация получила видеокарту AMD Radeon серии 6000.

 

https://hi-tech.mail.ru/news/izhevskiy-zavod-elbrus/

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Обновлю тему свежей новостью:

 

«Ижевский радиозавод» в конце 2015 года начал производство персональных компьютеров «Эльбрус-401». Заказчиком является компания АО «МЦСТ» – разработчик микропроцессоров архитектуры «Эльбрус», — сообщила пресс-служба завода.[/size]

«Эльбрус-401»[/size] [/size]построен на базе микропроцессора [/size]«Эльбрус-4С», который работает на таковой частоте 800 МГц, система дополнена 24 ГБ оперативной памяти и поддерживает расширение до 96 ГБ. Тут также установлены жесткий диск емкостью 1 ТБ, и mSATA на 128 ГБ. На материнской плате реализован набор периферийных интерфейсов. Штатная конфигурация получила видеокарту AMD Radeon серии 6000.[/size]

 

https://hi-tech.mail.ru/news/izhevskiy-zavod-elbrus/

А мы уже протестировали наш код под Эльбрусом :P

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А мы уже протестировали наш код под Эльбрусом :P

ну хоть какой-то отзыв оставьте!

Я затем и накинул новость...

 

Еще от Саши отзыва жду - интересно же, что получилось.

1 пользователю понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну хоть какой-то отзыв оставьте!

Я затем и накинул новость...

 

Еще от Саши отзыва жду - интересно же, что получилось.

Ну если коротко то работает  :biggrin:

 

Мы правда пускали не на 4C а на 2С+ ... но ну очень не быстро  :thumbdown:

 

В самом процессоре есть нюансы, из за которых пришлось слегка переписать бэкэнд под особенности архитектуры но в общем и целом обошлось без сильных переделок.

 

Под 4С видимо будет пошустрее но чудес не ожидается (будет быстрее пропорционально частоте и числу ядер)

 

PS: В первой pdf-ке сравнение с Атомом на 1-м и 2-х потоках, во второй - сравнение со старым 2-х ядерным Xeon-ом (Woodcrest) ... попугаи в pdf-ках разные (в первой - число итераций в секунду, во второй - время, затрачиваемое на 100 итераций)

 

PPS: Результаты не официальные  :biggrin:

Elblus-2c+ results2.pdf

Elbrus-2c+_vs_Xeon.pdf

Изменено пользователем HFL

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У нас тестовая работа идет в вялотекущем режиме на однопоточных примерах силами Волгоградского ГТУ.

Основные выводы:

- 2с и 4с отличаются по архитектуре и по инструкциям, лучше сразу под 4с делать, т.к. 8с со слов разработчиков имеет минимальные отличия;

- часть вещей по компиляции недокументирована, поэтому рекомендуется отдать на изучение кусок кода эльбрусовцам.

Изменено пользователем a_schelyaev

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мы делали тесты год назад когда 4C был доступен в виде инженерников для внутреннего тестирования. Код разумеется передавали эльбрусовцам (опенсорц версию).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В общем, не помрем, если введут санкции на ввоз процессоров...? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не введут. У них тут "дезайн центр" по софту в нижнем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

с одной стороны, можно свести во флейм.

 

но с другой - линукс, многопоточность в формате до 4x4

почему бы не собрать кластер для особо секретных вычислений.

вот, например, FlowVision интересуются представители разных мест. 

Тут можно и спец.лицензию (по цене) с привязкой к цп  сделать на софт,

ориентируясь на производительность этого ЦП относительно иностранных аналогов.

 

Это было давно) Больше чем 2 года назад)

И к итоговому результату я не имею никакого отношения,

но результат есть, и он такой:

Институт электронных управляющих машин им. И.С.Брука (ИНЭУМ, входит в Объединённую Приборостроительную Корпорацию) совместно с компаниями АО МЦСТ и ООО ТЕСИС успешно завершили первый этап работ по переносу на платформу Эльбрус программного комплекса вычислительной аэро- и гидродинамики FlowVision, создав рабочий прототип полностью российского программно-аппаратного комплекса для выполнения промышленных инженерных расчетов.

читать далее

post-26004-0-49915300-1467305233.jpg

Результатчисленного моделирования в FlowVision: приводнение спускаемого аппарата и сервер Эльбрус-4.4

1 пользователю понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А про производительность есть информация (официальная) в сравнение с современными процессорами ?

Изменено пользователем Arkur

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хуже, пропорционально частоте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А про производительность есть информация (официальная) в сравнение с современными процессорами ?

пока не удалось раскрутить на полноценный тест :( 

 

В сети есть тесты другого ПО под Эльбрус - на сайтах хабрахабр можно найти.

 

Но главное, что удалось выяснить за достаточно длительной время:

FlowVision сделали именно нативную версию под "Эльбрус", а не портирование x86 в режиме эмуляции.

Работает правая ветка этой картинки. Инфа 100% - от разработчика, который компилировал сборку.

Т.е. в целом тест имеет смысл сделать, хотя бы для самих себя понять ситуацию.

 

kompilyator.jpg

Хуже, пропорционально частоте.

я думаю, что если это так - от это более чем достойный результат, который стоило бы показать.

 

Всё таки на x86 FlowVision задействует AVX-инструкции, что позволяет с приличным КПД использовать процессор,

поэтому если отставание пропорционально частоте, то архитектура и конвейер не хуже...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всё таки на x86 FlowVision задействует AVX-инструкции, что позволяет с приличным КПД использовать процессор,

поэтому если отставание пропорционально частоте, то архитектура и конвейер не хуже...

Чтобы получить ощутимый эффект от AVX/AVX2 нужно либо плотно использовать в коде интринсики либо использовать оптимизированную библиотеку типа MKL (кстати аналогичная по функционалу библиотека есть и для Эльбруса - EML). Если просто в компиляторе включить поддержку AVX/AVX2 эффект будет на уровне 15-20% максимум. Кстати едва-ли не  бОльшую проблему в Эльбрусе для наших задач (решение разреженых матриц) представляет не низкая частота а отсутствие аппаратного префетча (предзагрузки данных из памяти в кеш).  Теоретически это должен был бы делать компилятор, но на практике этим приходится заниматься программисту.

 

Из положительного могу отметить очень хорошую масштабируемость (на моем коде). Но возможно это связано с общей низкой производительностью  :biggrin:

Изменено пользователем HFL

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Чтобы получить ощутимый эффект от AVX/AVX2 нужно либо плотно использовать в коде интринсики либо использовать оптимизированную библиотеку типа MKL (кстати аналогичная по функционалу библиотека есть и для Эльбруса - EML). Если просто в компиляторе включить поддержку AVX/AVX2 эффект будет на уровне 15-20% максимум. 

говорят, что используется Threading Building Blocks. про MKL не знаю.

Знаю, что в целом на эту тему напряглись. Вроде есть какие-то доклады программистов Тесис со специализированных конференций...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

говорят, что используется Threading Building Blocks. 

Вот  это самое загадочное. TBB - сугубо интеловский продукт

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот  это самое загадочное. TBB - сугубо интеловский продукт

чего загадочного? Это всё-таки не совсем моя тематика, но я интересуюсь) Расшифруйте скрытый посыл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу



  • Реклама

  • Сообщения