Что это ошибка на уровне mpi

Система MPI МПС (Межведомственный информационный портал МВД) используется различными органами государственной власти РФ для автоматизации процессов записи на прием граждан в МВД. Однако при использовании данного сервиса пользователи иногда сталкиваются с ошибками, которые могут затруднить процесс получения желаемой услуги. Ошибка сервиса MPI МПС появляется при попытке зарегистрировать запись на прием в МВД через данную систему.

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

Чтобы исправить ошибку сервиса MPI МПС, в первую очередь необходимо проверить правильность введенных данных. Если это не поможет, следует попробовать зарегистрировать запись на прием через другой браузер. Также необходимо проверить соединение с интернетом, наличие вирусов и обновить браузер до последней версии. Если проблема не устраняется, следует обратиться за помощью к специалистам МВД.

Содержание

  1. Ошибка сервиса MPI МПС: что это и как исправить
  2. Что такое ошибка сервиса MPI МПС?
  3. Как исправить ошибку сервиса MPI МПС?
  4. Вопрос-ответ
  5. Что такое ошибка сервиса MPI МПС?
  6. Как исправить ошибку сервиса MPI МПС?
  7. Может ли ошибка сервиса MPI МПС привести к потере данных?

Сервис MPI МПС (Message Passing Interface, Multi-Processor System) используется для коммуникации между процессами в параллельных вычислениях. Ошибка данного сервиса связана с некорректной передачей сообщений между процессами и может привести к сбою в работе программы.

Для исправления данной ошибки необходимо прежде всего проверить версию установленного MPI МПС и совместимость с используемым программным обеспечением. Также стоит обратить внимание на наличие достаточного объема оперативной памяти для работы MPI МПС и настроек сетевых параметров.

Если проблема не устраняется, можно воспользоваться инструментами диагностики, такими как MPI_LOG_FILE_VARIABLE и MPI_ERRHANDLER. Для более подробной информации можно обратиться к документации по использованию MPI МПС.

В целом, важно понимать, что ошибка сервиса MPI МПС может возникать по многим причинам, включая настройки сети и установленное программное обеспечение. Поэтому необходимо проводить тщательную диагностику и настройку для корректной работы данного сервиса.

Что такое ошибка сервиса MPI МПС?

Ошибка сервиса MPI МПС (Message Passing Interface, Multichannel Protocol Service) появляется в случае, когда приложение не может связаться с процессом MPI, запущенным на компьютере. Это может произойти по многим причинам, в том числе неправильная настройка сети или программного обеспечения.

Ошибки MPI МПС часто возникают в высокопроизводительных вычислениях, которые используют MPI для обмена данными между несколькими процессами. Если MPI сервис не работает правильно, это может привести к непредсказуемому поведению приложений, и даже к зависанию системы.

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

Как исправить ошибку сервиса MPI МПС?

Ошибка сервиса MPI МПС может возникнуть по нескольким причинам, таким как неполадки в сети, отсутствие обновлений ПО или проблемы с конфигурацией. В любом случае, следует принимать несколько мер для устранения проблемы.

1. Проверьте подключение к сети. Убедитесь, что у вас есть стабильное подключение к сети. В большинстве случаев, проблемы с MPI МПС связаны с неполадками в сети.

2. Установите все доступные обновления ПО. Если у вас установлены не все обновления MPI МПС, это может привести к проблемам. Установите все доступные обновления, чтобы устранить ошибку.

3. Проверьте конфигурацию. Если вы производили изменения в конфигурации MPI МПС, возможно, это стало причиной ошибки. Проверьте конфигурацию и восстановите настройки, если это необходимо.

4. Перезапустите службы. Перезапустите службы MPI МПС, чтобы устранить возможные проблемы связанные с некорректной работой сервиса.

Следуя этим рекомендациям, вы сможете исправить ошибку сервиса MPI МПС и продолжить работу с этим сервисом.

Вопрос-ответ

Что такое ошибка сервиса MPI МПС?

Ошибка сервиса MPI МПС — это сообщение об ошибке, которое появляется на экране компьютера при работе с программой MPI МПС. Это означает, что произошла ошибка в работе сервиса MPI МПС.

Как исправить ошибку сервиса MPI МПС?

Существует несколько способов исправления ошибки сервиса MPI МПС. Самый простой способ — перезагрузить компьютер и запустить программу MPI МПС заново. Если это не помогает, то можно попробовать обновить драйверы на компьютере или проверить наличие вирусов. Также стоит проверить, нет ли конфликтов с другими программами или установленными компонентами на компьютере.

Может ли ошибка сервиса MPI МПС привести к потере данных?

