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

Распаралеливание Autodyn


ne6u4u

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

Собственно создам еще раз топик, пусть будет мануалом последователям в котором попробую собрать все свои действия и вопросы, да и коллега на помощь которого рассчитываю заглядывает только в топики Autodyna)

Воюю уже несколько дней)

Имеется Core 2 Quad 9400, который хочется использовать на всю катушку.

Действия по порядку:

1). Установка Ансис 13.

2). Установка менеджера лицензий.

3). Установка MPI и ее настройка:

После установки дописать в системной переменной "path" строку %MPI_ROOT%\bin, и запустить для сохранения пароля файл ANSYS Inc\v130\ansys\hpmpi\sethpmpipassword.bat

Первый подводный камень - не на всех компах прописана переменная %COMPUTER_NAME% или как то там так) Либо прописать ее, либо изменить этот самый бат файл, убрав там эту переменную и вместо нее написав имя компьютера.

Вот содержание моего бат файла: "%MPI_ROOT%\bin\mpidiag" -s PC5 -cache -at

Командные файлы запускаем из под cmd дабы контролировать что он пишет перед тем как вылетает)

Первый мой вопрос, скорей всего Иосифу Виссарионовичу))):

после запуска этого файла и нажатия кнопки Enter он сам копирует пароль от запущенной учетки?..

Ибо ни на какие клавиши кроме Enter он у меня не реагирует, и после нажатия пишет: Message received from Service: Paul

Далее действуем по тому же алгоритму:

3). Создаем файл autodyn_hpmpi.bat (который я поместил в корневой католог автодина, дабы просто так они не валялись по всему компу) с содержанием:

mpirun -e MPI_WORKDIR="C:\Program Files\ANSYS Inc\v130\aisol\AUTODYN\intel" -f applfile

Здесь можно сделать небольшую своеобразную проверку всего сделанного выше:

а) в winXP из под cmd запускаем созданный autodyn_hpmpi.bat, если до этого момента все сделано правильно, то напишет что не найден applfile...

3). Создаем applfile (я опять создал в корневом каталоге) с содержанием:

-e MPI_FLAGS=y0 -h PC5 -np 1 "C:\Program Files\ANSYS Inc\v130\aisol\AUTODYN\intel\autodyn.exe"

-h PC5 -np 3 "C:\Program Files\ANSYS Inc\v130\aisol\AUTODYN\intel\adslave.exe"

Опять же для контроля действий создавать этот файл можно по кускам, сначала например 1 строку и запустить из под cmd - запустится один главный процесс автодина, добавив вторую строку запускает сам АД и три слейв процесса..

4) Скопировать файл applfile в папку конфигурации AUTODYN: C:\users\<имя пользователя>\Application Data\Ansys\v130\AUTODYN

ЗЫ: в win7: C:\users\<имя пользователя>\Application Data\ Roaming\Ansys\v130\AUTODYN

Собственно у меня при запуске сразу грузиться на 75%, т.е. слейв процессы грузят на полную свои ядра еще до запуска расчета, делаем декомпозицию на домены, домены по задачам, причем где-то кто-то писал что количество доменов должно быть равно кол-ву подчиненных процессов. Тогда при распр-нии доменов по задачам указывю количество задач:3 при указании 4 Автодин пишет что слишком много задач и предлагает запуститься в обычном, нераспараллелином режиме.

В общем после запуска задачи возрастает количество памяти которую кушают слейв процессы с 9 метров до 200-300, задача начинает считаться, но прироста в расчете не наблюдается совсем.

Теперь вопрос номер два)):

в чем здесь скорей всего проблема, в кривых руках в декомпозиции, или может все таки что то с паролем не так? Хотя если бы с паролем, у меня есть подозрения что не запустились бы слейв процессы

Небольшой upd для win7: делал эти же действия на win 7 столкнулся с такими подводными камнями:

Бат файл autodyn_hpmpi.bat в котором прописана mpirun т.е. запуск mpi видимо, из под обычной cmd не запускался, использовал Пуск->HP-MPI->Command Promt. Там такая же cmd, но видимо уже с запущенными службами MPI или что то такое, не знаю в общем как это объяснить, но запуск autodyn_hpmpi.bat в ней сработал нормально))))

Еще одно дополнение: в вин xp пути копировал из Адресной строки папки, в вин 7 такое опять не прокатило, толи он кодировку свою какую то вставляет или что то еще, наибыстрейший способ взять пути - создать ярлыки файлов Autodyn.exe и adslave.exe на рабочий стол и скопировать из их свойств строки "объект" "Рабочая папка". С путями скопированными оттуда до запуска слейв процессов добрался)

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


Ио́сиф Виссарио́нович

Я во многих ветках лазею ;-)) иногда под разными никами даже....;-))

В общем с утра завтра чё - нибуь напишу.

Ща на скорую память могу припомнить, что....., попробуй папку с автодином скопировать на диск C и назвать её для простоты 1.

тоесть c:\1

В файле applfile не ставь кавычки в путях (раньше из за этого долго голову ломал)

В команде запуска mpirun -e MPI_WORKDIR .... в конце укажи полный путь к applfiel

тоесть, к примеру, ....... -f c:\1\applfile

командами mpirun -cache или -pass профикси свой пароль для входа в финдус

Ладно - завтра посмотрю что можно сделать, а вообще большое спасибо моему историческому врагу БОРМАНУ, который успешно подтёр пару тем, где я ещё с ником THE_MASTER подробно расписывал как всё это делается.... итить его сапогом :gun_guns:

да и ещё, в HP-MPI нормально, что все процессы грузяЦЦа сразу на 100 процентов. так должно быть (в wmpi такого не было), поэтому саму модель лучше строить на одном ядре, а считать на многих. Прирост есть в производительности - и хороший ..... вся....я отчалил во мглу

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

Правила доса с 8 знаками и отсутствием пробелов как раз обходятся стороной благодаря наличию кавычек насколько мне кажется) Поэтому и переносить папки не обязательно как мне думается, ведь слейв процессы то у меня запускаются норм, значит он все пути находит нормально.... в том числе и к палфайлу. Так как в 13 версии ВВ есть в эксплисите, то всеми действиями которые описаны мною выше распаралелился эксплисит из под ВБ вроде как, там галочку только одну поставить надо. А с переносом папок эксплисит параллелить перестанет я думаю. У меня все таки подозрения либо на то что пароль не пофиксился, либо на кривую декомпозицию...

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

Щас времени реально нет.

Но в двух словах, лично у меня запустились слэвы только без кавычек в путях и с установкой hp-mpi с папку на диске С - c:\hp-mpi.

Но если у тебя всё запускается, запускаешь автодайн в обычном режиме без MPI и загружаешь пример b3d2p2_0.ad из папки с примерами к автодайну C:\Program Files\ANSYS Inc\v130\aisol\Samples\AUTODYN

Запускашь...смотришь с какой скоростью бегут шаги.....

Далее запускаешь тоже самое, только с Hp-mpi, в разделе параллельной настройки выбираешь 4 сабдомайна (у тебя ж 4 ядра? (к примеру по К секции)). А таск асигмент ставишь на автомат. Запускаешь и смотришь, что на этот раз так сказать тикеты бегут быстрее.... Ну так у меня по крайней мере, может у тебя особо и не заметно....у меня - то 8 ядер (два ксеона 4-ъ ядерных....)

Вот кстате нашёл своё старое сообщение по поводу этого - но ты наверное его уже видел - <noindex>http://fsapr2000.ru/index.php?s=&showt...st&p=366288</noindex>

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

Да, спасиб, его тоже видел, запускается все так, без переносов, сейчас попробую на том примере декомпоз сделать)

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

Ну чё чувствуешь мощь ??? :biggrin:

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

Попробовал) На этом примере все гуд - время решения уменьшается на 9 секунд где то, так что видимо все работает, просто я не разобрался с декомпозицией)) ТАк что огромное спасибо) А если в задаче не одна лагранжева деталь как здесь, а например 8? Каждую надо разбивать на субдомены по количеству ядер, т.е. в моем случае на 4? и потом один раз запустить таск ассинментс автоматом?

