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

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


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



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

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

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

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

есть один:

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

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

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

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

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

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

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

Помогите, пожалуйста. Я не могу настроить параллельный расчет 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.

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

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

Под 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. Имена машин должны быть "правильными"

Изменено пользователем Расчетчик
Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...

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

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

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

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

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

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

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

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

Настраиваем параллельные вычисления на двух машинах (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-ре ядра?

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

 

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

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

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

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

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

 

 

Попробуйте в файле 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% больше оперативной памяти. Может Вам при равной загрузке машин процессами не хватило ОЗУ, процесс на головной машине ушел в своп и встал?

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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




×
×
  • Создать...