Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OpenMP.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
100 Кб
Скачать
☆

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- тізімде аталған айнымалыларға соңғы циклдың нәтижесі меншіктеледі.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]