Да, ошибка сервиса MPI МПС может привести к потере данных. Поэтому рекомендуется регулярно сохранять данные, с которыми вы работаете, и резервировать их в случае утери данных. Также стоит установить специальное программное обеспечение для резервного копирования данных.

Мотивация и дисклеймер

На днях ковырялся с нашим виндовым кластером, пытаясь возобновить работоспособность флюента через планировщик, и теперь, победив проблему, решил написать немного о наболевшем. Вообще проблемы с работой различных MPI-служб в рамках техподдержки приходится решать довольно часто, и не на все вопросы удаётся найти ответы в интернетах. В свете этих обстоятельств представляю вашему вниманию небольшой гайд по решению различных проблем, связанных с MPI. Отмечу, что всё сказанное ниже относится исключительно к работе ПО ANSYS, главным образом — к CFX и Fluent, т.к. эти продукты лучше всего параллелятся. Более общее толкование упоминаемых терминов легко найти в той же википедии. Здесь также не будут затронуты тонкости параллельной работы различных приложений, т.к. статья замышляется как шпаргалка при устранении неисправностей.

Три часто задаваемых вопроса

1) MPI — что за непонятная, обидная аббревиатура, и для чего это вообще нужно?

MPI = Message Passing Interface (интерфейс передачи сообщений) — это средство общения между различными процессами во время решения задачи. Необходимость в MPI возникает только тогда, когда распараллеливание выполнения задачи происходит между процессами (не путать с распараллеливанием на потоки). В CFX и Fluent возможен только такой вариант, тогда как прочностные и электромагнитные продукты по дефолту параллелятся на потоки в рамках одного процесса, а несколько процессов рождается при активации некоторой «галочки», содержащей в названии слово «distribute» или что-то подобное. При возникновении сомнений способ распараллеливания легко проверить, заглянув в диспетчер задач (в Винде ctrl + shift + esc) и сосчитав процессы:

В данном случае виден один управляющий процесс fl1700 и четыре дочерних процесса fl_mpi1700. По загрузке ЦП можно понять, заняты ли процессы делом или просто занимают/ждут лицензии. Аналогичным образом можно отобразить процессы в Линуксе командой top/atop/htop.

2) Когда нужно устанавливать MPI отдельно с дистрибутива ANSYS?

Только тогда, когда вы собираетесь распараллеливать решение задачи между несколькими машинами по сети. В этом случае MPI должен встать в качестве службы. В противном случае устанавливать MPI не только не нужно, т.к. нужные библиотеки копируются в директорию установки (ANSYS IncvXXXcommonfilesMPI), но и иногда вредно. Подтверждающий пример приведу ниже.

3) Какой MPI выбирать?

Человечеству известны несколько различных реализаций MPI, часть из которых имеет общие корни. Применительно к ANSYS это Platform MPI, Intel MPI, MS MPI (для виндовых кластеров) и Open MPI (Линукс). 

На мой взгляд, выбирать нужно тот вариант, который работает, и только так. Ощутимой разницы в производительности на своей практике я никогда не видел, хотя допускаю опровергающие мою точку зрения частные случаи. По дефолту Fluent, CFX и Mechanical используют pcmpi, и если всё работает, то не надо ничего ковырять.

В определённых случаях на определённых системах может требоваться определённая реализация. Например, для распределённых (на нескольких машинах) вычислений через виндовый планировщик можно использовать только msmpi, на линуксовых кластерах часто по умолчанию настроен Open MPI, поэтому бывает удобнее использовать его. Также переходить на другой MPI бывает необходимо из-за несовместимости с железом — об этом ниже.

Замечание 1. С наименованиями Platform MPI без бутылки не разберёшься, поэтому на всякий случай привожу эволюцию названия в хронологическом порядке: HP MPI > Platform MPI > IBM Platform MPI. То есть это примерно одно и то же, но называться может по-разному. Сокращается обычно как hpmpi или pcmpi.

Замечание 2. Когда нужно противопоставить MS (Microsoft) MPI другим реализациям, может использоваться название Microsoft HPCболее старое CCP или совсем старое CCS (да, в CFX до сих пор не переименовали).

При каких симптомах нужно копать в сторону MPI

1) Сообщение об ошибке содержит упоминание mpi, rank и affinity.

2) Fluent зависает или падает без объяснения причин сразу после запуска.

3) CFX падает или виснет после того, как в логе появляется слово «Solver» в рамочке.

4) Любой другой солвер падает или зависает на первой итерации.

Где взять дополнительную информацию, если стандартный лог решателя не содержит ничего полезного

