- •«Параллель есептеулер» пәні бойынша 050602-Информатика мамандығының студенттері үшін лекциялар жинағы
- •Шымкент- 2009
- •1. Паралель программалау дамуының хронологиясы
- •Параллелизм. Программалау модельдері: параллель және тізбекті. Деректер параллелизмі мен есептер параллелизмі. Программалаудың негізгі параллель модельдері.
- •2 Параллелизм
- •2.1. Деректер параллелизмі мен есептер параллелизмі
- •Программалау модельдері: параллель және тізбекті
- •Программалаудың негізгі параллель модельдері
- •Параллель компьютерлер. Жылдам әрекеттесуші аппараттық жасау.
- •3.1. Параллель компьютерлердің типтері
- •3.1.1. Жалпы қатынау жадылы көппроцессорлы жүйелерге (бөлінетін жадылы)
- •3.1.2. Хабар беру мультикомпьтері және үлестірілген жадылы мультикомпьютерлер
- •Параллель компьютерлер типтері. Флинн таксономиясы. Жаңа таксономия құру спецификациясы.
- •4.1. Флинн таксономиясы
- •6.Процесстер және синхрондау
- •7.1 “Өндіруші –пайдаланушы” типті синхрондау
- •Параллель алгоритмдер. Параллель алгоритмдерді өңдеу: декомпозиция (сегменттеу), коммуникацияларды жобалау, үлкейту. Есептеулерді жобалау. Параллель сұрыптау алгоритмдері.
- •8.1. Ранг әдісімен сұрыптау
- •8.2. Салыстыру-және-ауыстыру
- •8.2.1 Деректерді бөлу
- •Сандық өрістерді параллельдеу: тік және итерациялық сызықтық теңдеулер жүйесінің шешу әдістері.
- •9.1 Сандық әдістерді параллельдеу
- •9,1.1. Матрицаларды көбейту
- •9.1.2. Сызықтық алгебралық теңдеулер жүйесін шешу
- •Параллель программалау. Ағындар мен деректерді өңдеу.
- •10. Параллель программалау
- •10.4.Occam- параллель программалау тілі
- •Жылдам әрекеттесуші фортран(hpf)
- •Pvm, mpi, OpenMp көмегімен таратылған деректерге құру және кіріс.
- •13. Қолданбалы есептерді шешуде параллель алгоритмдерді қолдану
- •Кескіндерді өңдеу типтері: кескінді өңдеудің төменгі, орташа және жоғарғы деңгейі.
- •15 Лекция. Фурье түрлендіруі және Фурье алгоритмдері
- •3. Фурье қатары
8.2.1 Деректерді бөлу
p процессор және n саны делік. n/p сандардың тізімі әрбір процессорге бекітілген (Wikinson, B. And Allen, M., 199). Схема 1 және схема 2 сандарды әдісімен сұрыптау үшін
88
50
28
25
98
88
80
50
43
42
28
25
88
50
28
25
Слияние
Хранит большие числа
43
42
28
25
98
80
43
42
Хранит меньшие числа
қ
олданамыз:
20-сурет. Екі ішкі тізімді біріктіру. Схема 1.
Исходная числа
Слияние
Хранит большие числа (конечны
е числа)
98
80
43
42
98
80
43
42
98
88
80
50
----
43
42
28
25
98
88
80
50
43
42
28
25
88
50
28
55
88
50
28
25
Исходная числа
Хранит большие числа (конечные числа)
21-сурет. Екі ішкі схеманы біріктіру. Схемасы 2.
Сонымен, екі ішкі тізімді жалпы әдісі төмендегідей:
Әрбір процедурада сұрыпталған тізімді сақтау керек және енгізу тізімі бар сақталған тізімі.
8.2.2. Жылдам сұрыптау Гиперкубтағы жылдам сұрыптау
Біз саннан тұратын тізім бар деп есептейміз, ол алғашында d өлшемді гиперкуб торабының біреуіне орналастырылған. әрбір тораптың сәйкес номері бар. P0
4 |
2 |
7 |
8 |
5 |
1 |
3 |
6 |
P0
P4
3 |
2 |
7 |
4 |
|
|
|
|
|
|
|
|
|||
|
|
|||
5 |
7 |
8 |
6 |
8 |
6 |
5 |
7
P0
P2
P4
P6
8 |
7 |
|
P0
P1
P6
P8
|
|
|
|
|
|
6
|
|
|
|
|
|
|
Pivot
22-сурет. Жылдам сұрыптау.
Жоғарыда сипатталған жылдам сұрыптау алгоритмінің процесі келесі схемада сәйкес көрсетіледі:
1
-қадам:
000 001 (числа, большие чем pivot,
идут
на Р1)
2 -қадам: 000 010 (числа, большие чем pivot, идут на Р2)
001 011 (числа, большие чем pivot, идут на Р3)
3 -қадам: 000 100 (числа, большие чем pivot, идут на Р4)
001 101 (числа, большие чем pivot, идут на Р5)
010 110 (числа, большие чем pivot, идут на Р6)
011 111 (числа, большие чем pivot, идут на Р7)
Соңында осы бөліктер тізбекті алгоритмді қолдана отырып сұрыпталуы мүмкін, ал бәрі бірге параллель.
9-лекция.
