recvbuf[0], recvbuf[l], recvbuf[2], recvbuf[3]); } else printf("Процестер саны тең болу керек %d. \n", SIZE); MPI_Finalize(); } Процестердің синхрондалуы MPI технологиясында процестердің синхрондалуы MPI_Barrier
функциясының кӛмегімен жүргізіледі.
int MPI_Barrier (MPI_Comm comm) comm —коммуникатор идентификаторы.
Бұл функция ӛзін шақырған процестер жұмысын, қашан СОММ коммуникаторының барлық қалған процестері осы процедураны орындап
болмайынша бұғаттайды. Коммуникатордың соңғы процесі берілген
функцияны орындап біткеннен кейін ғана барлық процестер бұғаттан
босатылып одан ары орындауды жалғастырады. Бұл процедура ұжымдық.
Барлық процесс МРI_BARRIERфункциясын шақырулары керек, алайда
коммуникатордың әртүрлі процестерінің нақты орындалған шақырулары
бағдарламаның әр жерінде орналасуы мүмкін.
Процестер топтарымен жұмыс (операциялар). Топ – бұл процестердің реттелген жиыны. Топтағы әрбір процеске бүтін
сан – ранг немесе нөмір қойылған. MPI_GROUP_EMPTY – бірде-бір процесс
кірмейтін бос топ. MPI_GROUP_NULL – қате топ үшін пайдаланылатын мән.
Жаңа топтарды бұрыннан бар топтар негізінде де, коммуникаторлар
негізінде де құруға болады, бірақ алмасу операцияларында тек
коммуникаторлар ғана пайдаланылуы мүмкін. Барлық басқа процестер топтары
құрылатын базалық топ, MPI_COMM_WORLD коммуникаторымен байланысты,
оған қосымшаның барлық процестері енеді.
MPI
технологиясында
коммуникаторлармен
және
процестер
топтарымен жұмыс істеуге бағытталған кӛптеген функциялар қарастырылған.
Бұл ұсынылатын функциялар, топтар құрамын салыстыруға, олардың
қиылысуын, бірігуін анықтауға, процесті топқа қосуға, топты жоюға және т.б.
190
әрекеттерге мүмкіндік береді. Топтармен операциялар орындау кезінде бос топ
пайда болуы да мүмкін. Топтармен операциялар мысалдарын [2] және [10]
әдебиеттерінен табуға болады (Сәйкесінше, Фортран және Си тілдерінде).