00001
00002
00003
00004
00005
00006
00007 #include "mpioimpl.h"
00008
00009 #ifdef HAVE_WEAK_SYMBOLS
00010
00011 #if defined(HAVE_PRAGMA_WEAK)
00012 #pragma weak MPI_File_read_at = PMPI_File_read_at
00013 #elif defined(HAVE_PRAGMA_HP_SEC_DEF)
00014 #pragma _HP_SECONDARY_DEF PMPI_File_read_at MPI_File_read_at
00015 #elif defined(HAVE_PRAGMA_CRI_DUP)
00016 #pragma _CRI duplicate MPI_File_read_at as PMPI_File_read_at
00017
00018 #endif
00019
00020
00021 #define MPIO_BUILD_PROFILING
00022 #include "mpioprof.h"
00023 #endif
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 int MPI_File_read_at(MPI_File mpi_fh, MPI_Offset offset, void *buf,
00043 int count, MPI_Datatype datatype, MPI_Status *status)
00044 {
00045 int error_code;
00046 static char myname[] = "MPI_FILE_READ_AT";
00047 #ifdef MPI_hpux
00048 int fl_xmpi;
00049
00050 HPMP_IO_START(fl_xmpi, BLKMPIFILEREADAT, TRDTBLOCK, mpi_fh, datatype,
00051 count);
00052 #endif
00053
00054
00055 error_code = MPIOI_File_read(mpi_fh, offset, ADIO_EXPLICIT_OFFSET, buf,
00056 count, datatype, myname, status);
00057
00058 #ifdef MPI_hpux
00059 HPMP_IO_END(fl_xmpi, mpi_fh, datatype, count);
00060 #endif
00061
00062 return error_code;
00063 }