diff options
author | Dan Wells <dwells@cs.uiuc.edu> | 2001-04-24 21:20:05 (GMT) |
---|---|---|
committer | Dan Wells <dwells@cs.uiuc.edu> | 2001-04-24 21:20:05 (GMT) |
commit | b3961ff99f4bd16b4c755b83e7cb531cfe444ced (patch) | |
tree | f4c33ef3576f4823cd2bfc1158771e743c5dfb46 /pablo/HDFrecord_RT.h | |
parent | bce863bc3abde48c85f11d9f5bbb8b61e93dc2c3 (diff) | |
download | hdf5-b3961ff99f4bd16b4c755b83e7cb531cfe444ced.zip hdf5-b3961ff99f4bd16b4c755b83e7cb531cfe444ced.tar.gz hdf5-b3961ff99f4bd16b4c755b83e7cb531cfe444ced.tar.bz2 |
[svn-r3851]
Purpose:
Bug fix.
Description:
The Pablo instrumentation would not build because the HAVE_PABLO flag
was renamed H5_HAVE_PABLO. Also, there were problems with MPI I/O
tracing when the MPI did not follow the MPI I/O standards exactly.A
Solution:
Renamed all conditional compiliation flags so that they begin H5_ .
Added entries HDF_MPI_xxx for all MPI I/O functions HDF_MPI_xxx used in
HDF. These functions record data, call the corresponding function
MPI_xxx directly, then record exit data. Previously this was done in
the MPI I/O portion of the Trace Library, but caused link conflicts.
Platforms tested:
IRIX64/IRIX32/Linux/Solaris/VClass32/VClass64
Diffstat (limited to 'pablo/HDFrecord_RT.h')
-rw-r--r-- | pablo/HDFrecord_RT.h | 67 |
1 files changed, 53 insertions, 14 deletions
diff --git a/pablo/HDFrecord_RT.h b/pablo/HDFrecord_RT.h index 808eaef..3fb3f31 100644 --- a/pablo/HDFrecord_RT.h +++ b/pablo/HDFrecord_RT.h @@ -102,13 +102,52 @@ /*======================================================================* // Enumeration of time fields in an HDFrec_t below * //======================================================================*/ -enum TimeFields { HDF_, MPI, Malloc, AllIO, Open, Close, Read, Write, ARead, - AWrite, Seek, Wait, Misc, nTallyFields }; +enum TimeFields { HDF_, + MPI, + Malloc, + AllIO, + Open, + Close, + Read, + Write, + Aread, + Awrite, + Seek, + Wait, + Misc, + MPIOread, + MPIOreadAll, + MPIOwrite, + MPIOwriteAll, + MPIOiRead, + MPIOiWrite, + MPIOother, + nTallyFields, + MPIOreadTrans, + MPIOreadAllTrans, + MPIOwriteTrans, + MPIOwriteAllTrans + }; /*======================================================================* // Enumeration of byte fields in an HDFrec_t below * //======================================================================*/ -enum ByteFields{ MallocBytes, ReadBytes, WriteBytes, AReadBytes, AWriteBytes, - nByteFields }; +enum ByteFields{ MallocBytes, + ReadBytes, + WriteBytes, + AreadBytes, + AwriteBytes, + MPIOreadBytesReq, + MPIOreadBytesTrans, + MPIOwriteBytesReq, + MPIOwriteBytesTrans, + MPIOreadAllBytesReq, + MPIOreadAllBytesTrans, + MPIOwriteAllBytesReq, + MPIOwriteAllBytesTrans, + MPIOiReadBytesReq, + MPIOiWriteBytesReq, + nByteFields, + nHistFields = AwriteBytes+1 }; /*======================================================================* // Definition of first and last IO event. * //======================================================================*/ @@ -121,16 +160,16 @@ int BktLim[] = { 1, 4*ONEK, 64*ONEK, 256*ONEK, INT_MAX } ; // Definition of structure used to account activity in an HDF call * //======================================================================*/ typedef struct { - int nCalls; /* number of proc calls */ - CLOCK lastCall; /* time of last call */ - CLOCK incDur; /* inclusive duration */ - CLOCK excDur; /* exclusive duration */ - CLOCK times[nTallyFields]; /* Tally op/calls times */ - int counts[nTallyFields]; /* Tally op/calls counts */ - int bytes[nByteFields]; /* Tally bytes transferred */ - int Hists[nByteFields][nBkts]; /* Historgrams */ - long hdfID; /* data set ID */ - long xRef; /* data set cross reference */ + int nCalls; /* number of proc calls */ + CLOCK lastCall; /* time of last call */ + CLOCK incDur; /* inclusive duration */ + CLOCK excDur; /* exclusive duration */ + CLOCK times[nTallyFields]; /* Tally op/calls times */ + int counts[nTallyFields]; /* Tally op/calls counts */ + int bytes[nByteFields]; /* Tally bytes transferred */ + int Hists[nHistFields][nBkts]; /* Historgrams */ + long hdfID; /* data set ID */ + long xRef; /* data set cross reference */ } HDFrec_t; /*======================================================================* // Node used to maintain linked lists of HDF procedure activity. * |