diff options
author | Dan Wells <dwells@cs.uiuc.edu> | 2001-03-13 18:28:03 (GMT) |
---|---|---|
committer | Dan Wells <dwells@cs.uiuc.edu> | 2001-03-13 18:28:03 (GMT) |
commit | a5d53d6dacb5809ebb320ceae9b0e516aa8952a3 (patch) | |
tree | 9651c64155409d012f0851689e89e3fd21c534ad /pablo/HDFrecord_RT.h | |
parent | 6c915a1fa6297bc7cbc08af7baa17274f1a9e492 (diff) | |
download | hdf5-a5d53d6dacb5809ebb320ceae9b0e516aa8952a3.zip hdf5-a5d53d6dacb5809ebb320ceae9b0e516aa8952a3.tar.gz hdf5-a5d53d6dacb5809ebb320ceae9b0e516aa8952a3.tar.bz2 |
[svn-r3619]
Purpose:
These changes allow the user to determine bytes requested and bytes
received by MPI I/O calls.
Description:
User wished to know if the number of bytes requested in MPI I/O calls was
save as the number actually received.
Solution:
Added additional fields to the HDFrecord structure for bytes requested and
bytes received. Other files reflect these changes.
Platforms tested:
Solaris
IRIX64 parallel
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. * |