PARALLEL.RU

Дискуссионный клуб по параллельным вычислениям
Текущее время: 26 май 19 16:14

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: 13 апр 09 15:04 
Не в сети

Зарегистрирован: 13 апр 09 14:38
Сообщения: 9
Здравствуте, уважаемые форумчане. Возникла такая проблема. Хочу настроить один МКЭ решатель для распараллеливания вычислений. У меня 1 комп с четырёхядерным процем, операционка WinXP x64. Он (решатель) мне в логе пишет, что нет запущенных MPI служб, вот цитата:
"ERROR: Intel MPI Process Manager Service not running"
В связи с этим покопал в нете, почитал мануалы к этому решателю и выяснил, что мне нужно установить некую Intel MPI (решатель ещё поддерживает MS MPI, но по умолчанию использует именно Intel - лучше всё оставить пока по умолчанию :) ) Зашёл на сайт Intel покопался там и скачал 30-ти-дневную версию. Установил, вроде всё установилось гут. Почитал мануалы по установке этого MPI..., а забыл уточнить, я на всякий случай скачал не Intel MPI Librery, а Intel Cluster ToolKit for Win..., в общем, не помогли маны. Видимо что-то с настройками винды, может какие-нибудь службы особенные нужно доствить или ещё что-нибудь. В общем вопрос можно наверное сформулировать так:
- как настроить Intel MPI под Win XP x64 для распараллеливания вычислений на одном компе между 4мя ядрами процессора?
ЗЫ Извиняюсь, если написал сумбурно. Если что нужно уточнить - пишите - добавлю недостающих пояснений. Помогите пожалуйста, решить проблему нужно как можно скорее. Зарание всем откликнувшимся спасибо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 апр 09 15:33 
Не в сети

Зарегистрирован: 13 апр 09 14:38
Сообщения: 9
Почитал ещё раз свое сообщение и понял, что из него совсем не понятно, что я уже делал и в чём собственно проблема. Исправляюсь.
Установил Intel Cluster ToolKit, в его состав входит и Intel MPI librery. Запустил DOS'овское окошко под названием "Build Envarenment for Intel Cluster ToolKit" набрал "call". Запустил "Intel MPI Librery Config". Нажимаю кнопку "Add", которая добавляет host'ы. Нажимаю кнопку "Brouse" - пишет, что нет найденных серверов в домене "WHITESHARK" (это имя моего компа). Выбираю домен "WORKGROUP" (имя моей домашней сети), в этом домене можно выбрать имя мего компа, т.е. WHITESHARK - выбираю, нажимаю ок. В списке "Hosts List" появляется имя моего компа. Кликаю не него - выдает ошибку:
WHITESHARK: unable to detect INTEL MPI settings
mpiexec utilitu returned error code: -1
please chek, that the host specifid correctly

Тут мне ничего не остается делать, как нажать ОК. После этого в правом поле повляются какие-то данные про этот хост: Channal, Internode Channal, Local Only, и т. д., значение этих данных можно менять, напрмер напротив channal стоит auto, можно поменять на sock, smm и т.д.

Из этого я делаю вывод, что что-то не так.


Затем я запускаю утилиту MPIEXEC wrapper. Указываю exe'шник проги, например 7zip, указываю кол-во процессов (пишу 4), а он мне выдает опять ошибку:

Credentials for whiteshark rejected connecting to localhost
Aborting: Unable to connect to localhost

Т.е. MPI Librery не может подключиться к моей системе, ну это я так понял - скорее всего там всё сложнее.
Вот, теперь вроде более полное описание


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 апр 09 15:53 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 872
Откуда: НИВЦ МГУ
1. Разберитесь всё-же с какой именно версией MPI собран Ваш решатель. MS MPI и Intel MPI - достаточно разные вещи...
2. Если у Вас готовый бинарник, то почитайте документацию на программу - как и что должно быть настроено.
3. Запускать 7zip из под mpiexec не надо - он не поддерживает MPI. Возьмите с сайта Intel UserGuide по IntelMPI и почитайте как его поставить. Проверить можно на тестовой программе cpi, исходный текст которой есть в поставке IntelMPI. правда при этом придётся настроить VisualStudio или иной компилятор (можно воспользоваться компилятором Intel, который есть в ClusterToolkit Compiler Edition).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 апр 09 16:14 
Не в сети

