次の方法で共有


MPI_Type_create_subarray関数

n 次元配列の n 次元サブ配列で構成される新しいデータ型を定義します。 サブ配列は、完全な配列内の任意の場所に配置できます。 配列内に完全に含まれている限り、0 以外のサイズを指定できます。

構文

int MPIAPI MPI_Type_create_subarray(
        int                   ndims,
        _In_count_(ndims) int array_of_sizes[],
        _In_count_(ndims) int array_of_subsizes[],
        _In_count_(ndims) int array_of_starts[],
        int                   order,
        MPI_Datatype          oldtype,
  _Out_ MPI_Datatype          *newtype
);

パラメーター

ndims

配列ディメンションの数と、 array_of_sizes、array_of_subsizesarray_of_starts パラメーター内 の要素の 数。

array_of_sizes

配列全体の各次元内の要素の数。

array_of_subsizes

サブ配列の各ディメンション内の要素の数。

array_of_starts

各ディメンションのサブ配列の開始インデックス。

order

ディメンションの順序。

MPI_ORDER_C

特定の行のすべての要素が連続して格納される行メジャーの順序。

MPI_ORDER_FORTRAN

特定の列のすべての要素が連続して格納される列の主な順序。

Note

C プログラムと Fortran プログラムはどちらもどちらの順序でも使用できます。 定義された値には、一般的な使用法が反映されます。

 

oldtype

各要素のデータ型を指定します。

newtype [out]

戻り値には、新しいデータ型を表す MPI_Datatype ハンドルが含まれます。

戻り値

成功 したMPI_SUCCESS を返します。 それ以外の場合、戻り値はエラー コードです。

Fortran では、戻り値は IERROR パラメーターに格納されます。

Fortran

    MPI_TYPE_CREATE_SUBARRAY(NDIMS, ARRAY_OF_SIZES, ARRAY_OF_SUBSIZES, ARRAY_OF_STARTS, ORDER, OLDTYPE, NEWTYPE, IERROR)
        NDIMS, ARRAY_OF_SIZES, ARRAY_OF_SUBSIZES, ARRAY_OF_STARTS, ORDER, OLDTYPE, NEWTYPE, IERROR

注釈

サブ配列のサイズが配列のサイズを超えた場合、関数はエラーを返します。 ディメンション i ごとに、 array_of_subsizes[i] パラメーターの値は 1 以上で、 array_of_sizes[i] パラメーター以下である必要があります。

サブ配列が配列の境界外で開始または終了した場合、関数はエラーを返します。 ディメンション i の場合、パラメーターの値は 0 で、 array_of_starts[i] パラメーターと array_of_subsizes[i] パラメーターの合計は 、array_of_sizes[i] パラメーターの値以下である必要があります。 たとえば、サブ配列のサイズが配列と同じ場合、サブ配列はインデックス 0 から始まる必要があります。 配列は、0 から始まるインデックスが作成されると見なされます。

要件

製品

HPC Pack 2012 MS-MPI 再頒布可能パッケージ、HPC Pack 2008 R2 MS-MPI 再頒布可能パッケージ、HPC Pack 2008 MS-MPI 再頒布可能パッケージまたは HPC Pack 2008 クライアント ユーティリティ

ヘッダー

Mpi.h;Mpif.h

ライブラリ

Msmpi.lib

[DLL]

Msmpi.dll

こちらもご覧ください

MPI データ型関数