mpirun -np 2 cpiпоявляется сообщение об ошибке или программа зависает.
О: В некоторых системах, таких, как IBM SP, существует много взаимно исключающих способов запуска параллельных программ; каждая система выбирает способ, подходящий для нее. Скрипт mpirun пробует наиболее общие методы, но может сделать неправильный выбор. Используйте опции -v или -t для mpirun, чтобы увидеть, как он пытается запустить программу, а затем сравните это со специфическими инструкциями для Вашей системы. Вам может понадобиться адаптировать код mpirun для собственных нужд. См. также следующий вопрос.
Используйте : mpirun опции<программа> <узлы выполнения> <аргументы>или
mpirun опции<схема>О: В Вашем пути поиска присутствует команда mpirun, не принадлежащая mpich. Выполните команду
which mpirunчтобы увидеть, какая команда mpirun была действительно найдена. Решением будет либо смена порядка каталогов в пути поиска, чтобы поместить версию mpirun для mpich первой, лиоб определить псевдоним mpirun, использующий абсолютный путь. Например, в csh shell, Вы можете выполнить
alias mpirun /usr/local/mpich/bin/mpirunчтобы установить mpirun на версию для mpich.
p4_error: latest msg from perror: Слишком много открытых файловО: Существует ограничение на количество открытых дескрипторов файла. На некоторых системах Вы можете увеличить это ограничение самостоятельно; на других Вам может помочь системный администратор. Вы можете экспериментировать с безопасным сервером, но это не полное решение. Сейчас мы работаем над более расширяемым механизмом запуска для новой реализации.
mpirun np 2 cpiПроблем при запуске одного процесса нет.
/home/me/cpi: ошибка загрузки разделяемых библиотек: libcxa.so.1: невозможно
открыть разделяемый объектный файл : Файл или каталог не существует
О: Это означает, что некоторые разделяемые библиотеки, используемые системой, не обнаруживаются удаленными процессорами. Существует две возможности:
Многие компоновщики предоставляют способ определения пути поиска для разделяемых библиотек. Трудность состоит в (а) передаче этой команды программе-компоновщику и (b) определении всех необходимых библиотек.
Например, в системах на Linux, команда компоновщика для определения пути поиска разделяемых библиотек - это -rpath path, т.е. -rpath /usr/lib:/usr/local/lib. Чтобы передать эту команду компоновщику посредством компилятора Intel С icc, используется команда -Qoption,link,-rpath,path. По умолчанию, компоновщик Linux проверяет каталог `/usr/lib' и каталоги, определенные в переменной окружения LD_LIBRARY_PATH. Поэтому, чтобы заставить компоновщик включить путь для разделяемых библиотек, Вы можете использовать
mpicc -o cpi cpi -Qoption,link,-rpath,$LD_LIBRARY_PATH:/usr/libЕсли это сработает, то попробуйте изменить значение LDFLAGS в скрипте mpicc, чтобы включить эту опцию.
К сожалению, каждый компилятор использует различные способы передачи этих аргументов компоновщику, а каждый компоновщик использует различный набор аргументов для определения пути поиска разделяемых библиотек. Вам может понадобиться просмотреть документацию Вашей системы об этих опциях.
ld.so.1: cpilog: fatal: libX11.so.4: невозможно открыть файл: errno 2О: Версия X11, обнаруженная configure, не установлена корректно. Это обычная проблема для систем Sun/Solaris. Возможно, что Ваши машины на Solaris выполняют слегка различающиеся версии. Вы можете попробовать статическую компоновку (-Bstatic на Solaris).
С другой стороны, можно попробовать добавить следующие строки в Ваш `.login' (предполагая C shell):
setenv OPENWINHOME /usr/openwin(Вы можете прежде проконсультироваться с Вашим системным администратором, чтобы убедиться, что пути в Вашей системе правильны). Убедитесь, что Вы добавили их перед строками вида
setenv LD_LIBRARY_PATH /opt/SUNWspro/lib:/usr/openwin/lib
if ($?USER == 0 || $?prompt == 0) exit
О: Если Вы открыли файл перед вызовом MPI_INIT, поведение MPI (не только mpich-реализации MPI) неизвестно. На устройстве ch_p4 только нулевой процесс (в MPI_COMM_WORLD) может иметь открытые файлы; другие процессы не могут открывать файлы. Переместите операции, которые открывают файлы и взаимодействуют с внешним миром после MPI_INIT (и перед MPI_FINALIZE).
О: Это может быть вызвано несколькими проблемами. На системах с динамически компонуемыми исполняемыми файлами это может быть вызвано проблемами файловой системы, одновременно получившей запросы от многих процессоров о динамически компонуемых частях исполняемых файлов (это отмечено как проблема с некоторыми реализациями DFS). Вы можете попробовать использовать статическую компоновку Вашего приложения.
В сетях рабочих станций долгие времена запуска могут быть из-за времени, используемого для запуска удаленных процессов; см. обсуждение безопасного сервера в разд. 3.2.3 для устройства ch_p4 или рассмотрите использование устройства ch_p4mpd.