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

Нужна помощь mpi-win7


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

доброго всем дня

столкнулся с такой проблемой в 13 fluent

имеется один системный блок далее СБ следующей конфигурации

intel i7 x990 3.47 -12 потоков

24гб озу итд...

все стоит Ha asus rampage 3

и еще 4 i7 x950

проблема при распаралеливании такая при подключении х990 к остальным, а точнее остальных к х990 нет ни какого прироста во времени расчёта, а наоборот его увелличение, сеть 1 ггб маршрутизатор cisko пробовал расчёт и на hp-mpi intel mpi которые идут в комплекте, ни чё не помогает посоветуйте хоть что нибудь может кто знает

С ув. Batiska

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


Доброе время суток.

Batiska, на Ваш "крик души" = "... ни чё не помогает посоветуйте хоть что нибудь ...", могу только чуть чуть поделиться опытом и дать направление для дальнейших изысканий:

1) всегда удивляет когда на реальных 4-ёх или теперь уже есть = 6-ти ядерниках (в перспективе 8, 12, и т.д.) распараллеливают соответственно на 8 или 12 процессов, объясню почему, как сам понимаю, так сказать "на пальцах" - реально процессоров всего 4, в Вашем случае 6, тот Гипертрэйдин который принимается операционкой за дополнительный процессор является лишь неким набором инструкций которые могут выполняться когда основной процессор полностью занят, или иначе - это некий шестой палец на руке которым вроде как бы можно где то ковырятся и что то делать пока рука работает, но это неполноценная рука. Как показывают тесты и опыты реальный прирост в специально заточенных программах под работу с Гипертрэйдингом не более 10%. Возникает вопрос - нужны ли Вам эти 10% ? - Сам бы ответил, на длительных расчетах - наверное ДА!, но есть другой момент - Ваша задача делится не на 6 процессов а на 12, следовательно каким то образом каждый процесс должен обмениваться с остальными тем что он сделал чтобы потом считать дальше, а это как понимаете не с пятью соседями договариваться, а с одиннадцатью - и тут теряется в производительности гораздо больше чем приобретается за счет Гипертрэйдинга. Это чисто мое мнение и я не претендую на истину в конечном виде и готов к любому обмену мнениями.

2) если наложить вышесказанное на конкретную персоналку то работа всех процессоров со своей памятью = достаточно быстрая, но если делить процессы между машинами в сети, то времена пересылки информации между процессами возрастают на порядки.

3) честно сказать, я не знаю точно как Fluent автоматически делит задачу на процессы когда используется сетевое распараллеливание - возможно что "соседнии данные" закрепляются за каждой отдельной машиной и Fluent минимизирует обменные данные между машинами. Но как сами понимаете на первом этапе загрузки и распараллеливания Fluent не знает ничего кроме того какой объем ячеек Вашей сетки отдать и скольким процессам. Банально, если есть 1 000 000 ячеек и 10 процессов то он раздаст в районе 100 000 ячеек каждому процессу. Пишу, так сказать "на пальцах", многие разбирающиеся в параллелизме меня могут править, и я с ними соглашусь, но это будет дискуссия не для этой темы. Так вот, представте на Вашем 6-ти и 4-ёх ядернике в сети как поделится эта задача!? - По 100 000 ячеек на ядро. Ядер у Вас всё равно 6+4=10, а если бьете с Гипертрэйдингом то 12+8=20 процессов и следовательно 50 000 ячеек на процесс (который всё равно будет считаться 1-им ядром для 2-ух процессов и всё равно 100 000 ячеек). Но если представить все в виде шахматной доски - чем больше на ней квадратиков, тем больше соседей с которыми надо обмениваться. И хорошо если эти соседи как можно меньше пересылают по сети, а если, например, поделено так что каждый четный процесс на 4-ёх ядернике должен обмениваться с нечетным на 6-ти ядернике?! - то пересылки займу гораздо больше времени чем расчёт!

4) теперь касаемо совета - как быть Вам. Читать ХЕЛП про нижеследующее.

Fluent -> Parallel -> Partitioning and load balansinb...

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

