Page 59 - 6601
P. 59

MPI функції забезпечують лише отримання нових логічних систем
                            адресації   процесів,   відповідних   формованим     віртуальним
                            топологіям. Виконання ж всіх передавань повинно здійснюватися,
                            як  і  раніше,  за  допомогою  звичайних  функцій  передачі  даних  з
                            використанням початкових номерів процесів.
                                   Над топологіями можна виконувати різні операції. Декартові
                            решітки  можна  розділяти  на  гіперплошщини,  виділяючи  деякі
                            виміри.  Дані  можна  зсувати  вздовж  вибраного  виміру  декартової
                            решітки. Зсувом називають пересилку даних між процесами уздовж
                            певного  виміру.  Уздовж  вибраного  виміру  можуть  бути
                            організовані колективні обміни.
                                   8.1.2  Декартові топології
                                   Для  того  щоб  створити  структуру  декартової  решітки  з
                            комунікатором  MPI_COMM_WORLD,  необхідно  задати  наступні
                            параметри:
                                         розмірність  решітки  (значення  2  відповідає  плоскій
                                          двовимірній решітці);
                                         розмір решітки уздовж кожного виміру (розміри {10,
                                          15},  наприклад,  відповідають  плосій  прямокутній
                                          решітці,  протяжність  якої  уздовж  осі  x  складає  10
                                          вузлів-процесів, а уздовж осі у - 15 вузлів);
                                         періодичність уздовж кожного виміру (решітка може
                                          бути періодичною, якщо процеси, що знаходяться на
                                          протилежних  кінцях  ряду  і  мають  прямий  зв’язок
                                          між собою).
                                   MPI  дає  можливість  системі  оптимізувати  відображення
                            віртуальної  топології  процесів  на  фізичну  за  допомогою  зміни
                            порядку нумерації процесів в групі.
                                   Функція  MPI_Cart_create  створює  новий  комунікатор,  який
                            представляє топологііію решітки. Це є колективною функція, вона
                            повинна викликатись з усіх процесів комунікатора. Формат вункції:
                                   int  MPI_Cart_create(MPI_Comm  oldcomm,  int  ndims,  int
                            *dims, int *periods,   int reorder, MPI_Comm *cartcomm),
                                   де - oldcomm - початковий комунікатор
                                    - ndims  - розмірність декартової решітки
                                    - dims    - масив довжини ndims, задає кількість процесів в
                            кожному вимірі решітки


                                                           57
   54   55   56   57   58   59   60   61   62   63   64