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