Теория и практика параллельных вычислений

         

Непрерывный способ конструирования


При непрерывном способе конструирования производного типа данных в MPI используется функция:

int MPI_Type_contiguous(int count, MPI_Data_type oldtype, MPI_Datatype *newtype),

где

  • count — количество элементов исходного типа;
  • oldtype — исходный тип данных;
  • newtype — новый определяемый тип данных.

Как следует из описания, новый тип newtype создается как count элементов исходного типа oldtype. Например, если исходный тип данных имеет карту типа

{(MPI_INT, 0), (MPI_DOUBLE, 8)},

то вызов функции MPI_Type_contiguous с параметрами

MPI_Type_contiguous(2, oldtype, &newtype);

приведет к созданию типа данных с картой типа

{(MPI_INT, 0), (MPI_DOUBLE, 8), (MPI_INT, 16), (MPI_DOUBLE, 24)}.

В определенном плане наличие непрерывного способа конструирования является избыточным, поскольку использование аргумента count в процедурах MPI равносильно использованию непрерывного типа данных такого же размера.



Содержание раздела