next up previous contents
Next: Пример менеджер-рабочий с использованием Up: Интерфейс менеджера процессов Previous: Запуск нескольких исполняемых файлов   Contents

Зарезервированные ключи info

После некоторого объема работ, MPI Forum решил не пытаться определить универсальный интерфейс менеджера процессов, поскольку существует большое разнообразие менеджеров процессов. Вместо этого, аргумент info в MPI_COMM_SPAWN используется для сообщения менеджеру процессов информации, позволяющей использование нестандартных (а потому не переносимых параметров). Несмотря на это, чтобы достичь максимальной переносимости, было зарезервировано следующее небольшое множество ключей info. Реализация не должна интерпретировать эти ключи; если же она это делает, она должна предоставлять описанные возможности.

host: Значением является имя машины. Формат имени машины определяется реализацией.

arch: Значением является имя архитектуры. Имеющие силу имена архитектур и их значения определяются реализацией.

wdir: значение является именем каталога на машине, на которой выполняются порожденные процессы. Этот каталог становится рабочим каталогом порожденных процессов. Формат имени каталога определяется реализацией.

path: значением является каталог или набор каталогов, в которых реализация должна искать исполняемые файлы. Формат пути определяется реализацией.

file: значением является имя файла, в котором указана дополнительная информация. Формат имени файла и внутренний формат файла определяются реализацией.

soft: значение определяет ряд чисел, являющихся допустимыми значениями количества процессов, которые могут создать MPI_COMM_SPAWN и другие подобные процедуры. Формат значения - разделенный двоеточиями список триплетов ФОРТРАН90, каждый из которых определяет множество целых чисел, а все вместе определяют множество, формируемое объединением этих множеств. Отрицательные величины и величины, большие maxprocs, в этих множествах игнорируются. MPI порождает максимально возможное количество процессов, в соответствие с некоторым числом в множестве. Порядок, в котором задаются триплеты, не имеет значения.

Под триплетами ФОРТРАН90 мы подразумеваем следующее:

  1. a означает а.
  2. a:b означает $a, a+1, a+2, ..., b$.
  3. a:b:c означает $a, a+c, a+2c,
..., a+ck,$ где для $c>0$, $k$ является наибольшим целым, для которого $a+ck \le
b$, а для $c<0$, $k$ является наибольшим целым, для которого $a+ck \ge b$. Если $b>a$, то $c$ должно быть положительным. Если $b<a$, то $c$ должно быть отрицательным.
Примеры:
  1. a:b дает промежуток между a и b.
  2. 0:N дает полную функциональность ``soft''.
  3. 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096 позволяет создать количество процессов, равное степени 2.
  4. 2:10000:2 позволяет иметь четное количество процессов.
  5. 2:10:2, 7 позволяет иметь 2, 4, 6, 7, 8 или 10 процессов.



Alex Otwagin 2002-12-10