[MPICH] ROMIO error

Rajeev Thakur thakur at mcs.anl.gov
Fri May 4 16:27:40 CDT 2007


Yong,
     ROMIO is missing support for the MPI-2 function
MPI_Type_create_resized. Until we fix it, you can use MPI_type_struct with
an explicit MPI_LB and MPI_UB.

Rajeev
 

> -----Original Message-----
> From: owner-mpich-discuss at mcs.anl.gov 
> [mailto:owner-mpich-discuss at mcs.anl.gov] On Behalf Of Yong Chen
> Sent: Friday, May 04, 2007 3:24 PM
> To: mpich-discuss at mcs.anl.gov
> Subject: [MPICH] ROMIO error
> 
> Hi,
> 
> I kept getting the following error when I run the sample 
> MPI_File_set_view() code,
> 
> Error: Unsupported datatype passed to ADIOI_Count_contiguous_blocks
> [cli_0]: aborting job:
> application called MPI_Abort(MPI_COMM_WORLD, 1) - process 0
> rank 0 in job 125  x86_32838   caused collective abort of all ranks
>   exit status of rank 0: killed by signal 9
> 
> I did a debugging with gdb, the filetype caused the problem and 
> MPI_File_set_view() threw the error. Indeed, if filetype is replaced 
> with MPI_INT, it works well. Did a search on google, still 
> cannot figure 
> out why. Can anyone give me a clue? thanks very much! The 
> following is 
> the sample code.
> 
> #include "mpi.h"
> int main( int argc, char *argv[] )
> {
>     MPI_Aint     lb, extent;
>     MPI_Datatype etype, filetype, contig;
>     MPI_Offset   disp;
>     MPI_File     fh;
>     int buf[1000];
> 
>     MPI_Init( &argc, &argv );
>     /* ... other application code ... */
>     MPI_File_open(MPI_COMM_WORLD, "datafile",
>                   MPI_MODE_CREATE | MPI_MODE_RDWR, 
> MPI_INFO_NULL, &fh);
> 
>     MPI_Type_contiguous(2, MPI_INT, &contig);
>     lb     = 0;
>     extent = 6 * sizeof(int);
>     MPI_Type_create_resized(contig, lb, extent, &filetype);
>     MPI_Type_commit(&filetype);
> 
>     disp  = 5 * sizeof(int);    /* assume displacement in 
> this file view
>                                    is of size equal to 5 integers */
>     etype = MPI_INT;
> /*    filetype = MPI_INT; */
>     MPI_File_set_view(fh, disp, etype, filetype, "native",
>                       MPI_INFO_NULL);
>     MPI_File_write(fh, buf, 1000, MPI_INT, MPI_STATUS_IGNORE);
>     /* ... */
>     MPI_Finalize();
>     return 0;
> }
> 
> 
> Thanks,
> Yong
> 
> 
> 




More information about the mpich-discuss mailing list