次の方法で共有


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