Jump to content

Параллельные вычисления в Cfx (Настройка)


Egor_K

Recommended Posts



Алексей Шмаков

Да, конечно работает, я им пользуюсь с 2007 года как для кластеров (с небольшими изменениями для кластеров связанных с отправкой в очередь задач кластера), так и для персональных компьютеров. А что, у Вас есть вопросы?

Link to post
Share on other sites

Да, конечно работает, я им пользуюсь с 2007 года как для кластеров (с небольшими изменениями для кластеров связанных с отправкой в очередь задач кластера), так и для персональных компьютеров. А что, у Вас есть вопросы?

есть один:

"указать общедоступную сетевую папку в качестве рабочей директории в формате UNC (\\hostname\CFXWork), в нее положить все исходные файлы" - исходные файлы - это файлы проекта? или еще какие-то?

Link to post
Share on other sites
Алексей Шмаков

А Вы пробуете между компьютерами в сети предприятия, в одном домене, с маршрутизатором? Если просто два компьютера под Windows соединены кабелем, то надо добавить их в одну рабочую группу, присвоить IP адреса и обращаться уже по IP адресам.

RSH вообще не причем, в случае использования MPI.

Link to post
Share on other sites
  • 4 months later...

А есть ли инструкция по настройке параллельных вычислений в CFX под Linux? Хочу наш кластер загрузить.

Link to post
Share on other sites
  • 3 months later...

Помогите, пожалуйста. Я не могу настроить параллельный расчет ansys 14.

Делал всё по <noindex>инструкции</noindex>, но не получается. Rsh работает, а вот программа не считает, выбивает ошибку ->

+-----------------------------------------------------------------------------------

| An error has occurred in cfx5solve:

|

| The ANSYS CFX solver could not be started, or exited with return

| code 255: . No results file has been created.

+------------------------------------------------------------------------------------

Использую два ПК. На первом (клиент):

Проц. - QuadCore Intel Core 2 Quad Q8200, 2333 MHz

ОЗУ – 8 Gb DDR-2

Система – Windows 7 Ultimate EN x64

На втором (сервер):

Проц. – Intelcore i7 - 920

ОЗУ – 14Gb DDR-3

Система – Windows 7 Proffessional RU x64.

Компы соединены на прямую. На сервере росшареный сетевой диск с проектом.

Link to post
Share on other sites
  • 1 year later...
Расчетчик

Под 7-ку и 14-ый Ansys

1. Не нужен rsh!!!!!!!!!!!!

2. Нужна на всех машинах системная переменная CFX_SOLVE_DISABLE_REMOTE_CHECKS=1 !!!!!!!!!!!!

3. Установка PC MPI в качестве службы на всех машинах (не рекомендую ставить из состава дистрибутива, в CFX солжен свой PC-MPI вот его и нужно пользовать, если Вы поставили PC-MPI из состава дистрибутива то снесите его и перезагрузитесь и потом добавляйте в службы "родной" PC-MPI), регистрация пользователя и пароля пользователя на вход в систему под которым считать собираетесь (пользователь с таким именем, паролем и одинаковыми правами должен быть зарегистрирован на всех машинах)

4. Брандмауэр лучьше вырубить, или добавить исключения как описано в посте #100 выше в этой теме http://cccp3d.ru/topic/15178-parallelnye-vychisleniia-v-cfx-nastroika/?p=462182

5. Машины должны быть в одной подсети и пинговаться

6. Имена машин должны быть "правильными"

Edited by Расчетчик
Link to post
Share on other sites
  • 2 months later...
A_Sebelev

Коллеги, приветствую!

Настраиваем параллельные вычисления на двух машинах (ANSYS 13): Win7x64 Pro (SP1) + Win7x64 Pro (SP1).

Распараллелили через MPICH2, вроде работает, но вот незадача: считает очень медленно. На каждой машине по 4 ядра, запуская на все ядра, получаем, что при использовании MPICH2 Distributed Parallel скорость счета на одной машине (на 4 ядрах) в 1,5 раза выше, чем скорость счета на двух машинах (на 8 ядрах). Монитор ресурсов показывает, что на главной машине задействовано только одно ядро, на ведомой машине задействованы все ядра, но не постоянно. Кто-нибудь сталкивался с такой проблемой? Как заставить MPICH использовать все ядра на главной машине?

Link to post
Share on other sites
A_Sebelev

Разобрались, если кому интересно. Дело было в настройке сети. Сначала пробовали соединять два компа напрямую кабелем, прописывая каждому соответствующие айпишники. Когда бросили обе машины в общую сеть с роутером, то все магическим образом заработало. Настроили параллельный счет для 14-го по инструкции из поста #95. Остался только один вопрос - знает ли кто-нибудь, какой процесс отвечает за перераспределение памяти между машинами? К примеру, работает 2 машины, на обеих по 16 Гб ОЗУ, при этом на головной используется 2 Гб, на ведомой - 8. Немного смущает такой перекос, когда на обеих машинах считает одинаковое число ядер.