Зарегистрирован: 13 апр 09 14:38
Сообщения: 9
Serg_Zhum писал(а):
1. Разберитесь всё-же с какой именно версией MPI собран Ваш решатель. MS MPI и Intel MPI - достаточно разные вещи...
2. Если у Вас готовый бинарник, то почитайте документацию на программу - как и что должно быть настроено.

Я копался в мануалах к решателю, сдела вывод, что он работает по умолчанию с Intel MPI, но можно настроить и с MS MPI, для этого нужно переименовать два exe-ника и исправить 2 строчки в файле include.bat.
Serg_Zhum писал(а):
3. Запускать 7zip из под mpiexec не надо - он не поддерживает MPI. Возьмите с сайта Intel UserGuide по IntelMPI и почитайте как его поставить. Проверить можно на тестовой программе cpi, исходный текст которой есть в поставке IntelMPI. правда при этом придётся настроить VisualStudio или иной компилятор (можно воспользоваться компилятором Intel, который есть в ClusterToolkit Compiler Edition).

А нет ли какого-нибудь бинарника для проверки, который не надо компилировать, а то я в программировании не искушен :) и пару раз в жизни давно что-то компилировал на уже настроеном компиляторе - боюсь, что процесс настройки компиляции превратиться в ещё более сложную задачу, чем проверка настроки MPI.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 апр 09 17:11 
Не в сети

Зарегистрирован: 13 апр 09 14:38
Сообщения: 9
Serg_Zhum писал(а):
Проверить можно на тестовой программе cpi, исходный текст которой есть в поставке IntelMPI.

