Оқулық Қазақстан Республикасы Білім және ғылым министрлігі бекіткен Алматы, 2011


int MPI_Iprobe( int source, int msgtag, MPI_Comm



Pdf көрінісі
бет98/121
Дата31.08.2022
өлшемі2,81 Mb.
#38343
түріОқулық
1   ...   94   95   96   97   98   99   100   101   ...   121
Байланысты:
duisembiev-parallel-esep

int MPI_Iprobe( int source, int msgtag, MPI_Comm 
comm, int *flag, MPI_Status *status) 

source — процесс-жіберушінің нӛмірі немесе 
MPI
_
ANY
_
SOURCE


msgtag — күтілетін хабарлама идентификаторы немесе 
MPI
_
ANY
_
TAG


comm —коммуникатор идентификаторы; 

OUT 
flag — алмасу операциясының аяқталу белгісі; 

OUT 
status — келіп тұрған хабарлама параметрлері. 
Күтілетін бұғатталусыз хабарламаның құрылымы және келіп түсуі 
жайлы ақпаратты алу. Егер хабарламаны жарамды атрибуттарымен 
қабылдауға болатын болса, онда flag параметрінде 1 мәні қайтарылады, 
және 0 қайтарылады, егер кӛрсетілген атрибуттарымен хабарлама әлі 
болмаса.
Келесі мысалда, процестер арасында жол бойынша таратылған квадрат 
матрицаны транспонирлеу үшін бұғаттамайтын операцияларды қолдану 
бағдарламасы келтірілген. Алғашында әрбір процесс а массивінің n1 жолын 
жеке анықтайды. Одан ары 
MPI
_
ISEND 
және
MPI
_
IRECV 
бұғаттамайтын 
операцияларының кӛмегімен барлық деректер алмасуды транспонирлеу үшін 
қажеттілер инициалданады. Басталған алмасулар фонында әрбір процесс а 
массивіндегі 
ӛзінің 
жеке 
бӛлігін 
транспонирлейді. 
Одан 
кейін 
MPI_WAITANE процедурасының шақыруы кӛмегімен кезкелген басқа 
процестен хабарламаның келуін күтеді және бұл процестен алынған а 
массиві бӛлігін транспонирлейді. Бұл ӛңдеу, қашан барлық процестен 
хабарлама алынбайынша жалғаса береді. Соңында берілген а массиві және 
транспонирленген b массиві баспаға беріледі. 


177 
program example6 
include 'mpif.h‟ 


Достарыңызбен бөлісу:
1   ...   94   95   96   97   98   99   100   101   ...   121




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

    Басты бет