Link to post
Share on other sites
  • 3 months later...
Расчетчик

Доброго времени суток!

Коллеги, приветствую!

Настраиваем параллельные вычисления на двух машинах (ANSYS 13): Win7x64 Pro (SP1) + Win7x64 Pro (SP1).

Распараллелили через MPICH2, вроде работает, но вот незадача: считает очень медленно. На каждой машине по 4 ядра, запуская на все ядра, получаем, что при использовании MPICH2 Distributed Parallel скорость счета на одной машине (на 4 ядрах) в 1,5 раза выше, чем скорость счета на двух машинах (на 8 ядрах). Монитор ресурсов показывает, что на главной машине задействовано только одно ядро, на ведомой машине задействованы все ядра, но не постоянно. Кто-нибудь сталкивался с такой проблемой? Как заставить MPICH использовать все ядра на главной машине?

Попробуйте в файле CFX/etc/start-methods.ccl убрать опцию -cpu_bind в методе запуска MPICH2 Distributed Parallel. Сталкивались что на многоядерной машине при запуске двух задачь (PMPI Local Parallel) они садяться на одни и теже ядра (по два процесса на одно ядро), причиной тому данная опция.

Рецепт подходит для любых методов запуска. Ориганальный файл можно не править, можно создать под локального пользователя свой файл настроек (копированием и правкой оригинального) и сложить его в папку настроек CFX пользователя (в мануале точные пути распианы на память не помню точные пути).

Странно что на головной машине только один процесс. Вы перед запуском количество партиций в solver manager для всех машин выставляете по 4-ре ядра?

Link to post
Share on other sites

 

Попробуйте в файле CFX/etc/start-methods.ccl убрать опцию -cpu_bind в методе запуска MPICH2 Distributed Parallel. Сталкивались что на многоядерной машине при запуске двух задачь (PMPI Local Parallel) они садяться на одни и теже ядра (по два процесса на одно ядро), причиной тому данная опция.

Рецепт подходит для любых методов запуска. Ориганальный файл можно не править, можно создать под локального пользователя свой файл настроек (копированием и правкой оригинального) и сложить его в папку настроек CFX пользователя (в мануале точные пути распианы на память не помню точные пути).

Странно что на головной машине только один процесс. Вы перед запуском количество партиций в solver manager для всех машин выставляете по 4-ре ядра?

Много перепробовали вариаций, остановились в итоге на 14-м ANSYS и impi. А дело было в порочности сети: изначально соединяли компьютеры напрямую через гигабитные порты и прописывали вручную IP и DNS. Когда соединили через коммутатор, все заработало нормально. По поводу одного процесса на головной машине - мы по замерам получили, что для ряда не самых больших задач оптимальнее использовать 1-2 процесса на головной машине и загружать все ведомые. Как я понимаю, собственно на головной машине процесс счета не идет, идет только композиция / декомпозиция (судя по загрузке ОЗУ).

Link to post
Share on other sites
Расчетчик

 

 

Попробуйте в файле CFX/etc/start-methods.ccl убрать опцию -cpu_bind в методе запуска MPICH2 Distributed Parallel. Сталкивались что на многоядерной машине при запуске двух задачь (PMPI Local Parallel) они садяться на одни и теже ядра (по два процесса на одно ядро), причиной тому данная опция.

Рецепт подходит для любых методов запуска. Ориганальный файл можно не править, можно создать под локального пользователя свой файл настроек (копированием и правкой оригинального) и сложить его в папку настроек CFX пользователя (в мануале точные пути распианы на память не помню точные пути).

Странно что на головной машине только один процесс. Вы перед запуском количество партиций в solver manager для всех машин выставляете по 4-ре ядра?

Много перепробовали вариаций, остановились в итоге на 14-м ANSYS и impi. А дело было в порочности сети: изначально соединяли компьютеры напрямую через гигабитные порты и прописывали вручную IP и DNS. Когда соединили через коммутатор, все заработало нормально. По поводу одного процесса на головной машине - мы по замерам получили, что для ряда не самых больших задач оптимальнее использовать 1-2 процесса на головной машине и загружать все ведомые. Как я понимаю, собственно на головной машине процесс счета не идет, идет только композиция / декомпозиция (судя по загрузке ОЗУ).

 

Один процесс на головную никода не вешали, но она считает и вероятно связывает все остальные процессы. Да совершенно верно-декомпозицию делает головная машина. Если не хватит ОЗУ на декомпозицию то задача не стартует. Выход-делать декомпозицию до старта с созданием par-файла на машине с большой памятью.

