Page 224 - 6571
P. 224

опису підмасивів багатовимірних масивів за допомогою функції
                  (ця функція передбачається стандартом MPI-2):

                        int MPI_Type_create_subarray(int ndims, int *sizes,
                              int *subsizes,int *starts, int order,
                              MPI_Data_type oldtype, MPI_Datatype *newtype)

                  де   ndims – розмірність масиву;
                        sizes – кількість елементів в кожній розмірності початково-
                  го масиву;

                        subsizes – кількість елементів в кожній розмірності підма-
                  сиву, що визначається;

                        starts – індекси початкових елементів в кожній розмірності
                  підмасиву, що визначається;
                        order  –  параметр  для  вказування  необхідності  переупоряд-
                  кування;

                        oldtype – тип елементів початкового масиву;
                        newtype – новий тип даних для опису підмасиву.

                        3. Індексний спосіб конструювання. При індексному способі
                  конструювання  похідного  типу  даних  в  MPI  використовуються
                  функції:

                        int MPI_Type_indexed(int count, int blocklens[],
                              int indices[], MPI_Data_type oldtype,
                              MPI_Datatype *newtype)

                  та

                        int MPI_Type_hindexed(int count, int blocklens[],
                              MPI_Aint indices[],MPI_Data_type oldtype,
                              MPI_Datatype *newtype)

                  де   count – кількість блоків;
                        blocklens – кількість елементів в кожному блоці;

                        indices – зміщення кожного блоку від початку типу;
                        oldtype – початковий тип даних;

                        newtype – новий тип даних, що визначається.
                        Як випливає з опису, при індексному способі новий похідний
                  тип створюється як набір блоків різного розміру з елементів по-
                  чаткового типу, при цьому між блоками можуть бути різні про-

                  міжки  по  пам’яті.  Для  пояснення  цього  способу  можна  навести
                  приклад конструювання типу для опису верхньої трикутної мат-

                  риці розміром NxN:

                                                             223
   219   220   221   222   223   224   225   226   227   228   229