В первую очередь нужно смотреть стандартные потоки вывода и ошибок (STDOUT и STDERR). Например, при вылете решателя CFX может ничего не написать в .out, при этом полезная для диагностики информация может содержаться в окне консоли, которое запускается вместе с солвером. Если запуск происходит через планировщик, то STDOUT и STDERR обычно перенаправляются в соответствующие файлы в рабочей директории. При ручном запуске через командную строку вывод также можно перенаправить в файл, например: cfx5solve -def myCase.def -par-local -part 4 >> output.txt 2>&1.

Также имеет смысл посмотреть лог ошибок приложений в журнале событий операционной системы.

Каковы основные причины вылета или зависания, и что при этом «крутить»

Когда приложение бездействует или вообще не отвечает, беда, скорее всего, или с фаерволлом, или с учётными данными для выбранной реализации MPI. В Линуксе к списку возможных причин добавляется неправильно настроенный беспарольный доступо по ssh. Фаерволл и ssh могут портить кровь только при расчёте на нескольких машинах, либо в рамках одной машины, но через планировщик. Необходимость ввода учётных данных может проявиться даже при расчёте на локальной машине. Решения здесь очевидные:

1) Чтобы исключить фаерволл — попробовать его временно отключить. Если помогло, то настроить исключения для всех нужных процессов (солвера, mpirun, mpiexec и т.д.). Проще всего посмотреть в логе, что именно он блокировал. На правильном кластере таких проблем возникать не должно, т.к. исключения для mpi-служб настраиваются автоматически системой управления кластером.

2) Чтобы проверить ssh, нужно попробовать залогиниться с каждого узла на каждый из других и убедиться, что при этом не требуется пароль. При большом количестве узлов для такой проверки целесообразно написать скрипт. Возможно, существуют и более удобные готовые инструменты, но я таких не встречал. При выявлении проблем между определёнными узлами нужно повторно сгенерировать ключи, скопировать публичные части и т.д.

3) Для проверки учётных данных удобнее всего запустить тот же флюент с нужной версией MPI в интерактивном режиме и проверить, появится ли окно для ввода пароля. Если появится, то пароль можно просто ввести и сохранить. Если нет, то пароль может быть введён неправильно, и тогда его нужно попробовать обнулить и ввести заново. Это можно сделать очень полезной флюентовской утилитой. Для её вызова нужно открыть Fluent Launcher, в нём — вкладку Environment, далее в поле Other Environment Variables щёлкнуть правой кнопкой и выбрать пункт Start Fluent Diagnostics. Появится вот такое окно, в котором помимо очистки учётных данных для разных реализаций MPI есть ещё множество полезных функций:

Когда приложение вылетает, нужно проверить следующие моменты:

1) Переменные окружения, связанные со службами MPI, а также переменную Path на всех узлах. Приведу два примера из своей практики.

Пример номер раз. Пользователь на локальной машине последовательно установил версии ANSYS с 14й по 16ю, каждый раз устанавливая Platform MPI в качестве отдельной службы:

В результате не работают более старые версии CFX. Почему так происходит? Из-за несовместимости версий CFX и Platform MPI. Несовместимость в результате установки MPI как службы возникает из-за появления переменной MPI_ROOT, которая указывает на последнюю установленную версию службы. А эта версия MPI, например, используется CFX’ом начиная только с 16й версии. Решение — удалить переменную. Если нужно обеспечить работоспособность нескольких очень старых и очень новых версий CFX на одном кластере, то можно перед запуском CFX в рамках сессии перезаписать в переменную нужный путь.

Пример номер два — случай с нашим виндовым кластером. Запускаем флюент через планировщик, и после появления Job’а всё висит, при этом в stderr пишется несколько десятков Мб текса в секунду. Убиваем Job, потом убиваем gui и хост-процесс флюента (cx1700 и fl1700). Причём быстро, пока лог не разросся до нечитаемых размеров. Смотрим в лог, видим повторяющийся тысячи раз текст:

User credentials needed to launch processes:
account (domainuser) [HPCvdk]: password: 
Unable to manage jobs using credentials with a blank password.
Please enter another account.

То есть нам намекают на отсутствие сохранённого пароля для mpiexec (основной исполняемый файл MS MPI, аналог у Platform — mpirun). Чешем голову, запускаем разные тесты MPI, пробуем CFX — всё работает. Чистим учётные данные через Cluster Manager или командой cluscfg delcreds, вводим заново — не помогает. Чешем голову сильнее. Идём на узлы, пробуем запустить что-нибудь локально (например,  mpiexec notepad). И на узлах с нас спрашивают пароль! Так быть не должно, поскольку голова хранит наш пароль, и эта информация передаётся вычислительным узлам. Пробуем сохранить пароль на узлах, запускаем Fluent. Новая ошибка:

Fatal protocol error: check version between Mpiexec.exe, Msmpi.dll, and Smpd.exe.

Чешем всё остальное. Начинаем думать, тот ли это mpiexec, который нам нужен? Запускаем clusrun where mpiexec, чтобы понять, откуда он запускается. Видим, что на голове выдаётся правильная директория (…Program FilesMicrosoft HPC Pack 2012…), а на узлах перед ней идёт директория Intel MPI, т.е. сначала mpiexec ищется именно там. Оказывается, некий злоумышленник установил на узлах IntelMPI, у которого исполняемый файл имеет то же название, а путь к нему записался в начало переменной Path. Лечение простое — перемещаем интеловские пути в конец переменной, или вообще удаляем, если злоумышленник разрешает. В результате всё работает.

Данные примеры иллюстрируют, как важно проявлять внимательность при установке различных MPI-служб и проверять, какие переменные они создают.

2) Работоспособность сети и MPI службы именно по этой сети при помощи простых тестов. Особенно это касается сети Infiniband, которая довольно капризна по отношению к драйверам и прошивкам сетевых карт. У меня были случаи, когда из-за отличия версии прошивки только на одной карте не работала вся сеть кластера, пока этот узел активен. По той же причине сеть может работать, но не включится протокол прямого доступа к памяти (RDMA или его виндовая реализация NetworkDirect), в результате чего латентность вырастет на пару порядков, а пропускная способность упадёт примерно на порядок. Под той же виндой версию прошивки можно проверить командой clusrun ibstat | findstr Firmware. Также для диагностики сети Infiniband могут быть полезны команды ibnetdiscover и ibping. Последняя аналогична обычному пингу, но требует, чтобы на пингуемой машине была поднята серверная часть (ibping -S).

3) Совместимость с железом, особенно если в сообщении об ошибке содержится слово affinity. Русскоязычного аналога понятия affinity я не знаю, но оно имеет непосредственное отношение к технологии неравномерного доступа к памяти (NUMA). С практической точки зрения данная технология позволяет привязывать процессы к ядрам и обеспечивает им доступ к наиболее близкорасположенной (физически) памяти. Использование данной технологии может управляться MPI (флаг -affinity), как в CFX, или на уровне кода, как во Fluent. В принципе использование affinity должно ускорять параллельные вычисления (хотя для механики не рекомендуется), но иногда функция работает криво. Это происходит потому, что BIOS выдаёт операционной системе неправильный SRAT (таблица распределение ресурсов), в результате MPI присваивает процессам неправильные ранги, и всё падает. Также в качестве симптома может наблюдаться неправильное определение количества физических ядер системой. Данная проблема наблюдается в современных серверных процах Intel Xeon начиная с 3-го поколения (лично встречал на железе HP и ASUS). 

Чтобы подтвердить данную причину, нужно зайти в BIOS и отключить NUMA или включить Node Interleaving (= отключить NUMA). В свежих прошивках от HP есть вариант не отключать NUMA, а установить параметр NUMA Group Size Optimization = flat. Наиболее правильное решение — накатить свежую прошивку BIOS. Также иногда помогает переход с Platform MPI на Intel MPI или использование локальной установки вместо сетевой.

На этом пока всё. Если материал окажется востребованным, буду его понемногу расширять. Также отмечу, что здесь я описал в основном собственный опыт, который слегка дополняет информацию на портале пользователей и зарубежных форумах. Настоятельно рекомендую при диагностике неисправностей в первую очередь обращаться к Customer Portal’у.

PS Если ошибки, связанные с MPI, возникают в процессе счёта, то проблема может заключаться в банальном делении на ноль при развале решения. Особенно это характерно для флюента, который после floating point exception может растерять связь со своими процессами. В подобных случаях его нужно просто перезапустить и устранить проблему сходимости итераций. До версии 16.1 были известны проблемы с динамической адаптацией, которые также валили MPI, но теперь это исправлено.

PPS Иногда похожие симптомы проявляются при ошибке доступа к серверу лицензий, причём в логе может ничего не отразиться, и если переменная ANSWAIT=1 не задана, то приложение просто закроется. Чтобы исключить этот вариант, нужно убедиться, что сервер лицензий виден всем узлам, т.к. хост-процесс, запрашивающий лицензию, может родиться на любом из них.

You are currently viewing Решение из-за ошибок инициализации в Mpi_init

