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

Зертханалық жұмыс №12-13. Параллель есептеулердің алгоритмдері. Сұрыптау. Сұрыптаудың түрлері. С алгоритмдік тілінде mpi қолдана отырып параллельді программаларды өңдеу

Мақсаты: Параллельді сұрыпталған алгоритмдердің жүзеге асырылуын орындау.

Есептердің нұсқасы

Сіздің нұсқаңыздағы он алты бүтін сандық параллельді алгоритмдері үшін көбіктік сұрыптаудың жүзеге асырылуын орындаңыз. Тәжірибе жүргізіңіз. Есептеу жүйелерінің параметрлері мен жүзеге асырылуын қолдана отырып мәліметтердің жіберілу амалын ескере отырып теориялық бағасын құрыңыз Алынған теориялық бағаны тәжірибенің нәтижесімен салыстырыңыз.

  1. 16,14, 3, 1, 5, 9, 10, 13, 7, 12, 2, 11, 4, 15, 6, 8

  2. 14, 5, 11, 10, 1, 15, 8, 3, 12, 16, 9, 2, 6, 13, 7, 4

  3. 3, 14, 9, 11, 7, 16, 2, 12, 15, 6, 1, 10, 5, 13, 4, 8

  4. 6, 12, 16, 1, 10, 3, 11, 5, 15, 8, 2, 14, 9, 13, 4, 7

  5. 13, 6, 10, 2. 9, 16, 8, 11, 1, 12, 3, 4, 14, 7, 15, 5

Жылдам сұрыптау параллель алгоритмін сіздің нұсқаңыздың он алты санынан тұратын жиыны үшін жүзеге асырыңыз. Латенттілік, өткізу қабілеті және пайдаланылатын есептеуіш жүйе үшін басты операцияны орындаудың уақыты параметрлерінің мәнін анықтау және жүзеге асырылған параллельді есептеулер әдісінің шапшаңдылық және тиімділік көрсеткіштерінің бағасын алыңыз.

6. 6, 12, 16, 1, 10, 3, 11, 5, 15, 8, 2, 14, 9, 13, 4, 7

7. 14, 5, 11, 10, 1, 15, 8, 3, 12, 16, 9, 2, 6, 13, 7, 4

8. 13, 6, 10, 2. 9, 16, 8, 11, 1, 12, 3, 4, 14, 7, 15, 5

9. 16,14, 3, 1, 5, 9, 10, 13, 7, 12, 2, 11, 4, 15, 6, 8

10. 3, 14, 9, 11, 7, 16, 2, 12, 15, 6, 1, 10, 5, 13, 4, 8

Сұрыптау алгоритмі бойынша параллельді сұлбаны бірігумен өңдеу. Өңделген алгоритмнің сіздің нұсқаңыздың он алты санынан тұратын жиын үшін жүзеге асыруды орындаңыз және әдіс қиындығының барлық қажетті теориялық бағаларын құрыңыз.

11. 14, 5, 11, 10, 1, 15, 8, 3, 12, 16, 9, 2, 6, 13, 7, 4

12. 13, 6, 10, 2. 9, 16, 8, 11, 1, 12, 3, 4, 14, 7, 15, 5

13. 3, 14, 9, 11, 7, 16, 2, 12, 15, 6, 1, 10, 5, 13, 4, 8

14. 6, 12, 16, 1, 10, 3, 11, 5, 15, 8, 2, 14, 9, 13, 4, 7

15. 16,14, 3, 1, 5, 9, 10, 13, 7, 12, 2, 11, 4, 15, 6, 8

Зертханалық жұмыс №14. Нақты сандардың тізбегін сұрыптау параллель алгоритмінің моделі

Мақсаты: параллель алгоритмінің моделдерімен жұмыс істеуді үйрену

Сұрыптаудың (пузырьек) әдісімен және тақ – жұп қайта орнатылуын қарастырайық.

сандары берілсін. Біз берілген сандардың тізімін сұрыптауымыз керек.Ъ

Тізбектелген хат келесі түрді қамтиды:

Амалдар саны мен оны ауыстыру мынаған тең:

Көбіктену әдісімен сұрыптау кодын параллельдеу үшін біз келесі “салыстыру және айырбастау” әдісін қолодана аламыз.

Салыстыру – және – айырбастау

Ішкі циклдың келесі итерациясының пузырька әдісі алдыңғы итерациядан ерте басталып, ерте аяқталуы мүмкін келесі пузырька әдісі басталғанға дейін.

Берілген тұжырым пузырек әдісімен сұрыптаудың тақ – жұптық қайта орнатылымының әртүрлілігіне әкеледі.

Алгоритм тақ және тақ емес деп аталатын келесі екі стадиядан тұрады.

процестер номері берілсін, оның әрқайсысы сәйкес келетін амалын қамтиды.

Тақ болатын стадияларда біз: т.б салыстырып – айырбастаймыз.

Тақ болмайтын стадияларда біз т.б салыстырып – айырбастаймыз.

Есептеу сызбасы мына суретте көрсетілген.

Осындай тәсілмен, екі жағдайда да тақ емес процестер бірінші send() подпрограмманы орындайды, ал жұп номерленген процестер бірінші recv() подпрограммасын орындайды.

Берілген сұрыптаудың параллельді кодын жазамыз.

(тақ емес) (тақ)

Тапсырма: Сұрыптаудың тізбектелген және параллельді алгоритмдерін кері қайтару және жүзеге асыру.