- •Параллельді архитектураның классификациясы
- •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)Обобщенная передача данных от всех процессов одному процессу. Общая передача данных от всех процессов всем процессам
11. Mpi деген не?
MPI-бағдарлама - бұл параллель ара-қатынас жасайтын процестер жиынтығы. Бағдарламаның параллель бөлігін құра отырып, барлық процестер бір рет қана туындайды. MPI-бағдарламаның орындалуы барысында қосымша процестердің туындауына немесе бар процестердің жойылуына жол берілмейді (MPI-2.0-де мұндай мүмкіндік бар). MPI-да ешқандай жалпы айнымалылар болмаса деректер жоқ, әрбір процесс өзінің адрестік кеңістігінде жұмыс істейді. Процестер арасындағы ара-қатынастың негізгі тәсілі хабарламаны айқын жіберу болып табылады.
Бағдарлама параллель процестерінің ара-қатынасын таратпау (локализация) үшін процестер топтарын құруға болады. Бұл жағдайда олардың қатынас жасауы үшін жеке ортасы— коммуникатор ұсынылады. Құрылатын топтар құрамы еркін түрде алынады. Топтар бірдей болуы, қиылысуы да қиылыспауы да және бірі бірінің ішіне толық кіруі де мүмкін. Процестер ара-қатынасы тек қандай да бір коммуникатордың ішінде ғана орын алады, әртүрлі коммуникаторлармен жіберілген хабарламалар қиылыспайды және бір-біріне кедергі келтірмейді.
MPI-бағдарламасының әрбір процесіне бүтін теріс емес сан болатын бірегей атрибут процесс нөмірі беріледі. Осы атрибуттың көмегімен процестер арасындағы өзара қатынастың айтарлықтай бөлігі жүргізіледі. Бір коммуникатордағы әрбір процестің жеке нөмірлері болатыны түсінікті. Бірақ процесс бір мезгілде әртүрлі коммуникаторларға кіре алатыны себепті, оның бір коммуникатордағы нөмірі басқа коммуникатордағы нөмірінен өзгеше болуы мүмкін. Бұдан келіп процестің негізгі екі атрибуты шығады: коммуникатор және коммуникатордағы нөмірі.
Егер топта п процесс болса, онда кезкелген процестің осы топтағы нөмірі 0-ден п-1-ге дейінгі аралықта жатады. Осы сияқты сызықты нөмірлеу, бағдарлама процестерінің логикалық ара-қатынасын әрқашан бірдей көрсете бермейді. Мысалы, процестер берілген есептің мағынасына байланысты тікбұрышты тордың тораптарында орналасуы және олар өздерінің тікелей көршілерімен ғана ара-қатынас жасауы мүмкін. Мұндай жағдайды, сәйкес процестердің виртуалды топологиясын суреттей отырып пайдаланушы өзінің бағдарламасында жеңіл көрсете алады.
12. Директивы OpenMp. Директивы shared, private и default
OpenMP директивалары. Parallel директивасы.
Parallel директивасы құрылымданған (структруированный) блок үшін параллель орта құрады. Параллель ортаны #pragma omp parallel опция[[[,] опция]...]структурированный блок арқылы беріледі.
Мүмкін опциялары:
Shared- барлық тізбек (нить) үшін айнымалылардың тізбегін шығарады.
Private- әр тізбекте локальді көшірмені жалғастыру үшін айнымалылардың тізбегін береді
default(shared|none- параллельдік аймақта барлық айнымалылар үшін нақты класс берілмесе, онда оларға Shared классы тағайындалады. None- дегеніміз параллельдік аймақта барлық айнымалылар үшін нақты класс тағайындалуы қажет.
13. Директивы OpenMp. Директивы firstprivate и lastprivate
Firstprivate - әр тізбекте локальді көшірмені жалғастыру үшін айнымалылардың тізбегін береді. Айнымалылардың локальді көшірмесі бұл айнымалылардың мәнімен тізбек-мастерде иницилизацияланады.
Lastprivate- тізімде аталған айнымалыларға соңғы циклдың нәтижесі меншіктеледі.
