Перейти к публикации

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


Рекомендованные сообщения



Выяснил с огорчением, что мое ЦУ не было отработано и по 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

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

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

 

 

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

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

 

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

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

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

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

:rolleyes:

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

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

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

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

 

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

 

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

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

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

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

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

 

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

 

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

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

 

 

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

 

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

 

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

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

 

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

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

 

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

 

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

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

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

 

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

:)

Ссылка на сообщение
Поделиться на других сайтах
  • Bonusfrag закрепил это тему

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

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

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




  • Сообщения

    • eljer0n
      Большое спасибо! Посмотрю. Но, судя по всему, даже если удастся заставить его сохранять чертеж с трехзначным исполнением, видимо, в той же спецификации правильного отображения не добиться. У Леона с товарищем был об этом разговор, что солид вроде как не воспринимает исполнения дальше двузначного. Хотя, может и я неправильно понял. Вернусь к этому вопросу чуть позже. Еще раз спасибо за совет.
    • mrVladimir
      @gudstartup @Viktor2004 спасибо Вам за такое участие.  Я вот тоже в maintenance manual заглянул (наконец-то ). А вот фраза "при замене FROM/SRAM необходимо ..." (под пунктом 3 во вложении) не подразумевает, что появление ps5523 произойдет только если мы решим на нашей чпу поменять именно FROM/SRAM. А при замене других печатных плат (в том числе и материнской ) необходимо только как написано в пункте 2 восстановить данные памяти SRAM и, при необходимости, файлы пользователя. Нет?
    • maxx2000
      @davidovka это же очевидно. Вдруг нужного размера не окажется  как в анекдоте  
    • davidovka
      А для чего и сотни исполнений в таблице и гибкость одновременно?
    • ak762
      в СВ есть встроенный калькулятор для расчета балок при различных сценариях нагружения если ваш профиль монорельса совпадает с предопределенными профилями то можно прикинуть поведение монорелься без анализа на картинке 2 расчета двутавровой балки в качестве теста    
    • Viktor2004
      @mrVladimir не спешите отчаиваться. Вопрос спорный Я завел новую тему в которой мы это выясним  
    • Viktor2004
      Уважаемые специалисты. У кого был опыт замены фануковских плат? Именно на ЧПУ. Пожалуйста напишите какое ЧПУ и какую плату меняли И результат. Подошла или не подошла  
    • gudstartup
      @mrVladimir к сожалению с вашей платой все не так просто вам придется приобрести ее клон то есть она должна быть подготовлена продавцом и в нее должен быть записан серийный номер вашей старой платы он на штрихкоде а так готовить умеют не все или готовьтесь к сертификации опций также есть еще один аппаратный вариант но не каждый будет на новую плату м\сх перепаивать с риском превратить ее в кирпич.   если бы у вас был отдельный модуль процессора то вы бы просто переставили его в новую плату и все а с этой платой из-за ее не модульности намучаешься
    • SAPRonOff
      в окне состава изделия снять замочки у колонки позиция, тогда генератор колонки состава изделия не будет им присваивать свои значения автоматически, а запомнит то - что вы поставили или стояло до изменений проекта: 
    • Kelny
      Смотреть надо процедуру main, почти в самом конце: Слева от этих строк на сером поле ставите красные точки (клик мышкой) и запускаете макрос, когда макрос дойдёт до обозначенных строк можно будет наводить мышку на перменные, например, sPathName и смотреть значения, что бы определить где сбой: Для продолжения выполнения макроса нажимаем зелёный треугольничек (как кнопка Play).      
×
×
  • Создать...