A common misunderstanding with this subroutine is that offset must be an 
INTEGER(KIND=MPI_OFFSET_KIND).  OMPI 1.6's F90 interface (and earlier versions) 
won't work with derived datatypes as the buffer, either.  OMPI 1.7 has a 
wholly-reimplemented "mpi" module that allows derived datatypes as the buffer 
when used with non-gfortran compilers (e.g., fort).  It also has the the 
"mpi_f08" MPI-3 module, which offers many nice things beyond the "mpi" module.

Here's pseudocode for the prototype of the MPI_FILE_READ_AT subroutine:

-----
subroutine MPI_FILE_READ_AT(fh, offset, buf, count, datatype, &
        status, ierr)
  include 'mpif-config.h'
  integer, intent(in) :: fh
  integer(kind=MPI_OFFSET_KIND), intent(in) :: offset
  <type>, intent(out) :: buf
  integer, intent(in) :: count
  integer, intent(in) :: datatype
  integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
  integer, intent(out) :: ierr
end subroutine MPI_FILE_READ_AT
-----

If your offset parameter is a regular INTEGER, then the compiler fails with a 
non-helpful error.  Meaning: the error message is *correct*, but not 
exceedingly helpful.  :-)  It's basically trying to tell you "I couldn't find a 
version of MPI_FILE_READ_AT that matches the parameters you passed."



On Aug 6, 2012, at 4:09 PM, Paul Romano wrote:

> When I try to use parallel I/O routines like MPI_File_write_at or 
> MPI_File_read_at with the buffer argument being a derived datatype, I am 
> unable to compile and just get an error of the nature:
> 
>     MPI_FILE_READ_AT(fh, offset, buffer, count, datatype, status, ierr)
>                                                                               
>  1                      
>     Error: There is no specific subroutine for the generic 'mpi_file_read_at' 
> at (1)
> 
> I'm using Open MPI 1.6 compiled with --with-mpi-f90-size=medium. I've also 
> tried both gfortran and ifort, and both give the same compilation error. Has 
> anyone else seen this behavior?
> 
> Best regards,
> Paul
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to