Hi: I'm trying to pass an structure which is defined like this
#include <stdio.h> #include <string.h> #include "mpi.h" #define NELEM 6 struct{ int num_Rows; int num_Cols; int element[NELEM]; }send_pack; //num_Rows and num_Cols identify the matrix being passed in the array element. // Variable declaration int rank,size,tag=1,source=0,dest; MPI_Status status; int lena[2] ; // This is for the length of the elements holding MPI_Aint loca[2], extent; //localization MPI_Datatype typa[2]; MPI_Datatype MY_TYPE; //MPI_Type_extent(MPI_INT,&extent); typa[0]=MPI_INT; typa[1]=MPI_INT; lena[0]=1; lena[1]=NELEM; loca[0]=0; loca[1]= 2 * extent; The structure is being created like this MPI_Type_struct(1,lena,loca,typa,&MY_TYPE); MPI_Type_commit(&MY_TYPE); //creates the structure When sending ... MPI_Send(&send_pack,1,MY_TYPE,1,tag,MPI_COMM_WORLD); When Receiving MPI_Recv(&send_pack,1,MY_TYPE,0,tag,MPI_COMM_WORLD,&status); The program sends the message but it shows errors on the other side. My guess is that the parameters in the MPI_Send are not declare in the proper way. Can you guys help me understandig what I'm doing wrong. Thanks __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com