Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Возвращает дескриптор для нового коммуникатора, к которому присоединены сведения о топологии распределенного графа.
Синтаксис
int WINAPI MPI_Dist_graph_create_adjacent(
_In_ MPI_Comm comm_old,
_In_range_(>=,0) int indegree,
_In_reads_opt const int sources[],
_In_reads_opt const int sourceweights[],
_In_range_(>=,0) int outdegree,
_In_reads_opt const int destinations[],
_In_reads_opt const int destweights[],
_In_ MPI_Info info,
_In_range_(0,1) int reorder,
_Out_ MPI_Comm *comm_dist_graph
);
Параметры
comm_old [in]
Дескриптор коммуникатора без сведений о топологии (дескриптор).неразрешимый
Размер массивов источников и исходных весов (неотрицательное целое число).sources[]
Ранжирует процессы, для которых вызывающий процесс является назначением (массив неотрицательных целых чисел).sourceweights[]
Вес соответствующих ребер в вызывающем процессе (массив неотрицательных целых чисел).outdegree
Размер массивов назначений и destweights (неотрицательное целое число).destinations[]
Ранги процессов, для которых вызывающий процесс является источником (массив неотрицательных целых чисел).destweights[]
Вес соответствующих ребер из вызывающего процесса (массив неотрицательных целых чисел).info [in]
Указания по оптимизации или интерпретации весов (дескриптора). В настоящее время используется MPI_INFO_NULL , так как эта переменная не используется внутри.Переупорядочить
Ранги могут быть переупорядочены (true) или не (false) (логически). В настоящее время это не используется для внутренних целей.comm_dist_graph [out]
Дескриптор к коммуникатору с присоединенной информацией о топологии распределенного графа (дескриптор).
Возвращаемое значение
Возвращает MPI_SUCCESS при успешном выполнении. В противном случае возвращаемое значение представляет собой код ошибки.
В Fortran возвращаемое значение хранится в параметре IERROR .
Fortran
MPI_DIST_GRAPH_CREATE_ADJACENT (COMM_OLD, INDEGREE, SOURCES, SOURCEWEIGHTS,
OUTDEGREE, DESTINATIONS, DESTWEIGHTS, INFO, REORDER,
COMM_DIST_GRAPH, IERROR)
INTEGER COMM_OLD, INDEGREE, SOURCES (*), SOURCEWEIGHTS (*), OUTDEGREE,
DESTINATIONS (*), DESTWEIGHTS (*), INFO, COMM_DIST_GRAPH, IERROR
LOGICAL REORDER
Комментарии
Каждый процесс в comm_old коммуникатор передает всю информацию о входящих и исходящих ребрах в топологии виртуального распределенного графа. Вызывающие процессы должны гарантировать, что каждый край графа описан в исходном и целевом процессах с одинаковым весом, если граф взвешен. Если для данной пары "источник- назначение" имеется несколько ребер, то последовательность весов этих ребер не имеет значения.
Полная топология связи — это сочетание всех ребер, отображаемых в массиве источников всех процессов в comm_old, которое должно быть идентично сочетанию всех ребер, показанных в массиве назначений . Исходные и целевые ранги должны быть рангами процесса comm_old. Это позволяет полностью распределить спецификацию графа связи. Изолированные процессы, т. е. процессы без входящих или исходящих ребер в распределенной топологии и, следовательно, имеют неразрешимый или outdegree или и то, и другое, как ноль, допускаются.
Количество процессов в созданном коммуникаторе, comm_dist_graph, идентично количеству процессов в comm_old. Вызов этой функции является коллективным.
Весовые коэффициенты указываются как неотрицательных целых чисел с помощью массивов sourceweights и destweights , если граф является взвешанным графом. Приложению потребуется указать MPI_UNWEIGHTED для массивов sourceweights и destweights , чтобы указать, что все ребра имеют одинаковый (фактически нет) вес. Ошибочно предоставлять MPI_UNWEIGHTED для некоторых, но не всех процессов comm_old. Поведение в таком случае не гарантируется. Если граф взвешен, но для процесса несогласованный или outdegree равен нулю , этот процесс может передать MPI_WEIGHTS_EMPTY или любой произвольный массив в исходные весы или destweights .
Требования
Продукт |
Microsoft MPI версии 6 |
Заголовок |
Mpi.h; Mpif.h |
Библиотека |
Msmpi.lib |
DLL |
Msmpi.dll |
См. также раздел
Функции топологии процесса MPI