Кстати, воспользовался поском по папке Intel с запросом *cpi* и ничего не нашел :( Там есть несколько исходников с названием Test, может быть это и есть cpi? Пробовал их откомпилить на Visual Studio - не получилось - какие-то ошибки сыпятся и не хватает каких-то файлов :( Но скорее всего это я чего-нибудь напутал в VisualStudio.
Подскажите пожалуйста куда копать, хотябы какой прогой можно проверить работоспособность MPI. Спасибо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 апр 09 18:06 
Не в сети

Зарегистрирован: 13 апр 09 14:38
Сообщения: 9
Ну неужели никто никогда на сайте по распараллеливанию не настраивал MPI на одном многоядерном проце?! Ну подскажите хоть в какую строну рыть. Я сильно склоняюсь к такому варианту, что эта MPI library не воспринимает мой комп как хост, ну или по крайней мере не понимает это по умолчанию. Где это настраивается? Какие основные шаги по настройке MPI нужно сделать, я не говорю о подробной инструкции (да ещё и на ненашенском языке, как в моём случае), мне бы узанть основные шаги настройки, а как их произвести я могу в гугле поискать.
Извиняюсь за свою нетерпеливость, просто срочно надо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 апр 09 15:49 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 872
Откуда: НИВЦ МГУ
Просто-быстро не получится. Настроить IntelMPI всё равно придётся, так что читайте мануал по установке на ненашенском языке. Без этого всё равно не обойдётесь.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 апр 09 1:19 
Не в сети

Зарегистрирован: 13 апр 09 14:38
Сообщения: 9
Спасибо за совет - более подробное изучения мануала той проги, которую надо распараллелить показало, что Intel MPI устанавливается автоматом с этой прогой и бесплатную версию с сайта производителя я снёс :) Мануал рулит :) После этого очень долго мучался с натсройкой этой "родной" для проги Intel MPI. История очень долгая, поэтому не буду о ней подробно рассказывать, скажу только что пришлось испарвить скрипт запуска это CAD проги - про... промучался я с этим почти три дня, но всётаки нашел - радости моей не было предела, когда эта прога наконец-то стала распараллеливать расчёт на 4 ядра на моём компе, притом я скрипты вообще никогда не писал и последний раз прогал на первых курсах института. Вобщем доволен собой :))) Осталась ещё одна проблема, хочу распараллелить эту прогу на наш компьютерный класс, а прога нивкакую не хочет распараллеливаться - просто вылетает и всё, при этом никаких логов ничего нет :( есть только логи smpd.exe службы, но получить из них какую-нибудь более или менее полезную инфу у меня не получается :( Причем, делаю всё по мануалу, PDF-ку с хелпом уже почти наизусть помню :) всё перепробовал, а не работает :( Уже замучался. Подскажите пожалуйста куда копать. Какие могут быть причины для такого вылета проги, много ли их может быть? Может что-нибудь с правами доступа к другому компу или ещё что? Я не прошу подробного разяснения и решения моей проблемы, дайте хотябы предположение, хоть какое-нибудь, с чем это может быть связано.
PS Более подробно прочитал логи, такое ощущение, что mpi не может запустить программу-решатель на другом компе. Я попробовал запустить эту прогу 2-ным кликом мышки через сеть с моего компа - пишет, что не может найти impi.dll, хотя она у меня есть в папке .../intel_mpi/lib. Системную переменную LIB прописывал вручную, её до этого не было. Строчка в логах с ошибкой выглядит вот так
[01:1952]....... str = cmd=result src=2 dest=0 tag=1 cmd_tag=3 cmd_orig=launch result=FAIL error="CreateProcess(\"\\whiteshark\MSC\\marc2008r1\bin\marc.exe \" -jid test_ddm_3_job1 -np 6 -maxnum 1000000 -itree 0 -nthread 0 -dirjob \\whiteshark\dir1 -ci y -cr y -mhost E:\Rigel\TEST_DDM_3\test_ddm_3.host) on 'Isaj' failed, error 193 - (null)"
whiteshark - это мой хост, 4 ядра
isaj - второй комп, 2 ядра (пока хочу на 2 компа распараллель, а когда получиться остальные подключу)

PPS Меня только что осенило! У меня на одном компе стоит XPx64, а на другом XPx32!!! Может такое быть из-за несовместимости версий MPI x64 или x32. И прога соответсвенно на одном компе x64, а на другом x32?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 апр 09 0:02 
Не в сети

Зарегистрирован: 13 апр 09 14:38
Сообщения: 9
Получилось распараллелить работу проги на 6 узлов - 12 ядер. Свой 4х ядерный комп из кластера исключил - с ним кластр не хотел работать :(. Итого 6 процессоров с Core2Duo 2.3 ГГц и памяти на каждом узле по 2 Гбайт. И каково же было моё разочарование, когда я понял, что скорость расчёта задачи даже НИЖЕ, чем при расчёте на своём 4х ядерном компе!! Получилось, что 12*2,3 хуже, чем 4*3,2. Разница правда не большая, процентов 10, но я то хотел вциграть в скорости, а не проиграть пусть даже немного - 10%. Подскажите пожалуйста, может я чего-нибудь не правильно сделел? Я так предпологаю, что всё из-за сети, хотя специально для своей задачи купил и поставиль 1Гбит'ный свич. Может не свич нужно было ставить а роутер, но он стоит раза 3 дороже, да я и не совсем понимаю, зачем роутер в рамках одной сети. Подскажите пожалуйста куда копать, что крутить. Зарание всем спасибо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 апр 09 11:57 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 872
Откуда: НИВЦ МГУ
Что в документации на программу написано? От программы здорово зависит степень распараллеливания. Может дело в сети, а может - в конфликтах по памяти. А может тот алгоритм, что Вы задаёте при расчёте плохо параллелится в принципе...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 апр 09 18:40 
Не в сети

Зарегистрирован: 13 апр 09 14:38
Сообщения: 9
Прога называется MARC - это решатель для сильно нелинейных задач. Решаю задачу контакта с разрушением материала - сильно нелинейная вещь, как физически, так и геометрически. По идее прога должна такие вещи нормально параллелить, я слышал что под неё кластеры довольно большие делают точно не помню, но по-моему порядка 1000 узлов, и всё вроде жутко быстро работает - помню на какой-то конференции рассказывали. Вроде это всё под Linux было организовано, я вот тоже хочу у нас на наши компы Gentoo поставить и под ней всё расспараллелить, я не большой спец в линуксах, но у себя на ноуте я Gentoo ставил одно время работал в ней, мне понравилось. Пока просто нет версии MARC под Linux, но уже меньше чем через месяц кафедра получает эту прогу и будет официальная версия под Linux (деньги уже уплочены :) ), тогда-то уж точно всё под линукс заколбашу. Может быть такое замедление в расчётах из-за ОС, у нас на кафедре стоит WinXP x32 Professional (пока)?
Ещё есть одна деталь, вчера во время счёта на кластере посмотрел скорость передачи данных через сеть, оказалось, что ресурсы сети юзаются только на 5-6% (сеть Гигабитная). Свичь - ASUS GX1108N - 8-ми портовый, сетевухи 2х типов:
1) Marvell Yukon 88E8001/8003/8010 PCI Gigabit Ethernet;
2) Realtek RIL8163/8111 PCI-E Gigabit Ethernet.
Обе интегрированы в мать. Говорят, что провода сетевые прокладывали таджики, так-что за качество прокладки ручаться не могу :) Хотя компьютерный класс не большой примерно 5*8 метров.
Serg_Zhum писал(а):
а может - в конфликтах по памяти.

