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



Pdf көрінісі
бет82/121
Дата31.08.2022
өлшемі2,81 Mb.
#38343
түріОқулық
1   ...   78   79   80   81   82   83   84   85   ...   121
Байланысты:
duisembiev-parallel-esep

    Бұл бет үшін навигация:
  • MPI_Init
MPI жалпы функциялары 
Нақты функцияларды сипаттауға кӛшпес бұрын, бірнеше жалпы 
ескертулерге тоқталайық. Функцияларды сипаттау кезінде шығыс 
параметрлерін белгілеу үшін OUT сӛзі пайдаланылатын болады. Олар арқылы 
функция нәтижелерді қайтарады. Функция жұмысының нәтижесі бір ғана сан 
болғанның ӛзінде, ол параметрлердің біреуі арқылы қайтарылатын болады. 
Бұл MPI функцияларының барлығы дерлік ӛздерінің мәндері ретінде табысты 
аяқталу туралы ақпаратты қайтаруына байланысты. Табысты орындалған 
жағдайда функция 
MPI
_
SUCCESS 
мәнін
қайтарады, кері жағдайда – қателік 
коды қайтарылады. Функцияның орындалуы кезінде орын алған қателік 
түрін, әрбір функцияның сипатамасын қарап түсінуге болады. Әртүрлі қате 
ситуацияларға сәйкес келетін алдын ала анықталған қайтарылатын мәндер 
mpi.h файлында кӛрсетіледі. 
Бұдан ары әрбір бағдарламаны құруға қажетті MPI жалпы 
функцияларын қарастырамыз [2]. 
int MPI_Init(int *argc, char ***argv) 
Бағдарламаның параллель бӛлігін инициалдау. Барлық басқа MPI 
функцияларын MPI_Init шақырылғаннан кейін ғана шақыру мүмкін 
болады. MPI_Init аргументтерінің әдеттен тыс ӛзгеше типі main 
функциясының аргументтерін барлық процестерге беру мүмкіндігі болу үшін 
қарастырылған.


158 
Әрбір қосымша үшін параллель бӛлікті инициализациялау тек бір рет 
қана орындалу керек. Кӛптеген модулдерден тұратын және әртүрлі 
авторлармен жазылған күрделі қосымшалар үшін бұны тексеріп отыру 
қиынға соғатындықтан, қосымша 
MPI_initialized 
функциясы 
енгізілген: 
MPI_Initialized (int *flag) 
Мұндағы 
OUT
*flag – бағдарламаның параллель бӛлігін инициалдау белгісі. 
Егер MPI_Init функциясы шақырылып қойылса, онда flag параметрі 
арқылы 1 мәні, кері жағдайда 0 қайтарылады. 
int MPI_Finalize(void) 
Қосымшаның параллель бӛлігінің аяқталуы. Барлық келесі қатынастар, 
кез-келген MPI-функциялары үшін және MPI_Init функциясы үшін де 
тыйым салынған. MPI_Finalize шақырылғанға дейін оның хабарламалар 
алмасуға араласуы талап етілетін барлық іс-әрекеттер аяқталуы тиіс.
MPI-бағдарламасының жалпы схемасы: 
main(int argc, char **argv)

... 
MPI_Init(&argc, &argv); 
... 
MPI_Finalize(); 
... 

int MPI_Comm_size(MPI_Comm comm, int *size) 

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

OUT 
size - comm коммуникаторындағы процестер саны. 
comm коммуникаторындағы параллель процестердің жалпы санын анықтау. 
Нәтиже size параметрі арқылы қайтарылады. Коммуникатор күрделі 
құрылым болуы себепті, оның алдында алдын ала анықталған MPI_Comm 
типті ат (имя) тұр және ол mpi.h файлында анықталған. 


Достарыңызбен бөлісу:
1   ...   78   79   80   81   82   83   84   85   ...   121




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

    Басты бет