Н., Пескова Е. Е., Шаманаев П. А. Основы параллельного программирования с использованием технологий mpi и openmp учебное пособие саранск издательство свмо 2013 2



Pdf көрінісі
бет8/53
Дата07.06.2023
өлшемі6.58 Mb.
#474796
1   ...   4   5   6   7   8   9   10   11   ...   53
ParProg MPI OpenMP

MPI_Initialized для определения того, был ли ранее выполнен вызов 
MPI_Init, а после вызова MPI_FinalizeMPI_Finalized
аналогичного 
предназначения. 
Рассмотренные примеры функций дают представление синтаксиса 
именования функций в MPI. Имени функции предшествует префикс MPI, 
далее следует одно или несколько слов названия, первое слово в имени 
функции начинается с заглавного символа, слова разделяются знаком 
подчеркивания. Названия функций MPI, как правило, поясняют 
назначение выполняемых функцией действий. 
Определение количества процессов в выполняемой параллельной 
программе осуществляется при помощи функции: 
int MPI_Comm_size(MPI_Comm comm, int *size)
• comm — коммуникатор, размер которого определяется, 
• size — определяемое количество процессов в коммуникаторе. 
Для определения ранга процесса используется функция: 
int MPI_Comm_rank(MPI_Comm comm, int *rank), где 
• comm — коммуникатор, в котором определяется ранг процесса, 
• rank — ранг процесса в коммуникаторе. 
Как правило, вызов функций MPI_Comm_size и MPI_Comm_rank 
выполняется сразу после MPI_Init для получения общего количества 
процессов и ранга текущего процесса: 
#include "mpi.h" 
int main(int argc, char *argv[]) { 
int ProcNum, ProcRank; 
<программный код без использования функций MPI> 
MPI_Init(&argc, &argv); 
MPI_Comm_size(MPI_COMM_WORLD, &ProcNum); 
MPI_Comm_rank(MPI_COMM_WORLD, &ProcRank); 
<программный код с использованием функций MPI> 
MPI_Finalize(); 
<программный код без использования функций MPI> 
return 0; 

 
Следует отметить: 


13 
 
коммуникатор MPI_COMM_WORLD, как отмечалось ранее
создается по умолчанию и представляет все процессы выполняемой 
параллельной программы; 
 
ранг, получаемый при помощи функции MPI_Comm_rank
является рангом процесса, выполнившего вызов этой функции, т. е. 
переменная ProcRank примет различные значения у разных процессов [9].


Достарыңызбен бөлісу:
1   ...   4   5   6   7   8   9   10   11   ...   53




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет