PARALLEL.RU

Дискуссионный клуб по параллельным вычислениям
Текущее время: 12 дек 17 16:59

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




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
СообщениеДобавлено: 6 июн 08 17:42 
Не в сети

Зарегистрирован: 6 июн 08 17:03
Сообщения: 3
Откуда: Краснодар Академия ИМСИТ
Существует следующая проблема:
Есть собранный кластер 1 main-node и 16 вычислительных узлов. После сбоя слетела файловая система main-node причем безвозвратно т.к. отказали 2 из 5 дисков. Кластер построен следующим образом все узлы и main-node имеют сеть Gigabit Ethernet, узлы также имеют InfiniBand. Узлы настроены. После установки OS на main-node были настроены NFS, беспорольный вход по ssh и NIS всё это успешно функционирует.
Но встала самая большая проблема:
После установки и сборки пакетов OFED и InfiniPath которые до этого были установленны программы компилируются с ошибками или не компилируются вовсе (которые пытаются использовать параллельные библиотеки) и все параллельные программы скомпилированные ранее выполняются только на main-node несмотря ни на что, хотя если просмотреть список процессов то на каждм узле они запускаются но не взаимодействуют между собой.
С помощью утилит встроеных в Linpak проверил латентность и трафик по infiniband сети, как показала проверка сеть полностью рабоспособна и показала нормальные результаты.

PS: OS - SUSE Enterprise Server 10.1

Немного помучавшись после отпуска добился того что спокойно стартует Linpack и выдаёт адекватные значения как впрочем и любая скомпилированная ранее программа но вот новые не компилирует выдаёт самые разные ошибки. о не соответствии библиотек и тд.
Прошу помочь разобраться что это может быть и как это исправить?!
Если нужно выложить какие то логи или файлы скажите выложу.
Заранее всех благодарю


Последний раз редактировалось Maxim_Rubchenko 1 окт 08 14:16, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 9 июн 08 13:30 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 871
Откуда: НИВЦ МГУ
Очень плохо, что новые программы не компилируются - такого быть не должно. Скорее всего получился конфликт остатков старого и нового OFED. Лучше всего снести все пакеты от OFED и InfiniPath как на голоной машине, так и на узлах, вычистить остатки руками (обычно это /usr/local/ofed/...). Потом произвести установку всего заново. Старые программы придётся перекомпилировать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 1 окт 08 15:40 
Не в сети

Зарегистрирован: 6 июн 08 17:03
Сообщения: 3
Откуда: Краснодар Академия ИМСИТ
Буду признателен всем за советы как буду в Вашем городе проставлюсь пивом!

На данный момент ситуация такова он спокойно запускает тест линпак и его проходит достаточно приемлемо по скорости. Но при компилации даже самых простых программ выдаёт околесицу.

master:/home/student1/06-POCPO-03Tsepeleva # gcc 1.c
/tmp/ccOlqPBH.o: In function `main':
1.c:(.text+0x18): undefined reference to `MPI_Init'
1.c:(.text+0x27): undefined reference to `MPI_Comm_size'
1.c:(.text+0x36): undefined reference to `MPI_Comm_rank'
1.c:(.text+0x56): undefined reference to `MPI_Finalize'
collect2: ld returned 1 exit status
master:/home/student1/06-POCPO-03Tsepeleva #

и всё на этов всё останавливается при компиляции при помощи mpicc программа компилится но при запуске выдаёт что расположенна на одном узле а не на кластере.

#include <stdio.h>
#include <mpi.h>
int proc_count, proc_this;

int main(int argc,char** argv)
{
MPI_Init(&argc,&argv);
MPI_Comm_size(MPI_COMM_WORLD,&proc_count);
MPI_Comm_rank(MPI_COMM_WORLD,&proc_this);

printf ("Hello, I?m processor No_%d from %d \n", proc_this, proc_count);

MPI_Finalize();
return 0;
}


Последний раз редактировалось Maxim_Rubchenko 2 окт 08 15:20, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2 окт 08 15:12 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 871
Откуда: НИВЦ МГУ
Вы чистили узлы от пакетов OFED-а? Если нет - почистите. Если есть время - можно просто переставить ОС и OFED на узлах.
Если проблемы при линковке на головной ноде - значит OFED криво собран.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2 окт 08 15:41 
Не в сети

Зарегистрирован: 6 июн 08 17:03
Сообщения: 3
Откуда: Краснодар Академия ИМСИТ
Спасибо Сергей. Неповерите но после плясок с бубном и пересборкой OFED всё заработало!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 6 окт 08 19:15 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 871
Откуда: НИВЦ МГУ
Maxim_Rubchenko писал(а):
Спасибо Сергей. Неповерите но после плясок с бубном и пересборкой OFED всё заработало!

Отчего же не поверю :) Плавали, знаем... Успехов в эксплуатации! :)


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

Зарегистрирован: 4 июн 07 16:06
Сообщения: 19
Откуда: г. Оренбург
Maxim_Rubchenko писал(а):
#include <stdio.h>
#include <mpi.h>
int proc_count, proc_this;

int main(int argc,char** argv)
{
MPI_Init(&argc,&argv);
MPI_Comm_size(MPI_COMM_WORLD,&proc_count);
MPI_Comm_rank(MPI_COMM_WORLD,&proc_this);

printf ("Hello, I?m processor No_%d from %d \n", proc_this, proc_count);

MPI_Finalize();
return 0;
}


Поменяйте местами #include <stdio.h> и #include <mpi.h>.
В этих файлах есть функции с одинаковым именем, поэтому возникает конфликт.


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

Зарегистрирован: 12 янв 06 11:26
Сообщения: 98
Откуда: Хабаровск, ВЦ ДВО РАН
rav_g писал(а):
Поменяйте местами #include <stdio.h> и #include <mpi.h>.
В этих файлах есть функции с одинаковым именем, поэтому возникает конфликт.

Хм, странно, а что это за функции такие?


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

Зарегистрирован: 21 май 08 0:32
Сообщения: 14
Откуда: ОФиВП ФФ МГУ
ShapovalovTS писал(а):
rav_g писал(а):
Поменяйте местами #include <stdio.h> и #include <mpi.h>.
В этих файлах есть функции с одинаковым именем, поэтому возникает конфликт.

Хм, странно, а что это за функции такие?

В них обоих определён #define SEEK_SET, и в одном есть проверка, так что при включении их в порядке stdio.h -> mpi.h компилироваться не будет, нужен порядок mpi.h -> stdio.h. Наверняка это зависит от набора заголовков компилятора и mpi.h, встречал такое на icc + intel mpi 2.0.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

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


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

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


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

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