next up previous contents
Next: Освобождение соединений Up: Другая функциональность Previous: Одиночная функция MPI_INIT   Contents

MPI_APPNUM

MPI имеет предопределенный атрибут MPI_APPNUM (MPI::APPNUM в С++) для MPI_COMM_WORLD. В ФОРТРАН атрибут имеет целочисленное значение. В Си атрибут - указатель на целочисленное значение. Если процесс был порожден через MPI_COMM_SPAWN_MULTIPLE, команда с номером MPI_APPNUM генерирует текущий процесс. Нумерация начинается с нуля. Если процесс был порожден через MPI_COMM_SPAWN, он имеет MPI_APPNUM, равный нулю.

Если процесс был запущен не порождающим вызовом, а механизмом запуска, специфичным для реализации, который может обрабатывать спецификации нескольких процессов, MPI_APPNUM должен быть установлен в номер соответствующей спецификации процесса. В особенности, если он был запущен с помощью

mpiexec spec0 : spec1: spec2
MPI_APPNUM должен быть установлен в номер соответствующей спецификации.

Если приложение не было порождено MPI_COMM_SPAWN или MPI_COMM_SPAWN_MULTIPLE, и если
MPI_APPNUM не создает определенного смысла в контексте специфичного для реализации механизма запуска, MPI_APPNUM не устанавливается.

Реализации MPI необязательно могут предоставлять механизм переопределения значения атрибута MPI_APPNUM через аргумент info. MPI резервирует следующий ключ для всех вызовов типа SPAWN.

appnum: Значение, содержащее целое число, которое переопределяет значение по умолчанию для MPI_APPNUM в потомке.

Объяснение: Когда запускается отдельное приложение, можно представить, сколько процессов в нем будет, посмотрев на размер MPI_COMM_WORLD. С другой стороны, приложение, состоящее из нескольких частей, каждое из которых является параллельной программой типа ``одна программа - много данных'' (SPMD), не имеет общих механизмов определения, сколько существует подзадач и к какой подзадаче относится процесс.[]



Alex Otwagin 2002-12-10