- •Параллельді архитектураның классификациясы
- •OpenMp негізгі принциптері
- •5. OpenMp технологиясындағы программалаудың принципиалды сұлбасы
- •44 Сурет. ОреnМр: бағдарламаның орындалу процесі
- •6. Амдал заңы. Үдеулігі (жеделдету). Тиімділік
- •7. Суперскалярлы және векторлы процессорлар.
- •8. Флинн таксономиясы. Sisd, simd архитектурасы.
- •9. Флинн таксономиясы. Misd, mimd архитектурасы.
- •10. Simd үлгісіне программа мысалдар
- •11. Mpi деген не?
- •12. Директивы OpenMp. Директивы shared, private и default
- •13. Директивы OpenMp. Директивы firstprivate и lastprivate
- •14. Директивы OpenMp. Директива if
- •15. Директивы OpenMp. Директива reduction
- •16. Директивы OpenMp. Директива copyin
- •17. Директивы OpenMp. Директива for .
- •18. Директивы OpenMp. Директива sections .
- •19. Директивы OpenMp. Директива single .
- •41)Операции передачи данных между двумя процессами. Организация неблокирующих обменов данными между процессами
- •42) Операции передачи данных между двумя процессами. Одновременное выполнение передачи и приема
- •43)Коллективные операции передачи данных. Обобщенная передача данных от одного процесса всем процессам. Определение времени выполнение mpi-программы
- •44)Обобщенная передача данных от всех процессов одному процессу. Общая передача данных от всех процессов всем процессам
41)Операции передачи данных между двумя процессами. Организация неблокирующих обменов данными между процессами
Нүктелік, және басқа түрлердің айырбастары, айырбасқа функцияларға шақыруларда параметрге сапада көрсетілген шектердегі коммуникатора бір әрдайым өндіріп алады. Процесстердің рангы, қабылдаушы қатысу айырбастарда, коммуникаторда көрсетілген қатынас бойынша есептейді.Ниже приведен пример программы, описывающий поведение двух взаимодействующих процессов, один из которых посылает данные, а другой их принимает и выводит на печать. Берілу үшін осы жоғары келтірған мысалда, нүктелік айырбастардың функциялар қолданылған. сообщения жіберу функциясы іске асады. int MPI_Send(void *buf, int count, MPI_Datatype type, int dest, int tag, MPI_Comm comm);
Осы екі процесспен арасында берілулер операциялардың оқшауланбаған орындауларына мүмкіндік MPI қамтамасыз етіледі. Оқшауланбаған аналогтардың ат I (Immediate) префикс қосымша жолымен лайықты функциялардан атаулардан тіркістенеді. Оқшауланбаған функциялардың параметрлердің тізімі бастапқы функциялардың параметрлердің барлық жиын болып жатыр және request MPI_Request түрмен бір қосымша параметрі (в функции MPI_Irecv отсутствует также параметр status). Оқшауланбаған функциялар шақыру берілуге сұраған операцияға инициацияға алып келіп жатыр, функциядан не орындаудан кейін бітіп жатыр және процесс өз әсерлер жалғастыра алады. Өз аяқтаудың алдында оқшауланбаған функция айырбас ынталанған операция аяқтау тексеру үшін қолдана бұдан әрі алатын request айнымалы анықтап жатыр.
42) Операции передачи данных между двумя процессами. Одновременное выполнение передачи и приема
Орындау әртүрлі режим үшін қатынас жіберу атаулы функциялар үшін префиксті сияқты жұмыстар лайықты атаулар бастапқы нышаны MPI_Send функцияда атауға MPI қолданылады Қажетті жіберу процесстер есептеулер жалғасы үшін осы бір процесс кезде, бір параллел бағдарламаларда ақпараттық өзара әрекеттесуден жиi атқаратын формалардан осы процесстермен арасында айырбас болады және, сол уақытта, басқа процесстерден сообщения алады. сообщение берілу және қабылдау MPI_Sendrecv үшін функцияда әртүрлі буферлер қолданылады. Жағдайда қатынастар бірдей түр алған кезде,біртұтас буферлерге қолдануыларға MPI да мүмкіндік береді
int MPI_Sendrecv_replace (void *buf, int count, MPI_Datatype type, int dest,
int stag, int source, int rtag, MPI_Comm comm, MPI_Status* status).
Берілу және қабылдау операциялар бір уақыттағы орындау үшін функциялардың қолдануысы мысал матрицалық көбейтуда параллел бағдарламаларда әзірлеуде болады
43)Коллективные операции передачи данных. Обобщенная передача данных от одного процесса всем процессам. Определение времени выполнение mpi-программы
Жалпыланған операция осы барлық процесстерден бір процесстен толықтай хабарлау таратудан айырмашылығы болады, немесе процесс айыратын осы процесстерге алып береді.Выполнение данной операции может быть обеспечено при помощи функции:
int MPI_Scatter(void *sbuf,int scount,MPI_Datatype stype,
void *rbuf,int rcount,MPI_Datatype rtype,
int root, MPI_Comm comm),
мұндағы sbuf, scount, stype - сообщения арқылы жиберілген параметрлер ,rbuf,rcount, rtype - параметры сообщения, принимаемого в процессах, root – ранг процесса, comm – коммуникатор. Стандарт уақыт өлшем үшін арнайы функциялардың анықтау MPI қосады, қолдануы параллел бағдарламаларды орындаудан ортадан тәуелділік шеттету мүмкіндік береді. Бағдарламалар орындаулары ағымдағы сәттің уақыттың алуы функцияда көмекте қамтамасыз етіледі :
double MPI_Wtime(void),
double MPI_Wtick(void),
