1

以下のコードを使用して、サイズ8の配列を定義し、CでMPI_INTEGERと入力しました。

/*=================================================================
C example 
=================================================================*/
#include <stdio.h>
#include "mpi.h"

int main(int argc, char** argv){    
    MPI_FLOAT itype[8];     
    int nproc;
    int iproc;
    MPI_Comm icomm;
    MPI_Request req;
    MPI_Status status;
    MPI_Init(&argc,&argv);

    icomm = MPI_COMM_WORLD;
    MPI_Comm_rank(icomm,&iproc);
    MPI_Comm_size(icomm,&nproc);

  itype[0]  = MPI_FLOAT;
  itype[1]  = MPI_FLOAT;
  itype[2]  = MPI_FLOAT;
  itype[3]  = MPI_FLOAT;
  itype[4]  = MPI_FLOAT;
  itype[5]  = MPI_FLOAT;
  itype[6]  = MPI_FLOAT;
  itype[7]  = MPI_UB;

    MPI_Finalize();

}

そして、私は次のエラーを受け取りました:

type_derived_struct.c(18): error: expected a ";"
        MPI_FLOAT itype[8];     
                  ^

type_derived_struct.c(93): error: identifier "itype" is undefined
    itype[0]  = MPI_FLOAT;

私はIntelopenmpiを使用しています。ありがとうございました!

4

1 に答える 1

3

あなたが欲しい

MPI_Datatype itype[8];     

MPI_DatatypeMPI_FLOAT(およびMPI_INTなど)のタイプです

于 2013-01-16T17:22:33.803 に答える