Ну если у меня на таком простом примере задача в простом режиме решалась 25 секунд а в распараллелином 16, то да, мощь чувствую... :smile: Просто мне крайне необходимо посчитать пару задач "побольше" в короткие сроки))) :smile:

Ссылка на сообщение
Поделиться на других сайтах
Ио́сиф Виссарио́нович

Про автомат таск асигмент - я его выбирал здесь, потому что иначе мне выдавалось предупреждение Too few manual ....., run in serial ? а после этого - проблем терминэйтед - эрор ин параллел сетап :-))

Вообще просто надо по экспериментировать с декомпозициями ..ща время нет просто....возможно самому разбивать будет эффективней в итоге....

По поводу 8 деталей и сабдомэйнов - ты немного ошибаешься. Если у тебя всего 4 ядра, то ты и можешь делить всю расчётную модель для распараллеливания на 4 части - тоесть на 4 сабдомэйна, или по крайней мере на меньшее число.....Тоесть из твоих восьми деталей можно выбрать по две в один саб домайн и будет так сказать 4 группы. Тоесть на каждом ядре отдельно параллельно будут считать по две детали.

P.S.: Попробовать обмануть автодайн и написать, что хочу считать на 100 сабдомайнов имея 4 ядра конечно я не пробовал - но 100 пудов ты получишь в ответ - error in parallel setup или какой нибуть тормозной расчёт - но точно ничего хорошего не выйдет :rolleyes:

Если чё - обращайся :beer:

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

Я пробую вот так... Детали не разбиваю на субдомены, сразу перехожу к Task Assigments, если выбираю автоматик он разбивает на 3 Taskа, и действительно он разделяет разные детали в разные таски, не по кол-ву группирая а в зависимости от их размера, но в таком случае у меня расчет идет медленнее чем в обычном режиме))))

Ссылка на сообщение
Поделиться на других сайтах
Ио́сиф Виссарио́нович

Ну так ответ напрашивается сам собой - попробуй без автомата сам разбить. К примеру, ...да маловато у тебя ядер конечно...., ну так вот - разбей одну деталь на 3 сабдомайна, а остальные пусть считает 4-й процесс или что - то в этом духе.... Вообще искусство декомпозиции - это очень творческое занятие, много про это читал - вообще говоря это всё очень сложно...сложно идеалньо разбить на сабы.....всегда есть тормозящие факторы....графики видел даже всякие....вообщем попробуй - а лучше скинь модель свою сюда - я сам попробую - или скрин хоть скинь - посмотрю что я зверь у тебя ;-))

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

Да и нужно ли параллелить???!!! У кого-то там на 9 секунд расчёт быстрее прошел и все кинулись параллелить! не мучайтесь, люди! Это всё бесполезно! Сами подумайте: как может быть так, что только запусти Автодайн и все ядра на 100%??? А расчёт пойдёт - что должно быть???!!! Я пробовал параллелить 2 проца по 4 ядра, оперативы 23 Гига, Win Xp 64x. Бесполезно!!! Пробовал поставить видео карту GPU - изменения появились! Но не на много! Оперативки ест 2,5 гига, а жесткие диски все время загружены! Это как так?! Могу сделать предварительные выводы: параллелить смысла нет, нужно железо с GPU, жесткий диск со скоростью 15000 и отдельным процессором на него (он стоит около 60 тыс.), процессоры с частотой как минимум 3 ГГц и не игровые для детей! Вот тогда можно будет посмотреть на результаты!!!

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

всем привет! подскажите пожалуйста! При распараллеливании на 8 ядер у меня постоянно вылетает сообщение, что нужно включить Beta опцию. Я её включаю, а она выдает мне, что в этом режиме можно использовать только 2 ядра. Ставлю в applfile количество ядер 2, и c Beta опцией процесс параллелится и считает. Прирост есть! А как это всё сделать на 8 ядер? Уже всё облазил! А то кроме 100% загрузки процессоров ничего нет. Interaction установлен trajectory. Устанавливаю gap size и выходит сообщение, что значение неправильное. Оменьшаю его до -07 степени и вылетает, что количество ядер не соответствует данным. Кто-нибудь видел реальный прирост скорости расчётов?

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

