MPI_Type_create_hindexed_block 函数

允许将旧数据类型复制到块序列中, (每个块都是旧数据类型) 的串联,其中所有块具有相同的块长度,但可以具有不同的块位移(以字节为单位)。

语法

int MPIAPI MPI_Type_create_hindexed_block(
  _In_  int          count,
  _In_  int          blocklength,
  _In_  MPI_Aint     array_of_displacements[],
  _In_  MPI_Datatype oldtype,
  _Out_ MPI_Datatype *newtype
);

参数

  • count [in]
    array_of_displacements 参数中的块数和条目数。

  • blocklength [in]
    每个块中的元素数。

  • array_of_displacements [in]
    包含每个块的位移的数组(以字节为单位)。

  • oldtype [in]
    表示每个元素的数据类型 的MPI_Datatype 句柄。

  • newtype [out]
    返回时,包含表示包含元素块计数副本的数据类型的MPI_Datatype句柄。 每个块都有 blocklength 元素。 每个块的位移在 array_of_displacements 中指定。

返回值

返回成功 时MPI_SUCCESS 。 否则,返回值为错误代码。

在 Fortran 中,返回值存储在 IERROR 参数中。

Fortran

    MPI_TYPE_CREATE_HINDEXED_BLOCK(COUNT, BLOCKLENGTH, ARRAY_OF_DISPLACEMENTS, OLDTYPE, NEWTYPE, IERROR)
        INTEGER COUNT, BLOCKLENGTH, OLDTYPE, NEWTYPE, IERROR
    INTEGER(KIND=MPI_ADDRESS_KIND) ARRAY_OF_DISPLACEMENTS(*)

注解

此函数类似于 MPI_Type_create_indexed_block 函数,只是位移数组包含每个块的位移(以字节为单位)。

要求

产品

Microsoft MPI v6

标头

Mpi.h;Mpif.h

Msmpi.lib

DLL

Msmpi.dll

另请参阅

MPI 数据类型函数

MPI_Type_create_indexed_block