Я, одно время "поигрался" со вкладками - "Weighting", "Dynamic Load Balancing". В первой надо для своей модели правильно включить и задать параметры "сбора ИНФЫ" = весовых характеристик рассчитываемой задачи, а во второй включить "Physical Models" и там всё правильно задать. В результате, если в двух словах, то Fluent после выполнения определенного количества итераций должен сверить заданные параметры, рассчитанные веса и перераспределить объем ячеек между процессами. Если вернуться к примеру из пункта 3) (см. выше) то исходя из сложности задачи между процессами могут поделится данные не по 100 000 ячеек на ядро, а в какие то процессы пойдет по 10-20 тыс. ячеек, а в какие то и по 80-90 тыс. ячеек и при этом задача решаться станет гораздо быстрее.

P.S.

Лично я, спецов сильно разбирающихся в распараллеливании средствами Fluent не встречал и до всего доходил сам. Эта тема мне интересна и если кто то поделится опытом в этом направлении - респект и уважуха. Правдо, с некоторых пор нам в отдел закупаются машины типо вашей - сугубо 6-ти ядерники с 24 ГБ оперативы и т.д...., а для решения "объемных" задач есть доступ к суперкомпьютеру, но всё равно балансировка нагрузки достаточно интересная и полезная тема и для суперкомпьютера, который в нулевом приближении - те же компы связаные по сетке (но очень быстрой сетке). Сам этой темой перестал заниматься из-за нехватки времени, поскольку достаточно затратно эмпирически перебирать параметры и методы, даже для конкретной "вылизаной" задачи.

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

огромное спасибо за столь вразумительный отзыв

буду пробовать

С ув. Batiska

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Клиент
      Это какая то секретная версия для секретных работ: https://en.wikipedia.org/wiki/Mastercam
    • Борман
      Максимально абстрактная формулировка...   Есть нагрузка в виде переменного воздействия "Э" (условно переменное напряжение), есть исследуемая механическая система ("МС"), которая восприимчива к обычному механическому воздействию. Между "Э" и "МС" есть электро-механическая система "ЭМС", на которую можно воздействовать напряжением и которая будет откликаться перемещением.   Ну т.е. логика такова: Э -> ЭМС -> МС. Это было для примера, а теперь просто представляем некую степень свободы Э, которая не может воздействовать на МС, но может это делать только через ЭМС.   У ЭМС есть собственные частоты и формы, которые связывают "Э" и "М" степени свободы. Если такая же частота будет присутствовать в МС - системе, то это будет опасно, и "Э" - воздействие будет вызывать резонанс в МС-системе. С этим вроде как понятно.   Но если я буду рассматривать единую "ЭМС+МС" - систему. У этой системы есть собственные частоты, формы будут связывать Э и М степени свободы, и ничего особенного я не увижу.. НО как понять, что нагружать эту систему нагрузкой Э опасно ?
    • gudstartup
      а 319 контроллеров у вас нигде более нет чтобы попробовать? может попробовать обычным step7 выгрузить 317 добавив туда какой нить аддон поновее версии? вы побольше выливайте все впитаем а с чего вообще взяли что аддон синумерик 1 предназначен только для тиа портала? для этого в степ 7 были аппаратные апдейты и я уверен что в тиа они тоже есть только нам сейчас недоступны
    • Andrey.V
      Совсем нет, у меня есть х8. 2016 совсем другой 
    • hlibhlib
      Нашел в инете запись про мастеркам 2016 = Оказывается, это Мастеркам 8 
    • Andrey.V
      2016 версия  Выше ответил. Оригинал файла не могу выслать, поищу что-то похожее и обязательно вышлю 
    • hlibhlib
      Может Эксклюзив????????????   Но такой версии точно не было. ))
    • GalielO
      Такой версии нет. Есть Х9 и 2017. У вас точно Mastercam?
    • Andrey_kzn
      @gudstartup , а вы впитываете информацию как губка Код у сименса хранится в контроллере в пригодном для редактирования виде. И по идее, должен выгружаться. Естественно без комментариев. Просто в нашем случае - это станок с 840DSL и контроллер  319, выгрузить проект в портал я  не могу. И в Step7 тоже не могу, пишет что-то про несовместимость версий.  Как будет в случае с настоящим Sinumerik ONE, не знаю.  Там контроллер 1500. Тут ещё надо не забывать о аппаратно-программной совместимости портала и железа, порталов уже куча разных версий вышла.  Поэтому, если перед вами станок с Sinumerik ONE, совсем не факт, что железо будет совместимо с вашей версией портала.  Станок с проектом в тиа портале у нас один,  и попробовать больше негде.  
    • hlibhlib
      Попробуй    Строй поверхности и по ним траекторию. Нет файла = нет конкретики.
×
×
  • Создать...