HP-MPI всегда грузит все процессоры на 100%, независимо от того идёт расчёт в данным момент или нет. По - этому сама модель и все параметры делаются в обычном режиме, параллелится всё только по мере необходимости расчёта.

Про бета опцию - у тебя наверное ансис левый. Скачай нормальный с рутрэкера. www.rutracker.org

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

Спасибо! Но я его оттуда и скачал. В чем ещё может быть причина?

Что то не пойму, у тебя что конкретно с бетой не так? автодайн ваще не считает на 8-ми ядрах если беты выключена?

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

P.S.: речь идёт про 13-й ансис ?

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

да про 13. Я задействовал 8 ядер, потом распараллелин на 8 ядер автодайн, а он мне пишет, что данная функция работает только в бета режиме. Я включил бета режим, а он мне выдает, что в бета режиме можно параллелить только на 2 ядра. Несколько раз так проверял - бесполезно. Помогите с решением проблемы!

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

да про 13. Я задействовал 8 ядер, потом распараллелин на 8 ядер автодайн, а он мне пишет, что данная функция работает только в бета режиме. Я включил бета режим, а он мне выдает, что в бета режиме можно параллелить только на 2 ядра. Несколько раз так проверял - бесполезно. Помогите с решением проблемы!

Во-первых, ты же видел наверное мой старый пост <noindex>http://fsapr2000.ru/index.php?s=&showt...st&p=366288</noindex> , там видно на втором изображение, что идёт расчёт на 8-и ядрах. Так что это вполне реализуемо.

Что то мне подсказывает, что ты вообще путаешь всё с WMPI.

Так что:

1. Установлен ли на компе csWMPI ?

2. Установлен ли HP-MPI ?

3. Выложи скриншоты с предупрежденеим.

4. Искал ли ты в опциях автодайна что - нибуть про бета опцию?

5. Выложи текст applfile

6. Выложи строку, который ты запускаешь автодайн в параллельном режиме

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

спасибо за то, что уделяете время! На компе утсановлен HP-MPI. В опциях автодина в самом низу есть бета опция, вот он и просит её вкючить.

вот текст applfile

-e MPI_FLAGS=y0 -h ingur -np 1 "C:\Program Files\ANSYS Inc\v130\aisol\AUTODYN\winx64\autodyn.exe"

-h ingur -np 8 "C:\Program Files\ANSYS Inc\v130\aisol\AUTODYN\winx64\adslave.exe"

так я запускаю

mpirun -e MPI_WORKDIR="C:\Program Files\ANSYS Inc\v130\aisol\AUTODYN\winx64" -f "C:\Users\ingur\AppData\Roaming\Ansys\v130\AUTODYN\applfile"

Он запускает все 8 сразу, загрузка на 100%.

скрины выложуть в пн. Сейчас немного занят другим.

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

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

Единственное, что могу пока добавить в ответ на твоё сообщение в соседней ветки про автодайн и про то, что у тебя из 24-х гигов памяти используется 3...4 - ТЫ ЗАПУСКАЕШЬ HP-MPI в 32-х битном режиме. Для запуска его в 64х битном надо в пусковую команду добавлять флаг -mpi64:

mpirun -mpi64 -e MPI_WORKDIR=C:\winx64 -f applfile

Для справки: 32-х бантая адресация памяти (Win x86) может адресовать память с максимальным размеров = 2 в степени 32 = 4294967296 байт, а 64-х битная система соответственно: 2^64 = 18446744073709551616 байт.

P.S.: Не смотря на то, что 32-х битный виндус может использовать до 4-х гигов, фактический на один процесс он максимум может выделить где - то 1,7 гига максимум, даже меньше...

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

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

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

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

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

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

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

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

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

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

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




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