В процессе счета на головной машине съедается (по памяти) на 20% больше оперативной памяти. Может Вам при равной загрузке машин процессами не хватило ОЗУ, процесс на головной машине ушел в своп и встал?

Выход-вешать на головоной машине меньше процессов, так что бы не перебрать количество доступной ОЗУ.

Link to post
Share on other sites

Один процесс на головную никода не вешали, но она считает и вероятно связывает все остальные процессы. Да совершенно верно-декомпозицию делает головная машина. Если не хватит ОЗУ на декомпозицию то задача не стартует. Выход-делать декомпозицию до старта с созданием par-файла на машине с большой памятью.

В процессе счета на головной машине съедается (по памяти) на 20% больше оперативной памяти. Может Вам при равной загрузке машин процессами не хватило ОЗУ, процесс на головной машине ушел в своп и встал?

Выход-вешать на головоной машине меньше процессов, так что бы не перебрать количество доступной ОЗУ.

 

Да нет, памяти хватает. Гоняли задачу на 16 млн узлов - на считающих машинах выгружает по 20 Гб ОЗУ, при этом 8 Гб на головной машине на партишининг хватает с запасом. Кстати, заметили еще один момент - для больших задач если ставить 2 процесса на головной, задача не запускается; если ставить все 4 (по числу ядер) - стартует. Думаю, что есть определенный лимит памяти на ядро.

Понятно, что это все копейки, но для уровня колхозного кластера уже кое-что

Link to post
Share on other sites
  • 2 years later...
DoktorKTO

интересно, а этот пакет  ANSYS, и подобные, делающие виртуальную продувку моделей , считают на видео картах NVIDIA CUDA?

ведь там не 4 или 8 ядер, как в процессорах i7, а гораздо больше, до 3840 ядер(!), у старших моделей карт.

кто то может дать пояснение и поделиться опытом?

Edited by DoktorKTO

мир более фантастичен, чем самые смелые фантазии писателей!

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Сообщения

    • alex0800
    • mannul
      Набросал на Jscript для головы AC вилочного типа: https://www.programiz.com/online-compiler/4lKHjYPdbXL9k @ceprДля головы что на видео надо знать кинематику и ориентацию.
    • Ander
      Чтобы расчитывать углы для такой машины, надо знать её возможности - нужен мануал.
    • cepr
      Именно так HEAD-HEAD и +-180 Видео, там где голова синего цвета https://www.youtube.com/shorts/-5SJILz81VQ?feature=share    
    • Dipnik
      Помогите разобраться с кнопкой DRN При отладке программы и попытке её посмотреть в графике блокирую оси кнопкой MLK и для замены рабочих подач на ускореные жму кнопку DRN.  Проблема, что чаще всего отображение происходит на рабочих подачах (это очень долго)  То есть у коренные движения отрисовываются, а на рабочих подачах останавливается графика пока не отожмеш кнопку drn Немогу отследить логику. То есть то работает нормально и рабочее подачи заменяются на ускореные, то нет.  Заранее благодарю за ответы. 
    • mannul
      Ошиблись наверное? В кинематике HEAD-HEAD ось A обычно +-105 градусов. В какой последовательности хотите пересчитывать? XYZ Roll Pitch Jaw?
    • Leon
      Ну так то все вроде работает. Макросы в СП5 заработали. Платную версию я тоже сделал, так что она со всеми сервиспакми 25 версии теперь работает. У меня нет возможности делать запросы.
    • Ander
      Зачем углы считать - фаска вдоль оси Х, значит, поворот только вокруг Х. Наклоняем стол на 40 градусов, ось наклона параллельна оси Х.  Вот теперь надо расчитать  Y середины фаски i Z фрезы  от рабочего нуля, т.е. действительно, смещение. ROT - это  вращение программы, здесь он не катит.     Если фаска на детали не параллельлна Х, то надо считать углы поворота и наклона, чтобы плоскость фаски оказалась горизонтальной, и она вряд-ли будет параллельна Х, поэтому придётся считать и угол разворота этой фаски. Расчёт ведётся от чертёжных размеров, но конструктора ни знают какие размеры нужны для этих расчётов, поэтому надо использовать модель, а если испоьзуешь модель, то можно и углы разворотов с неё снять.
    • cepr
      Да, машинные углы. Круговые координаты А и С. А - качающаяся ось -180 до 180, А система координат без проблем - TRANS, ROT и прочее. Надо, например, фрезеровать фаску 10*45 градусов. Систему координат поверну ROT Х-45. На какие углы при этом будут повернуты А и С?  
    • mannul
      Не понятно что вы хотите. Пересчет последовательности углов Эйлера в машинные углы, для имитации CYCLE800?
×
×
  • Create New...