А почему это может присходить и как с этим бороться? Я про это ничего не слышал, не могли бы Вы поподробнее про это рассказать?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 апр 09 16:54 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 872
Откуда: НИВЦ МГУ
Зайдите на сайт программы, почитайте требования, режимы работы... Может она хорошо только на InfiniBand или Myrinet работает? А на GE только тормозит? Может ей памяти надо не менее 4 ГБ на ядро для работы нужных Вам алгоритмов?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 5 май 09 12:31 
Не в сети

Зарегистрирован: 13 апр 09 14:38
Сообщения: 9
Спасибо большое за помощь. Буду разбираться с сетью, хотя Marynet у нас на кафедре точно проводить не будут :) (больно дорого). У меня по Gbit скорость передачи данный почемуто только 5-8% от макс. при расчёте - попробую купить intel'овские сетевухи и заставить работать эту прогу под linux, может поможет скорость поднять. Тему помечаю решённой. Ещё раз всем спасибо за помошь.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 5 май 09 23:06 
Не в сети

Зарегистрирован: 7 мар 08 0:47
Сообщения: 30
Откуда: Sunnyvale, CA
White_Shark писал(а):
Спасибо большое за помощь. Буду разбираться с сетью, хотя Marynet у нас на кафедре точно проводить не будут :) (больно дорого). У меня по Gbit скорость передачи данный почемуто только 5-8% от макс. при расчёте - попробую купить intel'овские сетевухи и заставить работать эту прогу под linux, может поможет скорость поднять. Тему помечаю решённой. Ещё раз всем спасибо за помошь.
В принципе вы можете купить подержанные коммутаторы и адаптеры Myrinet-2000 на ebay. Коммутаторы от 100 долларов США, адаптеры от 5 долларов. доставка конечно вылетит в копеечку, но все равно получится явно дешевле чем покупка нового оборудования. Поищите на сайте http://www.ebay.com по слову "myricom".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 6 май 09 20:18 
Не в сети

Зарегистрирован: 6 май 09 20:15
Сообщения: 1
White_Shark, не мог бы ты подробнее рассказать как настроить MARC для нескольких процессоров? Бьюсь на этой же проблемой, но не могу до конца понять в чем проблема. Те же ошибки

Заранее спасибо


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB