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


int MPI_Bcast(void *buf, int count, MPI_Datatype



Pdf көрінісі
бет107/121
Дата31.08.2022
өлшемі2,81 Mb.
#38343
түріОқулық
1   ...   103   104   105   106   107   108   109   110   ...   121
Байланысты:
duisembiev-parallel-esep

int MPI_Bcast(void *buf, int count, MPI_Datatype 
datatype, int source, MPI_Comm comm) 

OUT 
buf — хабарламаны жіберу буферінің басталу адресі; 

count — хабарламадағы жіберілген элементтер саны; 

datatype — жіберілген элементтер типтері; 

source — тарататын процесс нӛмірі; 

comm —коммуникатор идентификаторы. 
Хабарламаны source процесінен барлық процестерге (таратушы процесс 
те енеді) тарату. Процедурадан қайтарылу кезінде source процесінің buf 
буферіндегі мәлімет comm коммуникаторының әрбір процесінің жергілікті 
(жеке) буферіне кӛшіріледі. Барлық процестерде count, datatype, 
source және comm параметрлерінің мәндері бірдей болуы керек. 
Келесі операторды comm коммуникатораның барлық процесі орындау 
нәтижесінде: 
MPI_Bcast (array, 100, MPI_INT, 0, comm); 
нӛлінші процестегі array массивінің алғашқы 100 бүтін саны әрбір 
процестің жергілікті array буферлеріне кӛшіріліп жазылады. 
int MPI_Gather( void *sbuf, int scount, MPI_Datatype 
stype, void *rbuf, int rcount, MPI_Datatype rtype, int 
dest, MPI_Comm comm) 

sbuf - хабарламаны жіберу буферінің басталу адресі; 

scount - хабарламадағы жіберілген элементтер саны; 

stype - жіберілген элементтер типтері; 

OUT 
rbuf - хабарламаны жинау буферінің басталу адресі; 

rcount – қабылданатын хабарламадағы элементтер саны; 

rtype – қабыданатын хабарламадағы элементтер типі; 

dest – деректерді жинайтын процесс нӛмірі; 

comm - коммуникатор идентификаторы. 
Барлық процестерден dest процесінің rbuf буферіне деректерді жинау. 
Әрбір процесс, dest процесін қоса алғанда, ӛз sbuf буферіндегі деректерді 
dest процесіне жібереді. Жинақтаушы процесс, деректерді процесс 
нӛмірінің ӛсу реті бойынша орналастыра отырып rbuf буферінде сақтайды. 
dest процесінде барлық параметрлердің мәндері маңызды орын алады, ал 
қалған барлық процестерде - тек sbuf, scount, stype, dest және comm 


188 
параметрлерінің ғана мәндері. Барлық процестерде dest және comm 
параметрлерінің мәндері бірдей болуы керек. Dest процесінің rcount 
параметрі, барлық процестен қабылданған қосынды элементтер емес, ал 
әрбір процестен қабылданатын rtype типті элементтер санын белгілейді. 
Осыған ұқсас MPI_Scatter функциясының кӛмегімен процестерден 
ұзындықтары әр түрлі деректер массивтерін қабылдауға болады. 


Достарыңызбен бөлісу:
1   ...   103   104   105   106   107   108   109   110   ...   121




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

    Басты бет