Обновлено

  • 1. Скачать ASR Pro
  • 2. Запустите программу
  • 3. Нажмите «Сканировать сейчас», чтобы найти и удалить все вирусы на вашем компьютере.
  • Ускорьте свой компьютер сегодня с помощью этой простой загрузки. г.

    Если вы получаете серьезную ошибку инициализации в сообщении об ошибке mpi_init, в наши дни руководство было создано, чтобы помочь вам. грамм.После того, как их изменение будет завершено, init_MPI = False, хотя при отсутствии mpi4py большинство людей получат ошибку MPI, в которой говорится, что эксклюзивная процедура MPI была названа до инициализации MPI. Возможно, код наверняка увидит, есть ли библиотека MPI. Если libmultinest_mpi.so существует, но mpi4py определенно отсутствует, предупреждать?

    грамм. InitializeExecute выполнение среды MPI

    Продолжить

    <для>интервал MPI_Init (int 2. argc, char *** argv)

    Ввод

    Настройки указателя

    argc, чтобы разрешить число аргументов
    argv
    Указатель на множество векторов аргументов

    Безопасность потоковой передачи и сигналов

    Эта процедура должна вызываться только еще одним потоком. Нить называетсяvОсновная угроза требуются руки вниз, и нить, которая спрашивает MPI_Finalize …

    Примечания

    Стандарт MPI не объявляет, что каждый тип программы перед MPI_INIT Гдепосле MPI_FINALIZE … В рендеринге MPICH публика должна делатькак можно меньше. В частности, предотвращайте все, чтосостояние внешней программы, например создание информации, стандартное чтениеВведите или напишите в обычно реализуемый вывод.

    Примечания к C

    Что касается MPI-2, MPI_Init ‘принимает NULL в качестве входного параметра. Включеновлияет на значения, хранящиеся в MPI_INFO_ENV …

    Заметки о Фортране

    Ссылка на Фортран для MPI_Init возвращается только ошибка<для> Подпрограмма MPI_INIT (ierr) Целочисленная ошибка

    Ошибка

    Ошибка инициализации в mpi_init

    Все подпрограммы MPI (crome MPI_Wtime и MPI_Wtick ) возвращают индивидуальное значение ошибки;Подпрограммы C как значение для подпрограмм Fortran, а также выполнялись в прошломАргумент. Возвращается предыдущее значение, которое является текущим обработчиком ошибок MPI.называется. По умолчанию владелец этой ошибки отменяет все задание MPI. Дилервозможные ошибки могут быть изменены с помощью MPI_Comm_set_errhandler (для коммуникаторов), MPI_File_set_errhandler (для файлов) и MPI_Win_set_errhandler (дляОкно RMA). Обычный MPI-1 MPI_Erhandler_set можно использовать немного больше, носрок его потребления истек. Предопределенный менеджерОшибка MPI_ERRORS_RETURN может использоваться для того, чтобы действительно возвращать сообщения об ошибках.Обратите внимание, что MPI вряд ли гарантирует продолжение программы MPI.ошибка; Однако реализация MPI может продолжаться всякий раз, когдавозможный.

    MPI_SUCCESS
    Нет ошибки; Процедура MPI прошла успешно.
    MPI_ERR_OTHER Эта ошибка школы
    связана с 1 кодом ошибки,указывает, что была сделана попытка вызвать MPI_INIT в течение короткого времени. MPI_INIT может вызываться только один раз в каждом грамме маневра.

    См. также

    MPI_Init_thread, MPI_Finalize
    Джайеш Кришна Solution For Initialization Errors In Mpi_init
    Solução Para Erros De Inicialização Em Mpi_init
    Soluzione Per Errori Di Inizializzazione In Mpi_init
    Lösung Für Initialisierungsfehler In Mpi_init
    Solución Para Errores De Inicialización En Mpi_init
    Lösning För Initialiseringsfel I Mpi_init
    Solution Pour Les Erreurs D’initialisation Dans Mpi_init
    Mpi_init의 초기화 오류에 대한 솔루션
    Oplossing Voor Initialisatiefouten In Mpi_init
    Rozwiązanie Dla Błędów Inicjalizacji W Mpi_init

    г.

    Luke Cole


    title: MPI Error
    TOCTitle: MPI Error
    ms:assetid: D66B4D6B-A1FD-461B-BBC0-88742C912B08
    ms:mtpsurl: https://msdn.microsoft.com/en-us/library/Dn473298(v=VS.85)
    ms:contentKeyID: 59360844
    ms.date: 03/28/2018
    mtps_version: v=VS.85
    f1_keywords:

    • mpi/MPI_ERR_ACCESS
    • mpi/MPI_ERR_AMODE
    • mpi/MPI_ERR_ARG
    • mpi/MPI_ERR_ASSERT
    • mpi/MPI_ERR_BAD_FILE
    • mpi/MPI_ERR_BASE
    • mpi/MPI_ERR_BUFFER
    • mpi/MPI_ERR_COMM
    • mpi/MPI_ERR_CONVERSION
    • mpi/MPI_ERR_COUNT
    • mpi/MPI_ERR_DIMS
    • mpi/MPI_ERR_DISP
    • mpi/MPI_ERR_DUP_DATAREP
    • mpi/MPI_ERR_FILE
    • mpi/MPI_ERR_FILE_EXISTS
    • mpi/MPI_ERR_FILE_IN_USE
    • mpi/MPI_ERR_GROUP
    • mpi/MPI_ERR_IN_STATUS
    • mpi/MPI_ERR_INFO
    • mpi/MPI_ERR_INFO_KEY
    • mpi/MPI_ERR_INFO_NOKEY
    • mpi/MPI_ERR_INFO_VALUE
    • mpi/MPI_ERR_INTERN
    • mpi/MPI_ERR_IO
    • mpi/MPI_ERR_KEYVAL
    • mpi/MPI_ERR_LASTCODE
    • mpi/MPI_ERR_LOCKTYPE
    • MPI_ERR_NO_MEM
    • mpi/MPI_ERR_QUOTA
    • MPI_ERR_NO_SUCH_FILE
    • MPI_ERR_CONVERSION
    • MPI_ERR_BAD_FILE
    • mpi/MPI_ERR_SIZE
    • MPI_ERR_AMODE
    • mpi/MPI_SUCCESS
    • mpi/MPI_ERR_SPAWN
    • mpi/MPI_ERR_TAG
    • MPI_ERR_GROUP
    • MPI_ERR_FILE_EXISTS
    • mpi/MPI_ERR_WIN
    • mpi/MPI_ERR_TOPOLOGY
    • MPI_ERR_IO
    • MPI_ERR_FILE_IN_USE
    • MPI_ERR_DISP
    • MPI_ERR_IN_STATUS
    • mpi/MPI_ERR_RMA_CONFLICT
    • mpi/MPI_ERR_READ_ONLY
    • MPI_ERR_BASE
    • mpi/MPI_ERR_TYPE
    • MPI_ERR_LASTCODE
    • MPI_ERR_ARG
    • MPI_ERR_DUP_DATAREP
    • mpi/MPI_ERR_UNKNOWN
    • MPI_ERR_LOCKTYPE
    • mpi/MPI_ERR_RMA_SYNC
    • MPI_ERR_ASSERT
    • MPI_ERR_KEYVAL
    • MPI_ERR_INFO_VALUE
    • MPI_ERR_INFO_NOKEY
    • MPI_ERR_COMM
    • MPI_ERR_NOT_SAME
    • MPI_ERR_ACCESS
    • mpi/MPI_ERR_NAME
    • MPI_ERR_BUFFER
    • MPI_ERR_COUNT
    • mpi/MPI_ERR_PORT
    • mpi/MPI_ERR_OTHER
    • mpi/MPI_ERR_TRUNCATE
    • MPI_ERR_DIMS
    • mpi/MPI_ERR_NO_MEM
    • mpi/MPI_ERR_PENDING
    • MPI_ERR_NO_SPACE
    • mpi/MPI_ERR_NO_SUCH_FILE
    • MPI_ERR_NAME
    • MPI_ERR_INFO_KEY
    • mpi/MPI_ERR_NOT_SAME
    • MPI_ERR_FILE
    • mpi/MPI_ERR_UNSUPPORTED_DATAREP
    • mpi/MPI_ERR_OP
    • mpi/MPI_ERR_ROOT
    • mpi/MPI_ERR_UNSUPPORTED_OPERATION
    • mpi/MPI_ERR_RANK
    • MPI_ERR_INFO
    • MPI_ERR_INTERN
    • mpi/MPI_ERR_NO_SPACE
    • mpi/MPI_ERR_REQUEST
    • mpi/MPI_ERR_SERVICE
    • MPI_ERR_REQUEST
    • MPI_ERR_ROOT
    • MPI_ERR_PORT
    • MPI_ERR_TAG
    • MPI_ERR_SPAWN
    • MPI_ERR_OP
    • MPI_ERR_SIZE
    • MPI_ERR_UNSUPPORTED_OPERATION
    • MPI_ERR_TYPE
    • MPI_SUCCESS
    • MPI_ERR_RMA_CONFLICT
    • MPI_ERR_QUOTA
    • MPI_ERR_RMA_SYNC
    • MPI_ERR_UNSUPPORTED_DATAREP
    • MPI_ERR_READ_ONLY
    • MPI_ERR_TOPOLOGY
    • MPI_ERR_OTHER
    • MPI_ERR_WIN
    • MPI_ERR_UNKNOWN
    • MPI_ERR_SERVICE
    • MPI_ERR_TRUNCATE
    • MPI_ERR_RANK
    • MPI_ERR_PENDING
      dev_langs:
    • C++
    • C
      api_location:
    • mpi.h
      api_name:
    • MPI_ERR_ACCESS
    • MPI_ERR_AMODE
    • MPI_ERR_ARG
    • MPI_ERR_ASSERT
    • MPI_ERR_CONVERSION
    • MPI_ERR_COUNT
    • MPI_ERR_DISP
    • MPI_ERR_COMM
    • MPI_ERR_BAD_FILE
    • MPI_ERR_DIMS
    • MPI_ERR_BUFFER
    • MPI_ERR_BASE
    • MPI_ERR_INFO_KEY
    • MPI_ERR_FILE_IN_USE
    • MPI_ERR_FILE_EXISTS
    • MPI_ERR_INFO
    • MPI_ERR_DUP_DATAREP
    • MPI_ERR_INFO_NOKEY
    • MPI_ERR_FILE
    • MPI_ERR_LOCKTYPE
    • MPI_ERR_INFO_VALUE
    • MPI_ERR_LASTCODE
    • MPI_ERR_KEYVAL
    • MPI_ERR_IO
    • MPI_ERR_INTERN
    • MPI_ERR_IN_STATUS
    • MPI_ERR_GROUP
    • MPI_ERR_NAME
    • MPI_ERR_RMA_CONFLICT
    • MPI_ERR_SPAWN
    • MPI_ERR_NOT_SAME
    • MPI_ERR_TRUNCATE
    • MPI_ERR_RMA_SYNC
    • MPI_ERR_WIN
    • MPI_ERR_TAG
    • MPI_ERR_REQUEST
    • MPI_ERR_READ_ONLY
    • MPI_ERR_TOPOLOGY
    • MPI_ERR_OTHER
    • MPI_ERR_QUOTA
    • MPI_ERR_NO_MEM
    • MPI_ERR_NO_SPACE
    • MPI_ERR_PENDING
    • MPI_ERR_SIZE
    • MPI_ERR_UNKNOWN
    • MPI_ERR_NO_SUCH_FILE
    • MPI_ERR_UNSUPPORTED_OPERATION
    • MPI_ERR_UNSUPPORTED_DATAREP
    • MPI_ERR_OP
    • MPI_ERR_PORT
    • MPI_ERR_ROOT
    • MPI_ERR_TYPE
    • MPI_ERR_RANK
    • MPI_SUCCESS
    • MPI_ERR_SERVICE
      api_type:
    • HeaderDef
      product:
    • Windows
      topic_type:
    • apiref
    • kbSyntax
      product_family_name: VS
      ROBOTS: INDEX,FOLLOW

    MPI Error

    Enumeration of predefined MPI error values.

    MPI_SUCCESS

    0

    Successful return code.

    MPI_ERR_BUFFER

    1

    Invalid buffer pointer

    MPI_ERR_COUNT

    2

    Invalid count argument

    MPI_ERR_TYPE

    3

    Invalid datatype argument

    MPI_ERR_TAG

    4

    Invalid tag argument

    MPI_ERR_COMM

    5

    Invalid communicator

    MPI_ERR_RANK

    6

    Invalid rank

    MPI_ERR_ROOT

    7

    Invalid root

    MPI_ERR_GROUP

    8

    Invalid group

    MPI_ERR_OP

    9

    Invalid operation

    MPI_ERR_TOPOLOGY

    10

    Invalid topology

    MPI_ERR_DIMS

    11

    Invalid dimension argument

    MPI_ERR_ARG

    12

    Invalid argument

    MPI_ERR_UNKNOWN

    13

    Unknown error

    MPI_ERR_TRUNCATE

    14

    Message truncated on receive

    MPI_ERR_OTHER

    15

    Other error; use Error_string

    MPI_ERR_INTERN

    16

    Internal error code

    MPI_ERR_IN_STATUS

    17

    Error code is in status

    MPI_ERR_PENDING

    18

    Pending request

    MPI_ERR_REQUEST

    19

    Invalid request (handle)

    MPI_ERR_ACCESS

    20

    Permission denied

    MPI_ERR_AMODE

    21

    Error related to amode passed to MPI_File_open

    MPI_ERR_BAD_FILE

    22

    Invalid file name (e.g., path name too long)

    MPI_ERR_CONVERSION

    23

    Error in user data conversion function

    MPI_ERR_DUP_DATAREP

    24

    Data representation identifier already registered

    MPI_ERR_FILE_EXISTS

    25

    File exists

    MPI_ERR_FILE_IN_USE

    26

    File operation could not be completed, file in use

    MPI_ERR_FILE

    27

    Invalid file handle

    MPI_ERR_INFO

    28

    Invalid info argument

    MPI_ERR_INFO_KEY

    29

    Key longer than MPI_MAX_INFO_KEY

    MPI_ERR_INFO_VALUE

    30

    Value longer than MPI_MAX_INFO_VAL

    MPI_ERR_INFO_NOKEY

    31

    Invalid key passed to MPI_Info_delete

    MPI_ERR_IO

    32

    Other I/O error

    MPI_ERR_NAME

    33

    Invalid service name in MPI_Lookup_name

    MPI_ERR_NO_MEM

    34

    Alloc_mem could not allocate memory

    MPI_ERR_NOT_SAME

    35

    Collective argument/sequence not the same on all processes

    MPI_ERR_NO_SPACE

    36

    Not enough space

    MPI_ERR_NO_SUCH_FILE

    37

    File does not exist

    MPI_ERR_PORT

    38

    Invalid port name in MPI_comm_connect

    MPI_ERR_QUOTA

    39

    Quota exceeded

    MPI_ERR_READ_ONLY

    40

    Read-only file or file system

    MPI_ERR_SERVICE

    41

    Invalid service name in MPI_Unpublish_name

    MPI_ERR_SPAWN

    42

    Error in spawning processes

    MPI_ERR_UNSUPPORTED_DATAREP

    43

    Unsupported dararep in MPI_File_set_view

    MPI_ERR_UNSUPPORTED_OPERATION

    44

    Unsupported operation on file

    MPI_ERR_WIN

    45

    Invalid win argument

    MPI_ERR_BASE

    46

    Invalid base passed to MPI_Free_mem

    MPI_ERR_LOCKTYPE

    47

    Invalid locktype argument

    MPI_ERR_KEYVAL

    48

    Invalid keyval

    MPI_ERR_RMA_CONFLICT

    49

    Conflicting accesses to window

    MPI_ERR_RMA_SYNC

    50

    Wrong synchronization of RMA calls

    MPI_ERR_SIZE

    51

    Invalid size argument

    MPI_ERR_DISP

    52

    Invalid disp argument

    MPI_ERR_ASSERT

    53

    Invalid assert argument

    MPI_ERR_LASTCODE

    0x3fffffff

    Last valid error code for a predefined error class.

    Requirements

    Product

    HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package or HPC Pack 2008 Client Utilities

    Header

    Mpi.h

    See also

    MPI Enumerations

    #mpi

    #mpi

    Вопрос:

    Я скомпилировал этот код:

      program mpisimple
      
      implicit none
      
      integer ierr
    
      include 'mpif.h'
    
      call mpi_init(ierr)
    
      write(6,*) 'Hello World!'
    
      call mpi_finalize(ierr)
    
      end
     

    используя команду: mpif90 -o helloworld simplempi.f90

    Когда я запускаю эту команду:

         $ mpiexec -np 1 ./helloworld
        Hello World!
     

    как вы можете видеть, все работает нормально. Но когда я запускаю с любым другим количеством процессоров (здесь 4) Я получаю ошибки, и мне в основном приходится нажимать ctrl C, чтобы уничтожить ее.

     Fatal error in MPI_Init: Other MPI error, error stack:
    MPIR_Init_thread(805).....: fail failed
    MPID_Init(1859)...........: channel initialization failed
    MPIDI_CH3_Init(126).......: fail failed
    MPID_nem_init_ckpt(858)...: fail failed
    MPIDI_CH3I_Seg_commit(427): PMI_KVS_Get returned 4
    In: PMI_Abort(69777679, Fatal error in MPI_Init: Other MPI error, error stack:
    MPIR_Init_thread(805).....: fail failed
    MPID_Init(1859)...........: channel initialization failed
    MPIDI_CH3_Init(126).......: fail failed
    MPID_nem_init_ckpt(858)...: fail failed
    MPIDI_CH3I_Seg_commit(427): PMI_KVS_Get returned 4)
    forrtl: severe (174): SIGSEGV, segmentation fault occurred
     

    В чем может быть проблема? Я делаю это в системе Linux hpc.

    Ответ №1:

    Я понял, почему это произошло. Система, которую я использую, не требует от пользователей отправки одноядерных заданий через планировщик, но требует этого для многоядерных заданий. Как только команда mpiexec была отправлена через скрипт PBS bash, ошибки исчезли, и результат был таким, как ожидалось.

    Комментарии:

    1. Вероятно, у вас очень низкие ограничения ресурсов, установленные на головном узле кластера. ulimit -a показывает их. Это часто делается намеренно, чтобы удержать людей от перегрузки головных узлов многоядерными заданиями.

    Понравилась статья? Поделить с друзьями:
  • Что это ошибка или предательство
  • Что это ошибка или измена
  • Что это ошибка u1 2320
  • Что это ошибка 3047 камаз
  • Что это ошибка 0xc004f074 windows 7