| |
MPI имеет предопределенный атрибут MPI_APPNUM (MPI::APPNUM в С++) для MPI_COMM_WORLD. В ФОРТРАН атрибут имеет целочисленное значение. В Си атрибут - указатель на целочисленное значение. Если процесс был порожден через MPI_COMM_SPAWN_MULTIPLE, команда с номером MPI_APPNUM генерирует текущий процесс. Нумерация начинается с нуля. Если процесс был порожден через MPI_COMM_SPAWN, он имеет MPI_APPNUM, равный нулю.
Если процесс был запущен не порождающим вызовом, а механизмом запуска, специфичным для реализации, который может обрабатывать спецификации нескольких процессов, MPI_APPNUM должен быть установлен в номер соответствующей спецификации процесса. В особенности, если он был запущен с помощью
mpiexec spec0 : spec1: spec2MPI_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), не имеет общих механизмов определения, сколько существует подзадач и к какой подзадаче относится процесс.[]
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |