[mpich-discuss] How to fix Invalid arguments during creation of MPI derived Datatypes
Rajeev Thakur
thakur at mcs.anl.gov
Tue Jan 24 11:22:33 CST 2012
How are you filling the blockcounts and offsets arrays? Have you declared offsets as MPI_Aint * ?
On Jan 24, 2012, at 4:29 AM, Gopal Rastogi wrote:
> I have one `structure xyz` as given below and i need
> to broadcast it among 20 nodes. so i used `MPI_Bcast()` function
> to do this. This function requires MPI datatype of corresponding
> structure xyz type as third arguments.
> `struct xyz
> {
> char a;
> int32_t b;
> char c[50];
> uint32_t d;
> uchar e[10];
> }`
>
> So i used `MPI_Type_creat_struct()` function to create a new MPI datatype
> as `MPI_Datatype MPI_my_new_datatype, oldtypes[4];`
> where i used MPI datatypes corresponding to above structure members datatype
> as followings
> `oldtypes[4] = {MPI_CHAR, MPI_INT, MPI_UNSIGNED, MPI_UNSIGNED_CHAR};`
>
> and to craete new datatype i used following arguments in the function..
> MPI_Type_create_struct(4, blockcounts, offsets, oldtypes, &MPI_my_new_datatype);
> MPI_Type_commit(&MPI_my_new_datatype);
> Now it is compiling but giving run time error as below::
>
> *** An error occurred in `MPI_Type_create_struct`on
> communicator `MPI_COMM_WORLD`
> `MPI_ERR_ARG`: invalid argument of some other kind
> `MPI_ERRORS_ARE_FATAL` (goodbye).
>
> Can any one find out where is the problem?
> _______________________________________________
> mpich-discuss mailing list mpich-discuss at mcs.anl.gov
> To manage subscription options or unsubscribe:
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
More information about the mpich-discuss
mailing list