summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Wells <dwells@cs.uiuc.edu>1999-04-14 21:20:11 (GMT)
committerDan Wells <dwells@cs.uiuc.edu>1999-04-14 21:20:11 (GMT)
commit9ec85308236b2547cf5a6b9cff223e042fb5ab36 (patch)
treece491353012b77cbd042ad73433b33c65132da52
parent92cc3fe39fcf1862cb87a3e417167124730ee27e (diff)
downloadhdf5-9ec85308236b2547cf5a6b9cff223e042fb5ab36.zip
hdf5-9ec85308236b2547cf5a6b9cff223e042fb5ab36.tar.gz
hdf5-9ec85308236b2547cf5a6b9cff223e042fb5ab36.tar.bz2
[svn-r1181] Changes to allow automatic building of tables for event IDs and for compatiblity of HDF 4 and HDF 5 trace files.
-rw-r--r--pablo/PabloHDF5.c1807
-rw-r--r--pablo/PabloHDF_RT.c122
-rw-r--r--pablo/PabloHDF_SDDF.c2
-rw-r--r--pablo/PabloSedscr15
-rw-r--r--pablo/ProcIDs.h99
-rw-r--r--pablo/ProcTrace.h104
-rw-r--r--pablo/ProcTrace.inc1680
7 files changed, 1796 insertions, 2033 deletions
diff --git a/pablo/PabloHDF5.c b/pablo/PabloHDF5.c
deleted file mode 100644
index c239357b..0000000
--- a/pablo/PabloHDF5.c
+++ /dev/null
@@ -1,1807 +0,0 @@
-/* This file is part of the Pablo Performance Analysis Environment
-//
-// (R)
-// The Pablo Performance Analysis Environment software is NOT in
-// the public domain. However, it is freely available without fee for
-// education, research, and non-profit purposes. By obtaining copies
-// of this and other files that comprise the Pablo Performance Analysis
-// Environment, you, the Licensee, agree to abide by the following
-// conditions and understandings with respect to the copyrighted software:
-//
-// 1. The software is copyrighted in the name of the Board of Trustees
-// of the University of Illinois (UI), and ownership of the software
-// remains with the UI.
-//
-// 2. Permission to use, copy, and modify this software and its documentation
-// for education, research, and non-profit purposes is hereby granted
-// to Licensee, provided that the copyright notice, the original author's
-// names and unit identification, and this permission notice appear on
-// all such copies, and that no charge be made for such copies. Any
-// entity desiring permission to incorporate this software into commercial
-// products should contact:
-//
-// Professor Daniel A. Reed reed@cs.uiuc.edu
-// University of Illinois
-// Department of Computer Science
-// 2413 Digital Computer Laboratory
-// 1304 West Springfield Avenue
-// Urbana, Illinois 61801
-// USA
-//
-// 3. Licensee may not use the name, logo, or any other symbol of the UI
-// nor the names of any of its employees nor any adaptation thereof in
-// advertizing or publicity pertaining to the software without specific
-// prior written approval of the UI.
-//
-// 4. THE UI MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE
-// SOFTWARE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS
-// OR IMPLIED WARRANTY.
-//
-// 5. The UI shall not be liable for any damages suffered by Licensee from
-// the use of this software.
-//
-// 6. The software was developed under agreements between the UI and the
-// Federal Government which entitle the Government to certain rights.
-//
-// *************************************************************************
-//
-// Developed by: The Pablo Research Group
-// University of Illinois at Urbana-Champaign
-// Department of Computer Science
-// 1304 W. Springfield Avenue
-// Urbana, IL 61801
-//
-// http://www-pablo.cs.uiuc.edu
-//
-// Send comments to: pablo-feedback@guitar.cs.uiuc.edu
-//
-// Copyright (c) 1987-1998
-// The University of Illinois Board of Trustees.
-// All Rights Reserved.
-//
-// PABLO is a registered trademark of
-// The Board of Trustees of the University of Illinois
-// registered in the U.S. Patent and Trademark Office.
-//
-// Project Manager and Principal Investigator:
-// Daniel A. Reed (reed@cs.uiuc.edu)
-//
-// Funded in part by the Defense Advanced Research Projects Agency under
-// DARPA contracts DABT63-94-C0049 (SIO Initiative), F30602-96-C-0161,
-// and DABT63-96-C-0027 by the National Science Foundation under the PACI
-// program and grants NSF CDA 94-01124 and ASC 97-20202, and by the
-// Department of Energy under contracts DOE B-341494, W-7405-ENG-48, and
-// 1-B-333164.
-//========================================================================*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <stdarg.h>
-#ifndef fileno
-int fileno ( FILE * );
-#endif
-/* on ipsc/860 don't include this or you'll get multiply defined SEEK_* */
-#ifndef __NX
-#include <unistd.h>
-#endif
-
-
-#define HDFtrace3OPEN__
-int HDFtrace3OPEN( const char *, int, mode_t );
-
-#include "SDDFparam.h"
-#include "TraceParam.h"
-
-#include "SystemDepend.h"
-#include "Trace.h"
-
-#include "IO_TraceParams.h"
-#include "HDFIOTrace.h"
-
-#ifndef TRUE
-#define TRUE 1
-#endif
-
-#ifndef FALSE
-#define FALSE 0
-#endif
-
-/* mode_t is not defined on the ipsc/860 so we define it here */
-#ifdef __NX
-typedef unsigned int mode_t;
-#endif
-
-int OUTPUT_SWITCH = 1;
-int *procTrace;
-extern void preInitIOTrace( void );
-
-#include "ProcTrace.h"
-#include "HDF5Trace.h"
-#include "IOTrace.h"
-
-#define ID_HDFprocName 9996
-#define ID_malloc 9997
-#define ID_free 9998
-#define ID_timeStamp 9999
-#define DUMMY_HDF 10000
-
-#ifdef HAVE_PARALLEL
-#include "mpio.h"
-#include "MPIO_TraceParams.h"
-#endif /* HAVE_PARALLEL*/
-
-#ifdef HAVE_MPIOTRACE
-#include "MPIO_Init.h"
-#include "MPIO_EventArgs.h"
-#include "HDFmpioProtos.h"
-#endif /* HAVE_MPIOTRACE */
-
-void HDFinitTrace_RT ( const char *, int );
-void HDFinitTrace_SDDF ( const char *, int );
-void h5inittracex_ ( int [], int *, int[], int *,unsigned * );
-void hdf5endtrace_ ( void ) ;
-void HDFendTrace_RT (int);
-void HDFendTrace_SDDF(int);
-void HDFfinalTimeStamp( void );
-void startHDFtraceEvent (int );
-int computeProcMask (int eventID);
-int computePacketTag(int eventID);
-void endHDFtraceEvent (int , int , char *, int );
-void traceEvent ( int , char *, unsigned );
-void HDFtraceEvent_RT ( int , HDFsetInfo *, unsigned );
-void HDFtraceIOEvent( int , void *, unsigned );
-extern int IOtracingEnabled;
-char *hdfRecordPointer;
-double WriteTotals = 0.0;
-double ReadTotals = 0.0;
-/*======================================================================*
-// NAME *
-// HDF5initTrace -- initialize HDF tracing *
-// USAGE *
-// VOID HDFinitTrace( traceFileName, out_sw ) *
-// char *traceFileName; IN: name of the generated trace output *
-// file *
-// int ... IN: indicates which routines to trace *
-// The list is terminated by the *
-// OUTPUT_SWITCH value indicating *
-// whether to do RunTime or Summary *
-// tracing. *
-// RETURNS *
-// None. *
-//======================================================================*/
-/*======================================================================*
-// fortran to C interface. To insure portability, the character array *
-// passed in Fortran is converted to an integer array using the ICHAR *
-// function. This program converts it from integer to char, then *
-// passes it to the C initialization routine. *
-//======================================================================*/
-void h5inittracex_( int *file, int *len, int flags[], int *nflags,
- unsigned *out_sw )
-{
- char *traceFileName;
- int i;
- traceFileName = (char *)malloc(*len+1);
- for ( i = 0; i < *len; ++i ) {
- traceFileName[i] = file[i];
- }
- traceFileName[*len+1] = 0;
- /*==============================================================*
- // Allocate space for trace indicators. *
- //==============================================================*/
- procTrace = ( int * ) malloc( NUM_HDF5_IDS*sizeof(int) );
- if ( procTrace == NULL ) {
- fprintf(stderr,">> Error: Unable to allocate procTrace ");
- fprintf(stderr,"array in program HDF5initTrace. <<<\n");
- fprintf(stderr,">>> Exiting program! <<<\n");
- exit (-1);
- }
- /*==============================================================*
- // Initialize to 0. *
- //==============================================================*/
- for ( i = 0; i <= NUM_HDF5_IDS; ++i ) {
- procTrace[i] = 0;
- }
- /*==============================================================*
- // Read in the flags indicating which procedures to trace. *
- // The last parameter passed is an indicator of the type of *
- // tracing to do. This indicator has a value larger than any *
- // of the flags. *
- //==============================================================*/
- for ( i = 0; i < *nflags; ++i ) {
- procTrace[flags[i]] = 1;
- }
- OUTPUT_SWITCH = *out_sw;
- /*==============================================================*
- // if no flags were passed, the default is to trace all of the *
- // procedures. *
- //==============================================================*/
- if ( *nflags == 0 || procTrace[AllHDF5] ) {
- for ( i = ID_HDF_Last_Entry + 1; i < NUM_HDF5_IDS; ++i ) {
- procTrace[i] = 1;
- }
- }
- if ( OUTPUT_SWITCH == RUNTIME_TRACE
- || OUTPUT_SWITCH == MPI_RUNTIME_TRACE ) {
- HDFinitTrace_SDDF( traceFileName, OUTPUT_SWITCH );
- IOtracingEnabled = 1;
- } else if ( OUTPUT_SWITCH == SUMMARY_TRACE
- || OUTPUT_SWITCH == MPI_SUMMARY_TRACE ) {
- HDFinitTrace_RT( traceFileName, OUTPUT_SWITCH );
- IOtracingEnabled = 1;
- } else if ( OUTPUT_SWITCH == NO_TRACE ) {
- IOtracingEnabled = 0;
- } else {
- fprintf(stderr,">> Error in HDF5initTrace: the third argument ");
- fprintf(stderr,"must have a value between %4d<<\n",RUNTIME_TRACE);
- fprintf(stderr,">> and %4d, inclusive.",NO_TRACE);
- fprintf(stderr," The value received was %4u.", OUTPUT_SWITCH);
- fprintf(stderr," Exiting Program. <<\n");
- exit (-1);
- }
-}
-void HDF5initTrace( const char *traceFileName, int id_flag, ... )
-{
- int i, nIDs;
- va_list ap;
-
- /*==============================================================*
- // Allocate space for trace indicators. *
- //==============================================================*/
- procTrace = ( int * ) malloc( NUM_HDF5_IDS*sizeof(int) );
- if ( procTrace == NULL ) {
- fprintf(stderr,">> Error: Unable to allocate procTrace ");
- fprintf(stderr,"array in program HDF5initTrace. <<<\n");
- fprintf(stderr,">>> Exiting program! <<<\n");
- exit (-1);
- }
- /*==============================================================*
- // Initialize to 0. *
- //==============================================================*/
- for ( i = 0; i < NUM_HDF5_IDS; ++i ) {
- procTrace[i] = 0;
- }
- /*==============================================================*
- // Read in the flags indicating which procedures to trace. *
- // The last parameter passed is an indicator of the type of *
- // tracing to do. This indicator has a value larger than any *
- // of the flags. *
- //==============================================================*/
- nIDs = 0;
- va_start( ap, id_flag );
- while ( id_flag > NO_TRACE ) {
- procTrace[id_flag] = 1;
- ++nIDs;
- id_flag = va_arg ( ap, int );
- }
- OUTPUT_SWITCH = id_flag;
- /*==============================================================*
- // if no flags were passed, the default is to trace all of the *
- // procedures. *
- //==============================================================*/
- if ( nIDs == 0 || procTrace[AllHDF5] ) {
- for ( i = ID_HDF_Last_Entry + 1; i < NUM_HDF5_IDS; ++i ) {
- procTrace[i] = 1;
- }
- }
- if ( OUTPUT_SWITCH == RUNTIME_TRACE
- || OUTPUT_SWITCH == MPI_RUNTIME_TRACE ) {
- HDFinitTrace_SDDF( traceFileName, OUTPUT_SWITCH );
- IOtracingEnabled = 1;
- } else if ( OUTPUT_SWITCH == SUMMARY_TRACE
- || OUTPUT_SWITCH == MPI_SUMMARY_TRACE ) {
- HDFinitTrace_RT( traceFileName, OUTPUT_SWITCH );
- IOtracingEnabled = 1;
- } else if ( OUTPUT_SWITCH == NO_TRACE ) {
- IOtracingEnabled = 0;
- } else {
- fprintf(stderr,">> Error in HDF5initTrace: the third argument ");
- fprintf(stderr,"must have a value between %4d<<\n",RUNTIME_TRACE);
- fprintf(stderr,">> and %4d, inclusive.",NO_TRACE);
- fprintf(stderr," The value received was %4u.", OUTPUT_SWITCH);
- fprintf(stderr," Exiting Program. <<\n");
- exit (-1);
- }
-}
-/*======================================================================*
-// NAME *
-// HDF5endTrace -- end HDF tracing *
-// USAGE *
-// VOID HDF5endTrace(VOID) *
-// RETURNS *
-// None. *
-//======================================================================*/
-void hdf5endtrace_( void )
-{
- HDF5endTrace ();
-}
-void HDF5endTrace(void)
-{
- if ( OUTPUT_SWITCH == RUNTIME_TRACE
- || OUTPUT_SWITCH == MPI_RUNTIME_TRACE ) {
- HDFendTrace_SDDF( OUTPUT_SWITCH );
- } else if ( OUTPUT_SWITCH == SUMMARY_TRACE
- || OUTPUT_SWITCH == MPI_SUMMARY_TRACE ) {
- HDFendTrace_RT( OUTPUT_SWITCH );
- }
-}
-void startHDFtraceEvent(int eventID)
-{
- if ( OUTPUT_SWITCH == RUNTIME_TRACE
- || OUTPUT_SWITCH == MPI_RUNTIME_TRACE ) {
- traceEvent( eventID, NULL, 0 ) ;
- } else {
- HDFtraceEvent_RT( eventID, NULL, 0 ) ;
- }
-}
-void endHDFtraceEvent(int eventID, int setID, char *setName, int IDtype )
-{
- HDFsetInfo info;
- info.setID = setID;
- info.setName = setName;
- if ( OUTPUT_SWITCH == RUNTIME_TRACE
- || OUTPUT_SWITCH == MPI_RUNTIME_TRACE ) {
- traceEvent( eventID, (char *)&info, 0 ) ;
- } else if ( OUTPUT_SWITCH == SUMMARY_TRACE
- || OUTPUT_SWITCH == MPI_SUMMARY_TRACE ) {
- HDFtraceEvent_RT( eventID, &info, 0 ) ;
- } else if ( OUTPUT_SWITCH != NO_TRACE ) {
- fprintf(stderr,"endHDFtraceEvent: ");
- fprintf(stderr,"invalid OUTPUT_SWITCH %d, IDtype = %d\n",
- OUTPUT_SWITCH, IDtype ) ;
- }
-}
-/******************************************************************************/
-
-/*+ Open routines +*/
-/*+ ------------- +*/
-/*+ +*/
-/*+ Routine: FILE *HDFtraceFOPEN( const char *filename, const char *type ) +*/
-/*+ substitute for fopen() +*/
-/*+ generates fopenBeginID, fopenEndID +*/
-/*+ record Open (fopenBegin) +*/
-/*+ Mode = -1 +*/
-/*+ +*/
-FILE *HDFtraceFOPEN( const char *filename, const char *type )
-{
- FILE *fp;
- int fd, id;
- int flags = 0;
- struct open_args openArgs;
- size_t typeLen;
-
- if ( IOtracingEnabled ) {
- strcpy( openArgs.filename, filename );
-
- /* check for 'b' - usually if 2 chars, second is '+' */
- typeLen = strlen( type );
- if ( ( typeLen == 2 ) && ( type [1] == 'b' ) ) {
- typeLen = 1;
- }
-
- if ( typeLen == 1 ) {
- switch( type[0] ) {
- case 'r':
- flags = flags | O_RDONLY;
- break;
- case 'w':
- flags = O_TRUNC | O_CREAT | O_WRONLY;
- break;
- case 'a':
- flags = flags | O_APPEND | O_CREAT | O_WRONLY;
- break;
- }
- } else {
- switch( type[0] ) {
- case 'r':
- flags = O_RDWR;
- break;
- case 'w':
- flags = O_TRUNC | O_CREAT | O_RDWR;
- break;
- case 'a':
- flags = O_APPEND | O_CREAT | O_RDWR;
- break;
- }
- }
- openArgs.flags = flags;
- openArgs.mode= -1;
-
- HDFtraceIOEvent( fopenBeginID, (void *)&openArgs, sizeof(openArgs) );
- }
-
- fp = fopen( filename, type );
- if ( fp != NULL ) {
- fd = fileno( fp );
- id = set_c_mappedID( fd );
- } else {
- id = -1;
- }
-
- if ( IOtracingEnabled ) {
- HDFtraceIOEvent( fopenEndID, (void *) &id, int_SIZE );
- }
-
- return( fp );
-}
-
-/*+ Routine: int HDFtraceCREAT( const char *path, mode_t mode ) +*/
-/*+ substitute for creat() +*/
-/*+ generates openBeginID, openEndID +*/
-/*+ record Open (openBeginID) +*/
-/*+ +*/
-int HDFtraceCREAT( const char *path, mode_t mode )
-{
- struct open_args openArgs;
- int fd;
- int id;
-
- if ( IOtracingEnabled ) {
- strcpy( openArgs.filename, path );
- openArgs.flags = O_WRONLY | O_CREAT | O_TRUNC;
- openArgs.mode = (int) mode;
-
- HDFtraceIOEvent( openBeginID, (void *)&openArgs, sizeof(openArgs) );
- }
-
- fd = creat( path, mode );
- id = set_c_mappedID( fd );
-
- if ( IOtracingEnabled ) {
- HDFtraceIOEvent( openEndID, (void *) &id, int_SIZE );
- }
-
- return( fd );
-}
-
-/******************************************************************************/
-
-/*+ Flush routines +*/
-/*+ -------------- +*/
-/*+ +*/
-/*+ Routine: int HDFtraceFFLUSH( FILE *stream ) +*/
-/*+ substitute for fflush() +*/
-/*+ generates fflushBeginID, fflushEndID +*/
-/*+ record Flush (fflushBeginID) +*/
-/*+ +*/
-int HDFtraceFFLUSH( FILE *stream )
-{
- int ret;
- int id;
- int fd;
-
- if ( IOtracingEnabled ) {
- /*
- * If stream is NULL, all files open for write are flushed.
- * We show this with a -2 in the trace record as too much overhead
- * to try and tell what files those are and generate individual
- * trace records.
- */
- if ( stream == NULL ) {
- id = -2;
- } else {
- fd = fileno( stream );
- id = c_mappedID( fd );
- HDFtraceIOEvent( fflushBeginID, (void *) 0, int_SIZE );
- }
- }
-
- ret = fflush( stream );
-
- if ( IOtracingEnabled ) {
- HDFtraceIOEvent( fflushEndID, (void *) &id, 0 );
- }
-
- /*
- * Note that if fflush called on stream open for reading, the file pointer
- * is moved to EOF if it isn't there already. We don't account for that
- * in our file positioning information.
- */
-
- return( ret );
-}
-
-/******************************************************************************/
-/*+ Close routines +*/
-/*+ -------------- +*/
-/*+ +*/
-/*+ Routine: int HDFtraceFCLOSE( FILE *stream ) +*/
-/*+ substitute for fclose() +*/
-/*+ generates fcloseBeginID, fcloseEndID +*/
-/*+ record Close (fcloseBeginID) +*/
-/*+ +*/
-int HDFtraceFCLOSE( FILE *stream )
-{
- int ret;
- int id;
- int fd = fileno( stream );
-
- if ( IOtracingEnabled ) {
- id = c_mappedID( fd );
- HDFtraceIOEvent( fcloseBeginID, (void *) &id, int_SIZE );
- }
-
- ret = fclose( stream );
-
- if ( IOtracingEnabled ) {
- HDFtraceIOEvent( fcloseEndID, (void *) 0, 0 );
- }
-
- return( ret );
-}
-
-/*+ Routine: int HDFtrace3OPEN( char *path, int flags, mode_t mode ) +*/
-/*+ substitute for open() when called with 3 arguments +*/
-/*+ generates openBeginID, openEndID +*/
-/*+ record Open (openBeginID) +*/
-/*+ +*/
-int HDFtrace3OPEN( const char *path, int flags, mode_t mode )
-{
- struct open_args openArgs;
- int fd;
- int id;
-
- if ( IOtracingEnabled ) {
- strcpy( openArgs.filename, path );
- openArgs.flags = flags;
- openArgs.mode = (int) mode;
-
- HDFtraceIOEvent( openBeginID, (char *)&openArgs, sizeof(openArgs) );
- }
-
- fd = open( path, flags, mode );
- id = set_c_mappedID( fd );
-
- if ( IOtracingEnabled ) {
- HDFtraceIOEvent( openEndID, (char *) &id, int_SIZE );
- }
-
- return( fd );
-}
-
-/*+ Routine: int HDFtraceCLOSE( int fd ) +*/
-/*+ substitute for close() +*/
-/*+ generates closeBeginID, closeEndID +*/
-/*+ record Close (closeBeginID) +*/
-/*+ +*/
-int HDFtraceCLOSE( int fd )
-{
- int ret;
- int id;
-
- if ( IOtracingEnabled ) {
- id = c_mappedID( fd );
- HDFtraceIOEvent( closeBeginID, (void *) &id, int_SIZE );
- }
-
- ret = close( fd );
-
- if ( IOtracingEnabled ) {
- HDFtraceIOEvent( closeEndID, (void *) 0, 0 );
- }
-
- return( ret );
-}
-
-/******************************************************************************/
-/*+ Read routines +*/
-/*+ ------------- +*/
-/*+ +*/
-/*+ Routine: int HDFtraceREAD( int fd, char *buf, int nbyte ) +*/
-/*+ substitute for read() +*/
-/*+ generates readBeginID, readEndID +*/
-/*+ record Read (readBeginID) +*/
-/*+ Number Variables = 1 +*/
-/*+ Cause = -1 +*/
-/*+ +*/
-size_t HDFtraceREAD( int fd, char *buf, int nbyte )
-{
- struct read_write_args readArgs;
- size_t ret;
- int bytes;
- CLOCK t1, t2, incDur;
-
- if ( IOtracingEnabled ) {
- readArgs.fileID = c_mappedID( fd );
- readArgs.numVariables = 1;
- readArgs.cause = -1;
-
- HDFtraceIOEvent( readBeginID, (void *) &readArgs, sizeof(readArgs) );
- }
-
- t1 = getClock();
- ret = read( fd, buf, nbyte );
- t2 = getClock();
- incDur = clockSubtract(t2,t1);
- ReadTotals += clockToSeconds( incDur );
-
- if ( IOtracingEnabled ) {
- if ( ret > 0 ) {
- bytes = (int)ret;
- } else {
- bytes = 0;
- }
- HDFtraceIOEvent( readEndID, (void *) &bytes, int_SIZE );
- }
-
- return( ret );
-}
-
-/*+ Routine: int HDFtraceFREAD( char *ptr, int size, int nitems, +*/
-/*+ FILE *stream) +*/
-/*+ substitute for fread() +*/
-/*+ generates freadBeginID, freadEndID +*/
-/*+ record Read (freadBeginID) +*/
-/*+ Number Variables = nitems +*/
-/*+ Cause = -1 +*/
-/*+ +*/
-size_t HDFtraceFREAD( void *ptr, int size, int nitems, FILE *stream )
-{
- struct read_write_args readArgs;
- size_t ret;
- int nbytes;
- int fd = fileno( stream );
- CLOCK t1, t2, incDur;
-
- if ( IOtracingEnabled ) {
- readArgs.fileID = c_mappedID( fd );
- readArgs.numVariables = nitems;
- readArgs.cause = -1;
- HDFtraceIOEvent( freadBeginID, (void *) &readArgs, sizeof(readArgs) );
- }
-
- t1 = getClock();
- ret = fread( ptr, size, nitems, stream );
- t2 = getClock();
- incDur = clockSubtract(t2,t1);
- ReadTotals += clockToSeconds( incDur );
-
- if ( IOtracingEnabled ) {
- if ( ret > 0 ) {
- nbytes = (int)ret * size ;
- } else {
- nbytes = 0;
- }
- HDFtraceIOEvent( freadEndID, (void *) &nbytes, int_SIZE );
- }
-
- return( ret );
-}
-
-
-/******************************************************************************/
-/*+ Seek routines +*/
-/*+ ------------- +*/
-/*+ +*/
-/*+ Routine: off_t HDFtraceLSEEK( int fd, off_t offset, int whence ) +*/
-/*+ substitute for lseek() +*/
-/*+ generates lseekBeginID, lseekEndID +*/
-/*+ record Seek (lseekBeginID) +*/
-/*+ +*/
-off_t HDFtraceLSEEK( int fd, off_t offset, int whence )
-{
- struct seek_args seekArgs;
- off_t ret;
- long arg;
-
- if ( IOtracingEnabled ) {
- seekArgs.fileID = c_mappedID( fd );
- seekArgs.offset = (int) offset;
- seekArgs.whence = whence;
-
- HDFtraceIOEvent( lseekBeginID, (void *) &seekArgs, sizeof(seekArgs) );
- }
-
- ret = lseek( fd, offset, whence );
-
- if ( IOtracingEnabled ) {
- arg = (long) ret;
- HDFtraceIOEvent( lseekEndID, (void *)&arg, long_SIZE );
- }
-
- return( ret );
-}
-
-/*+ routine: int HDF traceFSEEK( FILE *stream, long offset, int whence ) +*/
-/*+ substitute for fseek() +*/
-/*+ generates fseekBeginID, fseekEndID +*/
-/*+ record Seek (fseekBeginID) +*/
-/*+ +*/
-int HDFtraceFSEEK( FILE *stream, long offset, int whence )
-{
- struct seek_args seekArgs;
- int ret;
- long arg;
- int fd = fileno( stream );
-
- if ( IOtracingEnabled ) {
- seekArgs.fileID = c_mappedID( fd );;
- seekArgs.offset = (int) offset;
- seekArgs.whence = whence;
-
- HDFtraceIOEvent( fseekBeginID, (void *) &seekArgs, sizeof(seekArgs) );
- }
-
- ret = fseek( stream, offset, whence );
-
- if ( IOtracingEnabled ) {
- arg = ftell( stream );
- HDFtraceIOEvent( fseekEndID, (void *)&arg, long_SIZE );
- }
-
- return( ret );
-}
-
-#ifdef fpos_t
-/*+ Routine: int HDFtraceFSETPOS( FILE *stream, const fpos_t *position ) +*/
-/*+ substitute for fsetpos() +*/
-/*+ generates fsetposBeginID, fsetposEndID +*/
-/*+ record Seek (fsetposBeginID) +*/
-/*+ +*/
-int HDFtraceFSETPOS( FILE stream, const fpos_t *position )
-{
- struct seek_args seekArgs;
- int ret;
- long arg;
- int fd = fileno( stream );
-
- if ( IOtracingEnabled ) {
- seekArgs.fileID = c_mappedID( fd );;
- seekArgs.offset = (int) *position;
- seekArgs.whence = SEEK_SET;
-
- HDFtraceIOEvent( fsetposBeginID, (void *) &seekArgs, sizeof(seekArgs) );
- }
-
- ret = fsetpos( stream, position );
-
- if ( IOtracingEnabled ) {
- arg = (long) *position;
- HDFtraceIOEvent( fsetposEndID, (void *)&arg, long_SIZE );
- }
-
- return( ret );
-}
-#endif /* fpos_t */
-
-/*+ Routine: void HDFtraceREWIND ( FILE *stream ) +*/
-/*+ substitute for rewind() +*/
-/*+ generates rewindBeginID, rewindEndID +*/
-/*+ record Seek (rewindBeginID) +*/
-/*+ Offset = 0 +*/
-/*+ Whence = SEEK_SET +*/
-/*+ +*/
-void HDFtraceREWIND( FILE *stream )
-{
- struct seek_args seekArgs;
- long arg;
- int fd = fileno( stream );
-
- if ( IOtracingEnabled ) {
- seekArgs.fileID = c_mappedID( fd );
- seekArgs.offset = 0;
- seekArgs.whence = SEEK_SET;
-
- HDFtraceIOEvent( rewindBeginID, (void *) &seekArgs, sizeof(seekArgs) );
- }
-
- rewind( stream );
-
- if ( IOtracingEnabled ) {
- arg = 0;
- HDFtraceIOEvent( rewindEndID, (void *)&arg, long_SIZE );
- }
-
- return;
-}
-
-/******************************************************************************/
-/*+ Write routines +*/
-/*+ -------------- +*/
-/*+ +*/
-/*+ Routine: int HDFtraceWRITE( int fd, char *buf, int nbyte ) +*/
-/*+ substitute for write() +*/
-/*+ generates writeBeginID, writeEndID +*/
-/*+ record Write (writeBeginID) +*/
-/*+ Number Variables = 1 +*/
-/*+ Cause = -1 +*/
-/*+ +*/
-size_t HDFtraceWRITE( int fd, const char *buf, int nbyte )
-{
- struct read_write_args writeArgs;
- size_t ret;
- int bytes;
- CLOCK t1, t2, incDur;
-
- if ( IOtracingEnabled ) {
- writeArgs.fileID = c_mappedID( fd );
- writeArgs.numVariables = 1;
- writeArgs.cause = -1;
-
- HDFtraceIOEvent( writeBeginID, (void *) &writeArgs, sizeof(writeArgs) );
- }
-
- t1 = getClock();
- ret = (size_t)write( fd, buf, nbyte );
- t2 = getClock();
- incDur = clockSubtract(t2,t1);
- WriteTotals += clockToSeconds( incDur );
-
- if ( IOtracingEnabled ) {
- if ( ret > 0 ) {
- bytes = (int)ret;
- } else {
- bytes = 0;
- }
- HDFtraceIOEvent( writeEndID, (void *) &bytes, int_SIZE );
- }
- return( ret );
-}
-
-/*+ Routine: size_t HDFtraceFWRITE( const char *ptr, int size, int nitems, +*/
-/*+ FILE *stream ) +*/
-/*+ substitute for fwrite() +*/
-/*+ generates fwriteBeginID, fwriteEndID +*/
-/*+ record Write (fwriteBeginID) +*/
-/*+ Number Variables = nitems +*/
-/*+ Cause = -1 +*/
-/*+ +*/
-size_t HDFtraceFWRITE( const char *ptr, int size, int nitems, FILE *stream )
-{
- struct read_write_args writeArgs;
- size_t ret;
- int nbytes;
- int fd = fileno( stream );
- CLOCK t1, t2, incDur;
-
- if ( IOtracingEnabled ) {
- writeArgs.fileID = c_mappedID( fd );
- writeArgs.numVariables = nitems;
- writeArgs.cause = -1;
-
- HDFtraceIOEvent( fwriteBeginID, (void *) &writeArgs, sizeof(writeArgs) );
- }
-
- t1 = getClock();
- ret = fwrite( ptr, size, nitems, stream );
- t2 = getClock();
- incDur = clockSubtract(t2,t1);
- WriteTotals += clockToSeconds( incDur );
-
-
- if ( IOtracingEnabled ) {
- if ( ret > 0 ) {
- nbytes = (int)ret * size ;
- } else {
- nbytes = 0;
- }
- HDFtraceIOEvent( fwriteEndID, (void *) &nbytes, int_SIZE );
- }
-
- return( ret );
-}
-
-/*+ Routine: int HDFtracePUTS( char *s ) +*/
-/*+ substitute for puts() +*/
-/*+ generates fwriteBeginID, fwriteEndID +*/
-/*+ record Write (fwriteBeginID) +*/
-/*+ Number Variables = 1 +*/
-/*+ Cause = -1 +*/
-/*+ +*/
-int HDFtracePUTS( char *s )
-{
- struct read_write_args writeArgs;
- int ret;
- int fd = fileno( stdout );
-
- if ( IOtracingEnabled ) {
- writeArgs.fileID = c_mappedID( fd );
- writeArgs.numVariables = 1;
- writeArgs.cause = -1;
-
- HDFtraceIOEvent( fwriteBeginID, (void *) &writeArgs, sizeof(writeArgs) );
- }
-
- ret = puts( s );
-
- if ( IOtracingEnabled ) {
- HDFtraceIOEvent( fwriteEndID, (void *) &ret, int_SIZE );
- }
-
- return( ret );
-}
-
-/*+ Routine: int HDFtraceFPUTC( int c, FILE *stream ) +*/
-/*+ substitute for fputc() +*/
-/*+ generates fwriteBeginID, fwriteEndID +*/
-/*+ record Write (fwriteBeginID) +*/
-/*+ Number Variables = 1 +*/
-/*+ Cause = -1 +*/
-/*+ +*/
-int HDFtraceFPUTC( int c, FILE *stream )
-{
- struct read_write_args writeArgs;
- int ret;
- int nbytes = char_SIZE;
- int fd = fileno( stream );
-
- if ( IOtracingEnabled ) {
- writeArgs.fileID = c_mappedID( fd );
- writeArgs.numVariables = 1;
- writeArgs.cause = -1;
-
- HDFtraceIOEvent( fwriteBeginID, (void *) &writeArgs, sizeof(writeArgs) );
- }
-
- ret = fputc( c, stream );
-
- if ( IOtracingEnabled ) {
- if ( ret == EOF ) {
- nbytes = 0;
- HDFtraceIOEvent( fwriteEndID, (void *) &nbytes, int_SIZE );
- }
- }
-
- return( ret );
-}
-/*+ Routine: int HDFtraceFPUTS( char *s, FILE *stream ) +*/
-/*+ substitute for fputs() +*/
-/*+ generates fwriteBeginID, fwriteEndID +*/
-/*+ record Write (fwriteBeginID) +*/
-/*+ Number Variables = 1 +*/
-/*+ Cause = -1 +*/
-/*+ +*/
-int HDFtraceFPUTS( const char *s, FILE *stream )
-{
- struct read_write_args writeArgs;
- int ret;
- int fd = fileno( stream );
-
- if ( IOtracingEnabled ) {
- writeArgs.fileID = c_mappedID( fd );
- writeArgs.numVariables = 1;
- writeArgs.cause = -1;
-
- HDFtraceIOEvent(fwriteBeginID, (void *)&writeArgs, sizeof(writeArgs));
- }
-
- ret = fputs( s, stream );
-
- if ( IOtracingEnabled ) {
- HDFtraceIOEvent( fwriteEndID, (void *) &ret, int_SIZE );
- }
-
- return( ret );
-}
-void *HDFtraceMALLOC(size_t bytes )
-{
- void *ptr;
- int byte_req;
- byte_req = (int)bytes;
- if ( IOtracingEnabled ) {
- HDFtraceIOEvent ( ID_malloc, NULL, 0 );
- }
-
- ptr = malloc( bytes );
-
- if ( IOtracingEnabled ) {
- HDFtraceIOEvent ( -ID_malloc, &byte_req, sizeof(int) );
- }
-
- return ptr ;
-
-}
-
-void HDFtraceIOEvent( int eventType, void *dataPtr, unsigned dataLen )
-{
- if ( OUTPUT_SWITCH == RUNTIME_TRACE
- || OUTPUT_SWITCH == MPI_RUNTIME_TRACE ) {
- traceEvent( eventType, dataPtr, dataLen );
- } else {
- HDFtraceEvent_RT( eventType, (HDFsetInfo *)dataPtr, dataLen );
- }
-}
-/*======================================================================*
-// record the final time stamp *
-//======================================================================*/
-void HDFfinalTimeStamp( void )
-{
- CLOCK currentTime;
- double seconds;
- struct {
- int packetLength,
- packetType,
- packetTag,
- timeDim;
- double Seconds;
- int eventID,
- node,
- dataLen;
- } Packet;
-
- currentTime = getClock();
- seconds = clockToSeconds( currentTime );
-
- Packet.packetLength = sizeof(Packet);
- Packet.packetType = PKT_DATA;
- Packet.packetTag = FAMILY_EXTERNAL | RECORD_TRACE;
- Packet.timeDim = 0; /* use fp time stamp only */
- Packet.Seconds = seconds; /* fp time stamp */
- Packet.eventID = ID_timeStamp;
- Packet.node = TRgetNode();
- Packet.dataLen = 0;
- putBytes( (void *)&Packet , sizeof(Packet) );
-}
-/*======================================================================*
-// This Program is called to specify which routines are to be traced. *
-// On first entry, the program allocates storage for and initializes a *
-// global array procTrace. The array has one element for each possible *
-// HDF5 procedure and HDF5 library file. If a procedure or all of the *
-// procedure in an HDF file are to be traced, then the elemen in the *
-// array corresponding to the procedure or file is turned on. This is *
-// used by the macros TRACE_ON and TRACE_OFF to enable tracing. If *
-// this procedure is not called prior to initialization, then all of *
-// the elements of procTrace corresponding to HDF 5 files will be *
-// turned on, in which case all HDF 5 procedures will be traced. *
-//======================================================================*/
-void PabloHDF5Trace( int ID )
-{
- int i;
- if ( procTrace == NULL ) {
- procTrace = ( int * ) malloc( NUM_HDF5_IDS*sizeof(int) );
- if ( procTrace == NULL ) {
- fprintf(stderr,">> Error: Unable to allocate procTrace ");
- fprintf(stderr,"array in program PabloHDF5Trace. <<<\n");
- fprintf(stderr," Exiting program. <<<\n");
- exit (-1);
- }
- for ( i = 0; i < NUM_HDF5_IDS; ++i ) {
- procTrace[i] = 0;
- }
- }
- if ( ID >= 0 && ID < NUM_HDF5_IDS ) {
- procTrace[ID] = 1;
- } else {
- fprintf(stderr,">> Error: Value passed to PabloHDF5Trace, ");
- fprintf(stderr,"%d, is out of range. <<<\n",ID);
- fprintf(stderr," Exiting program. <<<\n");
- exit (-1);
- }
-}
-#ifdef HAVE_PARALLEL
-int HDF_XMPI_File_open( MPI_Comm comm, char *filename, int amode,
- MPI_Info info, MPI_File *fh );
-int HDF_XMPI_File_close( MPI_File *fh );
-int HDF_XMPI_File_delete( char *filename, MPI_Info info );
-int HDF_XMPI_File_set_size( MPI_File fh, MPI_Offset size );
-int HDF_XMPI_File_preallocate( MPI_File fh, MPI_Offset size);
-int HDF_XMPI_File_get_size( MPI_File fh, MPI_Offset *size );
-int HDF_XMPI_File_get_group( MPI_File fh, MPI_Group *group );
-int HDF_XMPI_File_get_amode( MPI_File fh, int *amode );
-int HDF_XMPI_File_set_view( MPI_File fh, MPI_Offset disp, MPI_Datatype etype,
- MPI_Datatype filetype, char *datarep,
- MPI_Info info );
-int HDF_XMPI_File_get_view( MPI_File fh, MPI_Offset *disp,
- MPI_Datatype *etype, MPI_Datatype *filetype,
- char *datarep );
-int HDF_XMPI_File_read_at( MPI_File fh, MPI_Offset offset, void *buf,
- int count, MPI_Datatype datatype,
- MPI_Status *status );
-int HDF_XMPI_File_read_at_all( MPI_File fh, MPI_Offset offset, void *buf,
- int count, MPI_Datatype datatype,
- MPI_Status *status );
-int HDF_XMPI_File_write_at( MPI_File fh, MPI_Offset offset, void *buf,
- int count, MPI_Datatype datatype,
- MPI_Status *status );
-int HDF_XMPI_File_write_at_all( MPI_File fh, MPI_Offset offset, void *buf,
- int count, MPI_Datatype datatype,
- MPI_Status *status );
-
-int HDF_XMPI_File_iread_at( MPI_File fh, MPI_Offset offset, void *buf,
- int count, MPI_Datatype datatype,
- MPIO_Request *request );
-int HDF_XMPI_File_iwrite_at( MPI_File fh, MPI_Offset offset, void *buf,
- int count, MPI_Datatype datatype,
- MPIO_Request *request );
-int HDF_XMPI_File_read( MPI_File fh, void *buf, int count,
- MPI_Datatype datatype, MPI_Status *status );
-int HDF_XMPI_File_read_all( MPI_File fh, void *buf, int count,
- MPI_Datatype datatype, MPI_Status *status );
-int HDF_XMPI_File_write( MPI_File fh, void *buf, int count,
- MPI_Datatype datatype, MPI_Status *status );
-int HDF_XMPI_File_write_all( MPI_File fh, void *buf, int count,
- MPI_Datatype datatype, MPI_Status *status );
-int HDF_XMPI_File_iread( MPI_File fh, void *buf, int count,
- MPI_Datatype datatype, MPIO_Request *request );
-int HDF_XMPI_File_iwrite( MPI_File fh, void *buf, int count,
- MPI_Datatype datatype, MPIO_Request *request );
-int HDF_XMPI_File_seek( MPI_File fh,
- MPI_Offset offset, int whence ) ;
-int HDF_XMPI_File_get_position( MPI_File fh, MPI_Offset *offset );
-int HDF_XMPI_File_get_byte_offset( MPI_File fh, MPI_Offset offset,
- MPI_Offset *disp) ;
-int HDF_XMPI_File_get_type_extent( MPI_File fh, MPI_Datatype datatype,
- MPI_Aint *extent );
-int HDF_XMPI_File_set_atomicity( MPI_File fh, int flag );
-int HDF_XMPI_File_get_atomicity( MPI_File fh, int *flag );
-int HDF_XMPI_File_sync( MPI_File fh );
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_open( MPI_Comm comm, char *filename, int amode,
- MPI_Info info, MPI_File *fh )
-{
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_open( comm, filename, amode, info, fh );
- } else {
- dataLen = sizeof( HDFsetInfo );
- dataPtr.setID = (long)fh;
- dataPtr.setName = (char *)malloc( strlen(filename) + 1);
- strcpy( dataPtr.setName , filename );
- HDFtraceEvent_RT( mpiOpenBeginID, &dataPtr, dataLen );
- returnVal = PMPI_File_open( comm, filename, amode, info, fh );
- HDFtraceEvent_RT( mpiOpenEndID, &dataPtr, dataLen );
- }
- return returnVal;
-}
-
-
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_close( MPI_File *fh )
-{
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_close( fh );
- } else {
- dataLen = sizeof( HDFsetInfo );
- dataPtr.setID = (long)fh;
- dataPtr.setName = NULL;
- HDFtraceEvent_RT( mpiCloseBeginID, &dataPtr, dataLen );
- returnVal = PMPI_File_close( fh );
- HDFtraceEvent_RT( mpiCloseEndID, &dataPtr, dataLen );
- free( dataPtr.setName );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_delete( char *filename, MPI_Info info )
-{
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_delete( filename, info );
- } else {
- dataLen = sizeof( HDFsetInfo );
- dataPtr.setID = 0;
- dataPtr.setName = (char *)malloc( sizeof(filename) );
- strcpy( dataPtr.setName , filename );
- HDFtraceEvent_RT( mpiDeleteBeginID, &dataPtr, dataLen );
- returnVal = PMPI_File_delete( filename, info );
- HDFtraceEvent_RT( mpiDeleteEndID, &dataPtr, dataLen );
- free( dataPtr.setName );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_set_size( MPI_File fh, MPI_Offset size )
-{
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_set_size( fh, size );
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiSetSizeBeginID,&dataPtr,dataLen );
- returnVal = PMPI_File_set_size( fh, size );
- HDFtraceEvent_RT( mpiSetSizeEndID, &dataPtr, dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_preallocate( MPI_File fh, MPI_Offset size)
-{
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_preallocate( fh, size);
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiPreallocateBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_preallocate( fh, size);
- HDFtraceEvent_RT( mpiPreallocateEndID,
- &dataPtr, dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_get_size( MPI_File fh, MPI_Offset *size )
-{
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_get_size( fh, size);
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiGetSizeBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_get_size( fh, size);
- HDFtraceEvent_RT( mpiGetSizeEndID,
- &dataPtr,dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_get_group( MPI_File fh, MPI_Group *group )
-{
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_get_group( fh, group);
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiGetGroupBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_get_group( fh, group);
- HDFtraceEvent_RT( mpiGetGroupEndID,
- &dataPtr,dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_get_amode( MPI_File fh, int *amode )
-{
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_get_amode( fh, amode);
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiGetAmodeBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_get_amode( fh, amode);
- HDFtraceEvent_RT( mpiGetAmodeEndID,
- &dataPtr,dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_set_view( MPI_File fh, MPI_Offset disp, MPI_Datatype etype,
- MPI_Datatype filetype, char *datarep, MPI_Info info )
-{
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_set_view( fh, disp, etype, filetype,
- datarep, info );
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiSetViewBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_set_view( fh, disp, etype, filetype,
- datarep, info );
- HDFtraceEvent_RT( mpiSetViewEndID,
- &dataPtr,dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_get_view( MPI_File fh, MPI_Offset *disp, MPI_Datatype *etype,
- MPI_Datatype *filetype, char *datarep )
-{
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_get_view(fh, disp, etype, filetype, datarep);
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiSetViewBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_get_view(fh, disp, etype, filetype, datarep);
- HDFtraceEvent_RT( mpiSetViewEndID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_get_view(fh, disp, etype, filetype, datarep);
-
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_read_at( MPI_File fh, MPI_Offset offset, void *buf,
- int count, MPI_Datatype datatype, MPI_Status *status )
-{
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_read_at( fh, offset, buf, count, datatype,
- status );
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiReadAtBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_read_at( fh, offset, buf, count, datatype,
- status );
- HDFtraceEvent_RT( mpiReadAtEndID,
- &dataPtr,dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_read_at_all( MPI_File fh, MPI_Offset offset, void *buf,
- int count, MPI_Datatype datatype, MPI_Status *status )
-{
-
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_read_at_all( fh, offset, buf,
- count, datatype, status );
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiReadAtAllBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_read_at_all( fh, offset, buf,
- count, datatype, status );
- HDFtraceEvent_RT( mpiReadAtAllEndID,
- &dataPtr,dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_write_at( MPI_File fh, MPI_Offset offset, void *buf,
- int count, MPI_Datatype datatype, MPI_Status *status )
-{
-
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_write_at( fh, offset, buf, count, datatype,
- status );
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiWriteAtBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_write_at( fh, offset, buf, count, datatype,
- status );
- HDFtraceEvent_RT( mpiWriteAtEndID,
- &dataPtr,dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_write_at_all( MPI_File fh, MPI_Offset offset, void *buf,
- int count, MPI_Datatype datatype, MPI_Status *status )
-{
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_write_at_all( fh, offset, buf,
- count, datatype, status );
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiWriteAtAllBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_write_at_all( fh, offset, buf,
- count, datatype, status );
- HDFtraceEvent_RT( mpiWriteAtAllEndID,
- &dataPtr,dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_iread_at( MPI_File fh, MPI_Offset offset, void *buf,
- int count, MPI_Datatype datatype, MPIO_Request *request )
-{
- return HDF_XMPI_File_iread_at( fh, offset, buf, count, datatype, request );
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_iwrite_at( MPI_File fh, MPI_Offset offset, void *buf,
- int count, MPI_Datatype datatype, MPIO_Request *request)
-{
- return HDF_XMPI_File_iwrite_at( fh, offset, buf, count, datatype, request );
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_read( MPI_File fh, void *buf, int count,
- MPI_Datatype datatype, MPI_Status *status)
-{
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_read( fh, buf, count, datatype, status );
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiReadBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_read( fh, buf, count, datatype, status );
- HDFtraceEvent_RT( mpiReadEndID,
- &dataPtr,dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_read_all( MPI_File fh, void *buf, int count,
- MPI_Datatype datatype, MPI_Status *status)
-{
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_read_all( fh, buf, count, datatype, status );
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiReadAllBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_read_all( fh, buf, count, datatype, status );
- HDFtraceEvent_RT( mpiReadAllEndID,
- &dataPtr,dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_write( MPI_File fh, void *buf, int count,
- MPI_Datatype datatype, MPI_Status *status )
-{
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_write( fh, buf, count, datatype, status );
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiWriteBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_write( fh, buf, count, datatype, status );
- HDFtraceEvent_RT( mpiWriteEndID,
- &dataPtr,dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_write_all( MPI_File fh, void *buf, int count,
- MPI_Datatype datatype, MPI_Status *status )
-{
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal =HDF_XMPI_File_write_all( fh, buf, count, datatype, status );
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiWriteAllBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_write_all( fh, buf, count, datatype, status );
- HDFtraceEvent_RT( mpiWriteAllEndID,
- &dataPtr,dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_iread( MPI_File fh, void *buf, int count,
- MPI_Datatype datatype, MPIO_Request *request )
-{
- return HDF_XMPI_File_iread( fh, buf, count, datatype, request );
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_iwrite( MPI_File fh, void *buf, int count,
- MPI_Datatype datatype, MPIO_Request *request )
-{
- return HDF_XMPI_File_iwrite( fh, buf, count, datatype, request );
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_seek( MPI_File fh, MPI_Offset offset, int whence )
-{
-
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_seek( fh, offset, whence );
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiSeekBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_seek( fh, offset, whence );
- HDFtraceEvent_RT( mpiSeekEndID,
- &dataPtr,dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_get_position( MPI_File fh, MPI_Offset *offset )
-{
-
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_get_position( fh, offset );
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiGetPositionBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_get_position( fh, offset );
- HDFtraceEvent_RT( mpiGetPositionEndID,
- &dataPtr,dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_get_byte_offset( MPI_File fh, MPI_Offset offset,
- MPI_Offset *disp )
-{
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_get_byte_offset( fh, offset, disp );
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiGetByteOffsetBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_get_byte_offset( fh, offset, disp );
- HDFtraceEvent_RT( mpiGetByteOffsetEndID,
- &dataPtr,dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_get_type_extent( MPI_File fh, MPI_Datatype datatype,
- MPI_Aint *extent )
-{
-
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_get_type_extent( fh, datatype, extent );
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiGetTypeExtentBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_get_type_extent( fh, datatype, extent );
- HDFtraceEvent_RT( mpiGetTypeExtentEndID,
- &dataPtr,dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_set_atomicity( MPI_File fh, int flag )
-{
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_set_atomicity( fh, flag );
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiSetAtomicityBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_set_atomicity( fh, flag );
- HDFtraceEvent_RT( mpiSetAtomicityEndID,
- &dataPtr,dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_get_atomicity( MPI_File fh, int *flag )
-{
-
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_get_atomicity( fh, flag );
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiGetAtomicityBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_get_atomicity( fh, flag );
- HDFtraceEvent_RT( mpiGetAtomicityEndID,
- &dataPtr,dataLen );
- }
- return returnVal;
-}
-
-/*======================================================================*
-// Pass call through to regular MPIO entry except in case of Real Time *
-// tracing. *
-// Note: The regular MPIO entry may or may not be instrumented. *
-//======================================================================*/
-int HDF_MPI_File_sync( MPI_File fh )
-{
- int returnVal;
- HDFsetInfo dataPtr;
- int dataLen;
-
- if ( OUTPUT_SWITCH != MPI_SUMMARY_TRACE ) {
- returnVal = HDF_XMPI_File_sync ( fh );
- } else {
- dataLen = 0;
- HDFtraceEvent_RT( mpiSyncBeginID,
- &dataPtr,dataLen );
- returnVal = PMPI_File_sync ( fh );
- HDFtraceEvent_RT( mpiSyncEndID,
- &dataPtr,dataLen );
- }
- return returnVal;
-}
-
-#endif /* HAVE_PARALLEL */
diff --git a/pablo/PabloHDF_RT.c b/pablo/PabloHDF_RT.c
index c3bbc21..1fa5793 100644
--- a/pablo/PabloHDF_RT.c
+++ b/pablo/PabloHDF_RT.c
@@ -109,13 +109,15 @@
// printFileMappingsRT : print map of named identifiers *
// _hdfNameDescriptor() : writes SDDF descriptor packet for names *
//======================================================================*/
+#ifdef _HDF5_
#include "H5config.h"
+#endif
#include "SystemDepend.h"
#include "Trace.h"
#include "TraceParam.h"
#include "ProcIDs.h"
#include "IO_TraceParams.h"
-#include "HDF5Trace.h"
+#include "HDFTrace.h"
#include "SDDFparam.h"
#include <string.h>
#include <stdio.h>
@@ -138,18 +140,13 @@
#endif
#define NEG_THREAD_ID -999
-#include "HDF5record_RT.h"
+#include "HDFrecord_RT.h"
#ifdef HAVE_PARALLEL
#include "mpio.h"
-#include "MPIO_TraceParams.h"
-#include "MPIO_Init.h"
#include "MPIO_EventArgs.h"
#endif
-#ifdef HAVE_MPIOTRACE
-#endif
-
#ifndef TRgetThreadID
#define TRgetThreadID TRgetNode
#endif
@@ -195,7 +192,7 @@ void EndIOEventRecord ( int , CLOCK , void * );
void BeginMPIOEventRecord ( int, CLOCK , void *, int );
void EndMPIOEventRecord ( int , CLOCK , void *, int);
void BeginHDFEventRecord( int , CLOCK );
-void EndHDFEventRecord ( int , CLOCK ,void *);
+void EndHDFEventRecord ( CLOCK ,void *);
void HDFrecordFileName( HDFsetInfo * );
void HDFassignPabloIDs( int *, char *** );
void writeHDFNamePacketsRT( char **, int );
@@ -237,11 +234,8 @@ void HDFinitTrace_RT( char *fileName, int OUTSW )
int myNode;
#endif
int error;
- TR_LOCK criticalSection;
TRgetClock( &epoch );
- criticalSection = TRlock();
error = initHDFProcTrace_RT() ;
- TRunlock( criticalSection );
if ( error != SUCCESS ) {
fprintf (stderr,"Unable to Initialize properly. Exiting program\n");
exit(-1);
@@ -287,10 +281,8 @@ void HDFendTrace_RT( int OUTSW )
HDFnode_t *P;
char **Names;
char* mapFile;
- TR_LOCK criticalSection;
HDFfinalTimeStamp();
- criticalSection = TRlock();
/*==============================================================*
// Assing pablo ids to named identifiers and tag records *
//==============================================================*/
@@ -314,7 +306,6 @@ void HDFendTrace_RT( int OUTSW )
HDFSummarySDDF( HDFQueues[j], j );
}
endTracing();
- TRunlock( criticalSection );
}
/*======================================================================*
// initHFDProcTrace_RT *
@@ -399,10 +390,8 @@ int initHDFProcTrace_RT( void )
//======================================================================*/
void HDFtraceEvent_RT( int eventType, char *dataPtr, unsigned dataLen )
{
- TR_LOCK criticalSection;
CLOCK seconds;
- criticalSection = TRlock();
seconds = getClock();
if ( isBeginIOEvent ( eventType ) || eventType == ID_malloc ) {
@@ -412,7 +401,7 @@ void HDFtraceEvent_RT( int eventType, char *dataPtr, unsigned dataLen )
} else if ( isBeginHDFEvent( eventType ) ) {
BeginHDFEventRecord ( eventType , seconds ) ;
} else if ( isEndHDFEvent( eventType ) ) {
- EndHDFEventRecord ( eventType, seconds, dataPtr );
+ EndHDFEventRecord ( seconds, dataPtr );
#ifdef HAVE_PARALLEL
} else if ( isBeginMPIOEvent( eventType ) ) {
BeginMPIOEventRecord ( eventType, seconds, dataPtr, dataLen ) ;
@@ -422,7 +411,6 @@ void HDFtraceEvent_RT( int eventType, char *dataPtr, unsigned dataLen )
} else {
fprintf(stderr,"eventType %d, dataLen = %u\n",eventType,dataLen);
}
- TRunlock( criticalSection );
}
/*======================================================================*
// BeginIOEventRecord: *
@@ -539,117 +527,117 @@ void BeginMPIOEventRecord( int eventType,
if ( dataLen == 0 ) return;
switch ( eventType )
{
- case mpiGetSizeBeginID:
+ case HDFmpiGetSizeID:
CallStack->record.hdfID
= ((struct mpiGetSizeBeginArgs *)dataPtr)->fileID;
break;
- case mpiGetGroupBeginID:
+ case HDFmpiGetGroupID:
CallStack->record.hdfID
= ((struct mpiGetGroupBeginArgs *)dataPtr)->fileID;
break;
- case mpiGetAmodeBeginID:
+ case HDFmpiGetAmodeID:
CallStack->record.hdfID
= ((struct mpiGetAmodeBeginArgs *)dataPtr)->fileID;
break;
- case mpiGetViewBeginID:
+ case HDFmpiGetViewID:
CallStack->record.hdfID
= ((struct mpiGetViewBeginArgs *)dataPtr)->fileID;
break;
- case mpiGetPositionBeginID:
+ case HDFmpiGetPositionID:
CallStack->record.hdfID
= ((struct mpiGetPositionBeginArgs *)dataPtr)->fileID;
break;
- case mpiGetByteOffsetBeginID:
+ case HDFmpiGetByteOffsetID:
CallStack->record.hdfID
= ((struct mpiGetByteOffsetBeginArgs *)dataPtr)->fileID;
break;
- case mpiGetTypeExtentBeginID:
+ case HDFmpiGetTypeExtentID:
CallStack->record.hdfID
= ((struct mpiGetTypeExtentBeginArgs *)dataPtr)->fileID;
break;
- case mpiGetAtomicityBeginID:
+ case HDFmpiGetAtomicityID:
CallStack->record.hdfID
= ((struct mpiGetAtomicityBeginArgs *)dataPtr)->fileID;
break;
- case mpiOpenBeginID:
+ case HDFmpiOpenID:
strcpy( openName,
((struct mpiOpenBeginArgs *)dataPtr)->fileName);
break;
- case mpiCloseBeginID:
+ case HDFmpiCloseID:
CallStack->record.hdfID
= ((struct mpiCloseBeginArgs *)dataPtr)->fileID;
break;
- case mpiDeleteBeginID:
+ case HDFmpiDeleteID:
break;
- case mpiSetSizeBeginID:
+ case HDFmpiSetSizeID:
CallStack->record.hdfID
= ((struct mpiSetSizeBeginArgs *)dataPtr)->fileID;
break;
- case mpiPreallocateBeginID:
+ case HDFmpiPreallocateID:
CallStack->record.hdfID
= ((struct mpiPreallocateBeginArgs *)dataPtr)->fileID;
break;
- case mpiSetViewBeginID:
+ case HDFmpiSetViewID:
CallStack->record.hdfID
= ((struct mpiSetViewBeginArgs *)dataPtr)->fileID;
break;
- case mpiReadAtBeginID:
+ case HDFmpiReadAtID:
CallStack->record.hdfID
= ((struct mpiReadAtBeginArgs *)dataPtr)->fileID;
break;
- case mpiReadAtAllBeginID:
+ case HDFmpiReadAtAllID:
CallStack->record.hdfID
= ((struct mpiReadAtAllBeginArgs *)dataPtr)->fileID;
break;
- case mpiWriteAtBeginID:
+ case HDFmpiWriteAtID:
CallStack->record.hdfID
= ((struct mpiWriteAtBeginArgs *)dataPtr)->fileID;
break;
- case mpiWriteAtAllBeginID:
+ case HDFmpiWriteAtAllID:
CallStack->record.hdfID
= ((struct mpiWriteAtAllBeginArgs *)dataPtr)->fileID;
break;
- case mpiIreadAtBeginID:
+ case HDFmpiIreadAtID:
CallStack->record.hdfID
= ((struct mpiIreadAtBeginArgs *)dataPtr)->fileID;
break;
- case mpiIwriteAtBeginID:
+ case HDFmpiIwriteAtID:
CallStack->record.hdfID
= ((struct mpiIwriteAtBeginArgs *)dataPtr)->fileID;
break;
- case mpiReadBeginID:
+ case HDFmpiReadID:
CallStack->record.hdfID
= ((struct mpiReadBeginArgs *)dataPtr)->fileID;
break;
- case mpiReadAllBeginID:
+ case HDFmpiReadAllID:
CallStack->record.hdfID
= ((struct mpiReadAllBeginArgs *)dataPtr)->fileID;
break;
- case mpiWriteBeginID:
+ case HDFmpiWriteID:
CallStack->record.hdfID
= ((struct mpiWriteBeginArgs *)dataPtr)->fileID;
break;
- case mpiWriteAllBeginID:
+ case HDFmpiWriteAllID:
CallStack->record.hdfID
= ((struct mpiWriteAllBeginArgs *)dataPtr)->fileID;
break;
- case mpiIreadBeginID:
+ case HDFmpiIreadID:
CallStack->record.hdfID
= ((struct mpiIreadBeginArgs *)dataPtr)->fileID;
break;
- case mpiIwriteBeginID:
+ case HDFmpiIwriteID:
CallStack->record.hdfID
= ((struct mpiIwriteBeginArgs *)dataPtr)->fileID;
break;
- case mpiSeekBeginID:
+ case HDFmpiSeekID:
CallStack->record.hdfID
= ((struct mpiSeekBeginArgs *)dataPtr)->fileID;
break;
- case mpiSetAtomicityBeginID:
+ case HDFmpiSetAtomicityID:
CallStack->record.hdfID
= ((struct mpiSetAtomicityBeginArgs *)dataPtr)->fileID;
break;
- case mpiSyncBeginID:
+ case HDFmpiSyncID:
CallStack->record.hdfID
= ((struct mpiSyncBeginArgs *)dataPtr)->fileID;
break;
@@ -674,7 +662,7 @@ void EndMPIOEventRecord ( int eventType,
CallStack->record.times[MPI]
= clockAdd ( CallStack->record.times[MPI], incDur );
++CallStack->record.counts[MPI];
- if ( eventType == mpiOpenEndID && dataLen != 0 ) {
+ if ( eventType == -HDFmpiOpenID && dataLen != 0 ) {
/*===========================================================*
// complete the file information for the case of a file *
// open and record the information. *
@@ -715,13 +703,12 @@ void BeginHDFEventRecord( int eventID, CLOCK secs )
// and adds it to the inclusive duration field of this record and to *
// the HDF time field of the calling routines record. *
//======================================================================*/
-void EndHDFEventRecord ( int eventID, CLOCK secs, void *dataPtr )
+void EndHDFEventRecord ( CLOCK secs, void *dataPtr )
{
HDFsetInfo *info;
HDFnode_t *HDFrec;
CLOCK incSecs;
static int dummyIDs = -4;
- eventID = 0;
/*==============================================================*
// pop record from top of the stack, compute inclusive duration *
// and set the corresponding record field and increment nCalls. *
@@ -1000,7 +987,7 @@ void HDFupdateProcs( HDFnode_t *P )
//======================================================================*/
void HDFSummarySDDF( HDFnode_t *P, int procIndex )
{
- int i, j, arrayLen;
+ int i, j, arrayLen, nodeID, nCalls;
int allIOCount;
CLOCK allIOTime, excDur;
double t;
@@ -1011,9 +998,7 @@ void HDFSummarySDDF( HDFnode_t *P, int procIndex )
int packetLen,
packetType,
packetTag,
- eventID,
- threadID,
- nCalls;
+ eventID;
double Seconds,
IncDur,
ExcDur;
@@ -1022,6 +1007,7 @@ void HDFSummarySDDF( HDFnode_t *P, int procIndex )
} Header;
Header.packetLen = sizeof(Header)
+ + sizeof(int) /* n Calls */
+ sizeof(int) /* array len */
+ nTallyFields*sizeof(double) /* times array */
+ sizeof(int) /* array len */
@@ -1030,11 +1016,12 @@ void HDFSummarySDDF( HDFnode_t *P, int procIndex )
+ nByteFields*sizeof(int) /* bytes array */
+ nByteFields*sizeof(int) /* array lens */
+ nByteFields*nBkts*sizeof(int) /* byte hist */
+ + sizeof(int) /* nodeID */
+ sizeof(int) ; /* Name len */
Header.packetTag = HDF_SUMMARY_FAMILY +
( procIndex + 1 )*8 + RECORD_TRACE ;
Header.packetType = PKT_DATA;
- Header.threadID = TRgetNode();
+ nodeID = TRgetNode();
while ( P != NULL ) {
Q = P->ptr;
/*===========================================================*
@@ -1061,7 +1048,6 @@ void HDFSummarySDDF( HDFnode_t *P, int procIndex )
// print header information. *
//===========================================================*/
Header.eventID = P->eventID;
- Header.nCalls = P->record.nCalls;
Header.Seconds = clockToSeconds(P->record.lastCall);
Header.IncDur = clockToSeconds( P->record.incDur );
Header.ExcDur = clockToSeconds(excDur);
@@ -1071,6 +1057,12 @@ void HDFSummarySDDF( HDFnode_t *P, int procIndex )
memcpy( Packet, &Header, sizeof(Header) );
Packet += sizeof(Header);
/*===========================================================*
+ // copy number of calls to Packet. *
+ //===========================================================*/
+ nCalls = P->record.nCalls;
+ memcpy( Packet, &nCalls, sizeof(int) );
+ Packet += sizeof(int);
+ /*===========================================================*
// copy length of times array and times array to Packet. *
//===========================================================*/
arrayLen = nTallyFields;
@@ -1107,6 +1099,8 @@ void HDFSummarySDDF( HDFnode_t *P, int procIndex )
memcpy( Packet, P->record.Hists[i], nBkts*sizeof(int) );
Packet += nBkts*sizeof(int);
}
+ memcpy( Packet, &nodeID, sizeof(int) );
+ Packet += sizeof(int);
arrayLen = 0; /* name length */
memcpy( Packet, &arrayLen, sizeof(int) );
putBytes( buff, Header.packetLen );
@@ -1322,14 +1316,6 @@ void _hdfDescriptorRT( char *recordName, char *recordDescription,
"Event ID",
"Corresponding Event",
INTEGER, 0 );
- WRITE_HDF_FIELD( "Processor Number",
- "Node",
- "Processor number",
- INTEGER, 0 );
- WRITE_HDF_FIELD( "N Calls",
- "N Calls",
- "Number of Calls to this Proc",
- INTEGER, 0 );
WRITE_HDF_FIELD( "Seconds",
"Seconds",
"Floating Point Timestamp",
@@ -1350,6 +1336,10 @@ void _hdfDescriptorRT( char *recordName, char *recordDescription,
"Cross Reference",
"Index of related HDF ID or 0 if none",
LONG, 0 );
+ WRITE_HDF_FIELD( "N Calls",
+ "N Calls",
+ "Number of Calls to this Proc",
+ INTEGER, 0 );
WRITE_HDF_FIELD( "Times Array",
"Times Array",
"Array of Total Operation Times",
@@ -1382,6 +1372,10 @@ void _hdfDescriptorRT( char *recordName, char *recordDescription,
"AWrite Histogram",
"Historgram of size Asynch Write Requests",
INTEGER, 1 );
+ WRITE_HDF_FIELD( "Processor Number",
+ "Node",
+ "Processor number",
+ INTEGER, 0 );
WRITE_HDF_FIELD( "HDF Name",
"HDF Name",
"Name of File,Data Set or Dim accessed",
diff --git a/pablo/PabloHDF_SDDF.c b/pablo/PabloHDF_SDDF.c
index c2c9119..c74f1e7 100644
--- a/pablo/PabloHDF_SDDF.c
+++ b/pablo/PabloHDF_SDDF.c
@@ -71,7 +71,7 @@
#include "SDDFparam.h"
#include "TraceParam.h"
#include "Trace.h"
-#include "HDF5Trace.h"
+#include "HDFTrace.h"
void HDFendTrace_SDDF(int);
void startHDFtraceEvent(int eventID);
void endHDFtraceEvent(int , int , char *, int );
diff --git a/pablo/PabloSedscr b/pablo/PabloSedscr
new file mode 100644
index 0000000..73edda0
--- /dev/null
+++ b/pablo/PabloSedscr
@@ -0,0 +1,15 @@
+s/_//g
+s/,//g
+/^[0-9]/,/ID/{
+/^[0-9]/h
+/^[0-9]/d
+s/$/ = /
+G
+s/\n//
+s/ID/ parameter ( &/
+s/$/ )/
+h
+s/parameter (/integer/
+s/=.*//
+G
+}
diff --git a/pablo/ProcIDs.h b/pablo/ProcIDs.h
index 80d4bef..987f197 100644
--- a/pablo/ProcIDs.h
+++ b/pablo/ProcIDs.h
@@ -87,62 +87,7 @@ extern int *procTrace;
*/
#include "ProcTrace.h"
-#define H5_mask ID_H5_c
-#define H5A_mask ID_H5A_c
-#define H5AC_mask ID_H5AC_c
-#define H5B_mask ID_H5B_c
-#define H5D_mask ID_H5D_c
-#define H5E_mask ID_H5E_c
-#define H5F_mask ID_H5F_c
-#define H5F_arr_mask ID_H5Farray_c
-#define H5F_core_mask ID_H5Fcore_c
-#define H5F_family_mask ID_H5Ffamily_c
-#define H5F_istore_mask ID_H5Fistore_c
-#define H5F_low_mask ID_H5Flow_c
-#define H5F_mpio_mask ID_H5Fmpio_c
-#define H5F_sec2_mask ID_H5Fsec2_c
-#define H5F_split_mask ID_H5Fsplit_c
-#define H5F_stdio_mask ID_H5Fstdio_c
-#define H5G_mask ID_H5G_c
-#define H5G_ent_mask ID_H5Gent_c
-#define H5G_node_mask ID_H5Gnode_c
-#define H5G_stab_mask ID_H5Gstab_c
-#define H5HG_mask ID_H5HG_c
-#define H5HL_mask ID_H5HL_c
-#define H5I_mask ID_H5I_c
-#define H5MF_mask ID_H5MF_c
-#define H5MM_mask ID_H5MM_c
-#define H5O_mask ID_H5O_c
-#define H5O_attr_mask ID_H5Oattr_c
-#define H5O_pline_mask ID_H5Ocomp_c
-#define H5O_cont_mask ID_H5Ocont_c
-#define H5O_dtype_mask ID_H5Odtype_c
-#define H5O_efl_mask ID_H5Oefl_c
-#define H5O_fill_mask ID_H5Ofill_c
-#define H5O_layout_mask ID_H5Olayout_c
-#define H5O_mtime_mask ID_H5Omtime_c
-#define H5O_name_mask ID_H5Oname_c
-#define H5O_null_mask ID_H5Onull_c
-#define H5O_sdspace_mask ID_H5Osdspace_c
-#define H5O_shared_mask ID_H5Oshared_c
-#define H5O_stab_mask ID_H5Ostab_c
-#define H5P_mask ID_H5P_c
-#define H5R_mask ID_H5R_c
-#define H5RA_mask ID_H5RA_c
-#define H5S_mask ID_H5S_c
-#define H5S_all_mask ID_H5Sall_c
-#define H5S_hyper_mask ID_H5Shyper_c
-#define H5S_mpio_mask ID_H5Smpio_c
-#define H5S_none_mask ID_H5Snone_c
-#define H5S_point_mask ID_H5Spoint_c
-#define H5S_select_mask ID_H5Sselect_c
-#define H5T_mask ID_H5T_c
-#define H5TB_mask ID_H5TB_c
-#define H5Tbit_mask ID_H5Tbit_c
-#define H5T_conv_mask ID_H5Tconv_c
-#define H5T_init_mask ID_H5Tinit_c
-#define H5V_mask ID_H5V_c
-#define H5Z_mask ID_H5Z_c
+#include "ProcMasks.h"
#define ID_HDFprocName 9996
#define ID_malloc 9997
@@ -154,18 +99,48 @@ extern int *procTrace;
#define END_HDF (ID_HDF_Last_Entry + DUMMY_HDF)
#define NumHDFProcs ( ID_HDF_Last_Entry )
-#define BEGIN_MPIO 900800
-#define END_MPIO 900899
+enum MPIeventIDs {
+ BEGIN_MPIO = END_HDF+1,
+ HDFmpiOpenID = BEGIN_MPIO,
+ HDFmpiCloseID,
+ HDFmpiDeleteID,
+ HDFmpiSetSizeID,
+ HDFmpiPreallocateID,
+ HDFmpiGetSizeID,
+ HDFmpiGetGroupID,
+ HDFmpiGetAmodeID,
+ HDFmpiGetViewID,
+ HDFmpiSetViewID,
+ HDFmpiReadAtID,
+ HDFmpiReadAtAllID,
+ HDFmpiWriteAtID,
+ HDFmpiWriteAtAllID,
+ HDFmpiReadID,
+ HDFmpiReadAllID,
+ HDFmpiWriteID,
+ HDFmpiWriteAllID,
+ HDFmpiSeekID,
+ HDFmpiGetPositionID,
+ HDFmpiGetByteOffsetID,
+ HDFmpiGetTypeExtentID,
+ HDFmpiSetAtomicityID,
+ HDFmpiGetAtomicityID,
+ HDFmpiIreadID,
+ HDFmpiIwriteID,
+ HDFmpiIreadAtID,
+ HDFmpiIwriteAtID,
+ HDFmpiSyncID,
+ END_MPIO
+};
+
/*======================================================================*/
/* Macros to tell if the ID is that of an HDF Entry or Exit */
/*======================================================================*/
#define isBeginHDFEvent( ID ) ( BEGIN_HDF <= (ID) && (ID) <= END_HDF )
#define isEndHDFEvent( ID ) isBeginHDFEvent(-(ID))
#define isBeginMPIOEvent( ID ) \
- ( BEGIN_MPIO <= (ID) && (ID) <= END_MPIO && (ID)%2 == 0 )
-
-#define isEndMPIOEvent( ID ) \
- ( BEGIN_MPIO <= (ID) && (ID) <= END_MPIO && (ID)%2 == 1 )
+ ( BEGIN_MPIO <= (ID) && (ID) <= END_MPIO )
+#define isEndMPIOEvent( ID ) isBeginMPIOEvent(-(ID))
#define isBeginIOEvent( ID ) \
( IOerrorID < (ID) && (ID) <= fsetposEndID && (ID)%2 == 1 )
#define isEndIOEvent( ID ) \
diff --git a/pablo/ProcTrace.h b/pablo/ProcTrace.h
index 7060725..405f0e6 100644
--- a/pablo/ProcTrace.h
+++ b/pablo/ProcTrace.h
@@ -81,43 +81,6 @@
#ifndef PROCTRACE_H /* avoid re-inclusion */
#define PROCTRACE_H
#include <stdarg.h>
-/*======================================================================*
-// By default, all HDF procedures are traced. Tracing of individual *
-// procedures or all of the procedures in a particular source file in *
-// the HDF 5 library can be done by calling the procedure PabloHDF5trace*
-// with the appropriate argument. The call must be made prior to *
-// calling HDF5initTrace. As many calls as necessary may be made prior *
-// to calling HDF5initTrace so several specific procedures can be *
-// traced. *
-// PabloHDF5trace has the following syntax. *
-// #include "ProcTrace.h" *
-// void PabloHDF5trace( int traceID ); *
-// where *
-// traceID specifies the procedure or procedures within an HDF 5 file *
-// that are to be traced. If a single procedure named <proc> is to *
-// be traced, then traceID should have the value ID_<proc>. If all *
-// of the procedures within the HDF 5 library routine <file>.c are to *
-// be traced, then the value of traceID should be FID_<file>. The *
-// constants ID_<proc> and FID_<file> are declared for all possible *
-// values of <proc> and <file> below. *
-// *
-// Example: *
-// To enable tracing of the individual procedures H5I_register and *
-// H5Topen and all of the procedures in the HDF 5 library source *
-// files H5A.c and H5Gent.c the following code segements could be *
-// used: *
-// *
-// #include "ProcTrace.h" *
-// ... *
-// PabloHDF5trace( ID_H5I_register ); *
-// PabloHDF5trace( ID_H5Topenr ); *
-// PabloHDF5trace( FID_H5A ); *
-// PabloHDF5trace( FID_H5Gent ); *
-// ... *
-// HDF5initTrace( ... ); *
-// *
-// See the document PabloHDF5.doc for further information *
-//======================================================================*/
/*======================================================================*/
/* Assign HDF identifier routine tags */
/*======================================================================*/
@@ -131,68 +94,11 @@ MPI_RUNTIME_TRACE,
MPI_SUMMARY_TRACE,
NO_TRACE,
#include "HDFidList.h"
-ID_HDF_Last_Entry,
-AllHDF5 = ID_HDF_Last_Entry,
-ID_H5_c,
-ID_H5A_c,
-ID_H5AC_c,
-ID_H5B_c,
-ID_H5D_c,
-ID_H5E_c,
-ID_H5F_c,
-ID_H5Farray_c,
-ID_H5Fcore_c,
-ID_H5Ffamily_c,
-ID_H5Fistore_c,
-ID_H5Flow_c,
-ID_H5Fmpio_c,
-ID_H5Fsec2_c,
-ID_H5Fsplit_c,
-ID_H5Fstdio_c,
-ID_H5G_c,
-ID_H5Gent_c,
-ID_H5Gnode_c,
-ID_H5Gstab_c,
-ID_H5HG_c,
-ID_H5HL_c,
-ID_H5I_c,
-ID_H5MF_c,
-ID_H5MM_c,
-ID_H5O_c,
-ID_H5Oattr_c,
-ID_H5Ocomp_c,
-ID_H5Ocont_c,
-ID_H5Odtype_c,
-ID_H5Oefl_c,
-ID_H5Ofill_c,
-ID_H5Olayout_c,
-ID_H5Omtime_c,
-ID_H5Oname_c,
-ID_H5Onull_c,
-ID_H5Osdspace_c,
-ID_H5Oshared_c,
-ID_H5Ostab_c,
-ID_H5P_c,
-ID_H5R_c,
-ID_H5RA_c,
-ID_H5S_c,
-ID_H5Sall_c,
-ID_H5Shyper_c,
-ID_H5Smpio_c,
-ID_H5Snone_c,
-ID_H5Spoint_c,
-ID_H5Sselect_c,
-ID_H5T_c,
-ID_H5TB_c,
-ID_H5Tbit_c,
-ID_H5Tconv_c,
-ID_H5Tinit_c,
-ID_H5V_c,
-ID_H5Z_c,
-NUM_HDF5_IDS
+NUM_HDF_IDS
} ;
-void PabloHDF5Trace( int ) ;
-void HDF5initTrace( const char *, int trace_id, ... );
-void HDF5endTrace( void );
+#define ID_HDF_Last_Entry ID_ALLHDF
+
+void HDFinitTrace( const char *, int trace_id, ... );
+void HDFendTrace( void );
#endif /* PROCTRACE_H */
diff --git a/pablo/ProcTrace.inc b/pablo/ProcTrace.inc
new file mode 100644
index 0000000..8b8dde5
--- /dev/null
+++ b/pablo/ProcTrace.inc
@@ -0,0 +1,1680 @@
+ integer IDH5ACcreate
+ parameter ( IDH5ACcreate = 1 )
+ integer IDH5ACdebug
+ parameter ( IDH5ACdebug = 2 )
+ integer IDH5ACdest
+ parameter ( IDH5ACdest = 3 )
+ integer IDH5ACfind
+ parameter ( IDH5ACfind = 4 )
+ integer IDH5ACflush
+ parameter ( IDH5ACflush = 5 )
+ integer IDH5ACprotect
+ parameter ( IDH5ACprotect = 6 )
+ integer IDH5ACrename
+ parameter ( IDH5ACrename = 7 )
+ integer IDH5ACset
+ parameter ( IDH5ACset = 8 )
+ integer IDH5ACunprotect
+ parameter ( IDH5ACunprotect = 9 )
+ integer IDH5Aclose
+ parameter ( IDH5Aclose = 10 )
+ integer IDH5Acopy
+ parameter ( IDH5Acopy = 11 )
+ integer IDH5Acreate
+ parameter ( IDH5Acreate = 12 )
+ integer IDH5Aentof
+ parameter ( IDH5Aentof = 13 )
+ integer IDH5Agetindex
+ parameter ( IDH5Agetindex = 14 )
+ integer IDH5Ainitinterface
+ parameter ( IDH5Ainitinterface = 15 )
+ integer IDH5Aopen
+ parameter ( IDH5Aopen = 16 )
+ integer IDH5Aread
+ parameter ( IDH5Aread = 17 )
+ integer IDH5Awrite
+ parameter ( IDH5Awrite = 18 )
+ integer IDH5Aclose
+ parameter ( IDH5Aclose = 19 )
+ integer IDH5Acreate
+ parameter ( IDH5Acreate = 20 )
+ integer IDH5Agetname
+ parameter ( IDH5Agetname = 21 )
+ integer IDH5Agetnumattrs
+ parameter ( IDH5Agetnumattrs = 22 )
+ integer IDH5Agetspace
+ parameter ( IDH5Agetspace = 23 )
+ integer IDH5Agettype
+ parameter ( IDH5Agettype = 24 )
+ integer IDH5Aiterate
+ parameter ( IDH5Aiterate = 25 )
+ integer IDH5Aopenidx
+ parameter ( IDH5Aopenidx = 26 )
+ integer IDH5Aopenname
+ parameter ( IDH5Aopenname = 27 )
+ integer IDH5Aread
+ parameter ( IDH5Aread = 28 )
+ integer IDH5Awrite
+ parameter ( IDH5Awrite = 29 )
+ integer IDH5Bassert
+ parameter ( IDH5Bassert = 30 )
+ integer IDH5Bcreate
+ parameter ( IDH5Bcreate = 31 )
+ integer IDH5Bdebug
+ parameter ( IDH5Bdebug = 32 )
+ integer IDH5Bdecodekey
+ parameter ( IDH5Bdecodekey = 33 )
+ integer IDH5Bdecodekeys
+ parameter ( IDH5Bdecodekeys = 34 )
+ integer IDH5Bfind
+ parameter ( IDH5Bfind = 35 )
+ integer IDH5Bflush
+ parameter ( IDH5Bflush = 36 )
+ integer IDH5Binsert
+ parameter ( IDH5Binsert = 37 )
+ integer IDH5Binsertchild
+ parameter ( IDH5Binsertchild = 38 )
+ integer IDH5Binserthelper
+ parameter ( IDH5Binserthelper = 39 )
+ integer IDH5Biterate
+ parameter ( IDH5Biterate = 40 )
+ integer IDH5Bload
+ parameter ( IDH5Bload = 41 )
+ integer IDH5Bnodesize
+ parameter ( IDH5Bnodesize = 42 )
+ integer IDH5Bremove
+ parameter ( IDH5Bremove = 43 )
+ integer IDH5Bremovehelper
+ parameter ( IDH5Bremovehelper = 44 )
+ integer IDH5Bsplit
+ parameter ( IDH5Bsplit = 45 )
+ integer IDH5Dclose
+ parameter ( IDH5Dclose = 46 )
+ integer IDH5Dcreate
+ parameter ( IDH5Dcreate = 47 )
+ integer IDH5Dextend
+ parameter ( IDH5Dextend = 48 )
+ integer IDH5Dgetfile
+ parameter ( IDH5Dgetfile = 49 )
+ integer IDH5Dgetspace
+ parameter ( IDH5Dgetspace = 50 )
+ integer IDH5Dinitinterface
+ parameter ( IDH5Dinitinterface = 51 )
+ integer IDH5Dinitstorage
+ parameter ( IDH5Dinitstorage = 52 )
+ integer IDH5Disa
+ parameter ( IDH5Disa = 53 )
+ integer IDH5Dnew
+ parameter ( IDH5Dnew = 54 )
+ integer IDH5Dopen
+ parameter ( IDH5Dopen = 55 )
+ integer IDH5Dopenoid
+ parameter ( IDH5Dopenoid = 56 )
+ integer IDH5Dread
+ parameter ( IDH5Dread = 57 )
+ integer IDH5Dtypeof
+ parameter ( IDH5Dtypeof = 58 )
+ integer IDH5Dwrite
+ parameter ( IDH5Dwrite = 59 )
+ integer IDH5Dclose
+ parameter ( IDH5Dclose = 60 )
+ integer IDH5Dcreate
+ parameter ( IDH5Dcreate = 61 )
+ integer IDH5Dextend
+ parameter ( IDH5Dextend = 62 )
+ integer IDH5Dgetcreateplist
+ parameter ( IDH5Dgetcreateplist = 63 )
+ integer IDH5Dgetspace
+ parameter ( IDH5Dgetspace = 64 )
+ integer IDH5Dgettype
+ parameter ( IDH5Dgettype = 65 )
+ integer IDH5Dopen
+ parameter ( IDH5Dopen = 66 )
+ integer IDH5Dread
+ parameter ( IDH5Dread = 67 )
+ integer IDH5Dwrite
+ parameter ( IDH5Dwrite = 68 )
+ integer IDH5Eclear
+ parameter ( IDH5Eclear = 69 )
+ integer IDH5Ewalk
+ parameter ( IDH5Ewalk = 70 )
+ integer IDH5Eclear
+ parameter ( IDH5Eclear = 71 )
+ integer IDH5Egetauto
+ parameter ( IDH5Egetauto = 72 )
+ integer IDH5Eprint
+ parameter ( IDH5Eprint = 73 )
+ integer IDH5Esetauto
+ parameter ( IDH5Esetauto = 74 )
+ integer IDH5Ewalk
+ parameter ( IDH5Ewalk = 75 )
+ integer IDH5Faddrcmp
+ parameter ( IDH5Faddrcmp = 76 )
+ integer IDH5Faddrdefined
+ parameter ( IDH5Faddrdefined = 77 )
+ integer IDH5Faddrzerop
+ parameter ( IDH5Faddrzerop = 78 )
+ integer IDH5Farrcreate
+ parameter ( IDH5Farrcreate = 79 )
+ integer IDH5Farrread
+ parameter ( IDH5Farrread = 80 )
+ integer IDH5Farrwrite
+ parameter ( IDH5Farrwrite = 81 )
+ integer IDH5Fblockread
+ parameter ( IDH5Fblockread = 82 )
+ integer IDH5Fblockwrite
+ parameter ( IDH5Fblockwrite = 83 )
+ integer IDH5Fclose
+ parameter ( IDH5Fclose = 84 )
+ integer IDH5Fcloseall
+ parameter ( IDH5Fcloseall = 85 )
+ integer IDH5Fcomparefiles
+ parameter ( IDH5Fcomparefiles = 86 )
+ integer IDH5Fcoreaccess
+ parameter ( IDH5Fcoreaccess = 87 )
+ integer IDH5Fcoreclose
+ parameter ( IDH5Fcoreclose = 88 )
+ integer IDH5Fcoreopen
+ parameter ( IDH5Fcoreopen = 89 )
+ integer IDH5Fcoreread
+ parameter ( IDH5Fcoreread = 90 )
+ integer IDH5Fcorewrite
+ parameter ( IDH5Fcorewrite = 91 )
+ integer IDH5Fdebug
+ parameter ( IDH5Fdebug = 92 )
+ integer IDH5Fdest
+ parameter ( IDH5Fdest = 93 )
+ integer IDH5Ffamaccess
+ parameter ( IDH5Ffamaccess = 94 )
+ integer IDH5Ffamclose
+ parameter ( IDH5Ffamclose = 95 )
+ integer IDH5Ffamflush
+ parameter ( IDH5Ffamflush = 96 )
+ integer IDH5Ffamopen
+ parameter ( IDH5Ffamopen = 97 )
+ integer IDH5Ffamread
+ parameter ( IDH5Ffamread = 98 )
+ integer IDH5Ffamwrite
+ parameter ( IDH5Ffamwrite = 99 )
+ integer IDH5Fflush
+ parameter ( IDH5Fflush = 100 )
+ integer IDH5Fflushall
+ parameter ( IDH5Fflushall = 101 )
+ integer IDH5Finit
+ parameter ( IDH5Finit = 102 )
+ integer IDH5Finitinterface
+ parameter ( IDH5Finitinterface = 103 )
+ integer IDH5Fistoreallocate
+ parameter ( IDH5Fistoreallocate = 104 )
+ integer IDH5Fistorecmp2
+ parameter ( IDH5Fistorecmp2 = 105 )
+ integer IDH5Fistorecmp3
+ parameter ( IDH5Fistorecmp3 = 106 )
+ integer IDH5Fistorecreate
+ parameter ( IDH5Fistorecreate = 107 )
+ integer IDH5Fistoredebug
+ parameter ( IDH5Fistoredebug = 108 )
+ integer IDH5Fistoredebugkey
+ parameter ( IDH5Fistoredebugkey = 109 )
+ integer IDH5Fistoredecodekey
+ parameter ( IDH5Fistoredecodekey = 110 )
+ integer IDH5Fistoredest
+ parameter ( IDH5Fistoredest = 111 )
+ integer IDH5Fistoreencodekey
+ parameter ( IDH5Fistoreencodekey = 112 )
+ integer IDH5Fistoreflush
+ parameter ( IDH5Fistoreflush = 113 )
+ integer IDH5Fistoreflushentry
+ parameter ( IDH5Fistoreflushentry = 114 )
+ integer IDH5Fistorefound
+ parameter ( IDH5Fistorefound = 115 )
+ integer IDH5Fistoregetaddr
+ parameter ( IDH5Fistoregetaddr = 116 )
+ integer IDH5Fistoreinit
+ parameter ( IDH5Fistoreinit = 117 )
+ integer IDH5Fistoreinsert
+ parameter ( IDH5Fistoreinsert = 118 )
+ integer IDH5Fistorelock
+ parameter ( IDH5Fistorelock = 119 )
+ integer IDH5Fistorenewnode
+ parameter ( IDH5Fistorenewnode = 120 )
+ integer IDH5Fistorepreempt
+ parameter ( IDH5Fistorepreempt = 121 )
+ integer IDH5Fistoreprune
+ parameter ( IDH5Fistoreprune = 122 )
+ integer IDH5Fistoreread
+ parameter ( IDH5Fistoreread = 123 )
+ integer IDH5Fistorestats
+ parameter ( IDH5Fistorestats = 124 )
+ integer IDH5Fistoreunlock
+ parameter ( IDH5Fistoreunlock = 125 )
+ integer IDH5Fistorewrite
+ parameter ( IDH5Fistorewrite = 126 )
+ integer IDH5Flocatesignature
+ parameter ( IDH5Flocatesignature = 127 )
+ integer IDH5Flowalloc
+ parameter ( IDH5Flowalloc = 128 )
+ integer IDH5Flowclass
+ parameter ( IDH5Flowclass = 129 )
+ integer IDH5Flowclose
+ parameter ( IDH5Flowclose = 130 )
+ integer IDH5Flowflush
+ parameter ( IDH5Flowflush = 131 )
+ integer IDH5Flowopen
+ parameter ( IDH5Flowopen = 132 )
+ integer IDH5Flowread
+ parameter ( IDH5Flowread = 133 )
+ integer IDH5Flowseteof
+ parameter ( IDH5Flowseteof = 134 )
+ integer IDH5Flowsize
+ parameter ( IDH5Flowsize = 135 )
+ integer IDH5Flowwrite
+ parameter ( IDH5Flowwrite = 136 )
+ integer IDH5Fmount
+ parameter ( IDH5Fmount = 137 )
+ integer IDH5Fmountpoint
+ parameter ( IDH5Fmountpoint = 138 )
+ integer IDH5Fmpioaccess
+ parameter ( IDH5Fmpioaccess = 139 )
+ integer IDH5Fmpioclose
+ parameter ( IDH5Fmpioclose = 140 )
+ integer IDH5Fmpioflush
+ parameter ( IDH5Fmpioflush = 141 )
+ integer IDH5Fmpioopen
+ parameter ( IDH5Fmpioopen = 142 )
+ integer IDH5Fmpioread
+ parameter ( IDH5Fmpioread = 143 )
+ integer IDH5Fmpiotasallsame
+ parameter ( IDH5Fmpiotasallsame = 144 )
+ integer IDH5Fmpiowrite
+ parameter ( IDH5Fmpiowrite = 145 )
+ integer IDH5Fnew
+ parameter ( IDH5Fnew = 146 )
+ integer IDH5Fopen
+ parameter ( IDH5Fopen = 147 )
+ integer IDH5Fsec2close
+ parameter ( IDH5Fsec2close = 148 )
+ integer IDH5Fsec2open
+ parameter ( IDH5Fsec2open = 149 )
+ integer IDH5Fsec2read
+ parameter ( IDH5Fsec2read = 150 )
+ integer IDH5Fsec2write
+ parameter ( IDH5Fsec2write = 151 )
+ integer IDH5Fsplitaccess
+ parameter ( IDH5Fsplitaccess = 152 )
+ integer IDH5Fsplitalloc
+ parameter ( IDH5Fsplitalloc = 153 )
+ integer IDH5Fsplitclose
+ parameter ( IDH5Fsplitclose = 154 )
+ integer IDH5Fsplitextend
+ parameter ( IDH5Fsplitextend = 155 )
+ integer IDH5Fsplitflush
+ parameter ( IDH5Fsplitflush = 156 )
+ integer IDH5Fsplitopen
+ parameter ( IDH5Fsplitopen = 157 )
+ integer IDH5Fsplitread
+ parameter ( IDH5Fsplitread = 158 )
+ integer IDH5Fsplitwrite
+ parameter ( IDH5Fsplitwrite = 159 )
+ integer IDH5Fstdioclose
+ parameter ( IDH5Fstdioclose = 160 )
+ integer IDH5Fstdioflush
+ parameter ( IDH5Fstdioflush = 161 )
+ integer IDH5Fstdioopen
+ parameter ( IDH5Fstdioopen = 162 )
+ integer IDH5Fstdioread
+ parameter ( IDH5Fstdioread = 163 )
+ integer IDH5Fstdiowrite
+ parameter ( IDH5Fstdiowrite = 164 )
+ integer IDH5Funmount
+ parameter ( IDH5Funmount = 165 )
+ integer IDH5Fclose
+ parameter ( IDH5Fclose = 166 )
+ integer IDH5Fcreate
+ parameter ( IDH5Fcreate = 167 )
+ integer IDH5Fflush
+ parameter ( IDH5Fflush = 168 )
+ integer IDH5Fgetaccessplist
+ parameter ( IDH5Fgetaccessplist = 169 )
+ integer IDH5Fgetcreateplist
+ parameter ( IDH5Fgetcreateplist = 170 )
+ integer IDH5Fishdf5
+ parameter ( IDH5Fishdf5 = 171 )
+ integer IDH5Fmount
+ parameter ( IDH5Fmount = 172 )
+ integer IDH5Fopen
+ parameter ( IDH5Fopen = 173 )
+ integer IDH5Freopen
+ parameter ( IDH5Freopen = 174 )
+ integer IDH5Funmount
+ parameter ( IDH5Funmount = 175 )
+ integer IDH5Gbasename
+ parameter ( IDH5Gbasename = 176 )
+ integer IDH5Gclose
+ parameter ( IDH5Gclose = 177 )
+ integer IDH5Gcreate
+ parameter ( IDH5Gcreate = 178 )
+ integer IDH5Gentcache
+ parameter ( IDH5Gentcache = 179 )
+ integer IDH5Gentdebug
+ parameter ( IDH5Gentdebug = 180 )
+ integer IDH5Gentdecode
+ parameter ( IDH5Gentdecode = 181 )
+ integer IDH5Gentdecodevec
+ parameter ( IDH5Gentdecodevec = 182 )
+ integer IDH5Gentencode
+ parameter ( IDH5Gentencode = 183 )
+ integer IDH5Gentencodevec
+ parameter ( IDH5Gentencodevec = 184 )
+ integer IDH5Gentmodified
+ parameter ( IDH5Gentmodified = 185 )
+ integer IDH5Gfind
+ parameter ( IDH5Gfind = 186 )
+ integer IDH5Ggetcomment
+ parameter ( IDH5Ggetcomment = 187 )
+ integer IDH5Ggetobjinfo
+ parameter ( IDH5Ggetobjinfo = 188 )
+ integer IDH5Ggettype
+ parameter ( IDH5Ggettype = 189 )
+ integer IDH5Ginitinterface
+ parameter ( IDH5Ginitinterface = 190 )
+ integer IDH5Ginsert
+ parameter ( IDH5Ginsert = 191 )
+ integer IDH5Ginsertionfile
+ parameter ( IDH5Ginsertionfile = 192 )
+ integer IDH5Gisa
+ parameter ( IDH5Gisa = 193 )
+ integer IDH5Glink
+ parameter ( IDH5Glink = 194 )
+ integer IDH5Glinkval
+ parameter ( IDH5Glinkval = 195 )
+ integer IDH5Gloc
+ parameter ( IDH5Gloc = 196 )
+ integer IDH5Gmkroot
+ parameter ( IDH5Gmkroot = 197 )
+ integer IDH5Gmove
+ parameter ( IDH5Gmove = 198 )
+ integer IDH5Gnamei
+ parameter ( IDH5Gnamei = 199 )
+ integer IDH5Gnodecmp2
+ parameter ( IDH5Gnodecmp2 = 200 )
+ integer IDH5Gnodecmp3
+ parameter ( IDH5Gnodecmp3 = 201 )
+ integer IDH5Gnodecreate
+ parameter ( IDH5Gnodecreate = 202 )
+ integer IDH5Gnodedebug
+ parameter ( IDH5Gnodedebug = 203 )
+ integer IDH5Gnodedecodekey
+ parameter ( IDH5Gnodedecodekey = 204 )
+ integer IDH5Gnodeencodekey
+ parameter ( IDH5Gnodeencodekey = 205 )
+ integer IDH5Gnodeflush
+ parameter ( IDH5Gnodeflush = 206 )
+ integer IDH5Gnodefound
+ parameter ( IDH5Gnodefound = 207 )
+ integer IDH5Gnodeinsert
+ parameter ( IDH5Gnodeinsert = 208 )
+ integer IDH5Gnodeiterate
+ parameter ( IDH5Gnodeiterate = 209 )
+ integer IDH5Gnodeload
+ parameter ( IDH5Gnodeload = 210 )
+ integer IDH5Gnoderemove
+ parameter ( IDH5Gnoderemove = 211 )
+ integer IDH5Gopen
+ parameter ( IDH5Gopen = 212 )
+ integer IDH5Gopenoid
+ parameter ( IDH5Gopenoid = 213 )
+ integer IDH5Gregistertype
+ parameter ( IDH5Gregistertype = 214 )
+ integer IDH5Greopen
+ parameter ( IDH5Greopen = 215 )
+ integer IDH5Grootof
+ parameter ( IDH5Grootof = 216 )
+ integer IDH5Gsetcomment
+ parameter ( IDH5Gsetcomment = 217 )
+ integer IDH5Gstabcreate
+ parameter ( IDH5Gstabcreate = 218 )
+ integer IDH5Gstabfind
+ parameter ( IDH5Gstabfind = 219 )
+ integer IDH5Gstabinsert
+ parameter ( IDH5Gstabinsert = 220 )
+ integer IDH5Gstabremove
+ parameter ( IDH5Gstabremove = 221 )
+ integer IDH5Gtraverseslink
+ parameter ( IDH5Gtraverseslink = 222 )
+ integer IDH5Gunlink
+ parameter ( IDH5Gunlink = 223 )
+ integer IDH5Gclose
+ parameter ( IDH5Gclose = 224 )
+ integer IDH5Gcreate
+ parameter ( IDH5Gcreate = 225 )
+ integer IDH5Ggetcomment
+ parameter ( IDH5Ggetcomment = 226 )
+ integer IDH5Ggetlinkval
+ parameter ( IDH5Ggetlinkval = 227 )
+ integer IDH5Ggetobjinfo
+ parameter ( IDH5Ggetobjinfo = 228 )
+ integer IDH5Giterate
+ parameter ( IDH5Giterate = 229 )
+ integer IDH5Glink
+ parameter ( IDH5Glink = 230 )
+ integer IDH5Gmove
+ parameter ( IDH5Gmove = 231 )
+ integer IDH5Gopen
+ parameter ( IDH5Gopen = 232 )
+ integer IDH5Gsetcomment
+ parameter ( IDH5Gsetcomment = 233 )
+ integer IDH5Gunlink
+ parameter ( IDH5Gunlink = 234 )
+ integer IDH5HGalloc
+ parameter ( IDH5HGalloc = 235 )
+ integer IDH5HGcreate
+ parameter ( IDH5HGcreate = 236 )
+ integer IDH5HGdebug
+ parameter ( IDH5HGdebug = 237 )
+ integer IDH5HGflush
+ parameter ( IDH5HGflush = 238 )
+ integer IDH5HGinsert
+ parameter ( IDH5HGinsert = 239 )
+ integer IDH5HGlink
+ parameter ( IDH5HGlink = 240 )
+ integer IDH5HGload
+ parameter ( IDH5HGload = 241 )
+ integer IDH5HGpeek
+ parameter ( IDH5HGpeek = 242 )
+ integer IDH5HGread
+ parameter ( IDH5HGread = 243 )
+ integer IDH5HGremove
+ parameter ( IDH5HGremove = 244 )
+ integer IDH5HLcreate
+ parameter ( IDH5HLcreate = 245 )
+ integer IDH5HLdebug
+ parameter ( IDH5HLdebug = 246 )
+ integer IDH5HLflush
+ parameter ( IDH5HLflush = 247 )
+ integer IDH5HLinsert
+ parameter ( IDH5HLinsert = 248 )
+ integer IDH5HLload
+ parameter ( IDH5HLload = 249 )
+ integer IDH5HLpeek
+ parameter ( IDH5HLpeek = 250 )
+ integer IDH5HLread
+ parameter ( IDH5HLread = 251 )
+ integer IDH5HLremove
+ parameter ( IDH5HLremove = 252 )
+ integer IDH5HLwrite
+ parameter ( IDH5HLwrite = 253 )
+ integer IDH5Idebug
+ parameter ( IDH5Idebug = 254 )
+ integer IDH5Idecref
+ parameter ( IDH5Idecref = 255 )
+ integer IDH5Idestroygroup
+ parameter ( IDH5Idestroygroup = 256 )
+ integer IDH5Ifindid
+ parameter ( IDH5Ifindid = 257 )
+ integer IDH5Igetidnode
+ parameter ( IDH5Igetidnode = 258 )
+ integer IDH5Igettype
+ parameter ( IDH5Igettype = 259 )
+ integer IDH5Iinitgroup
+ parameter ( IDH5Iinitgroup = 260 )
+ integer IDH5Iinitinterface
+ parameter ( IDH5Iinitinterface = 261 )
+ integer IDH5Iobject
+ parameter ( IDH5Iobject = 262 )
+ integer IDH5Iregister
+ parameter ( IDH5Iregister = 263 )
+ integer IDH5Ireleaseidnode
+ parameter ( IDH5Ireleaseidnode = 264 )
+ integer IDH5Iremove
+ parameter ( IDH5Iremove = 265 )
+ integer IDH5Isearch
+ parameter ( IDH5Isearch = 266 )
+ integer IDH5Igettype
+ parameter ( IDH5Igettype = 267 )
+ integer IDH5MFalloc
+ parameter ( IDH5MFalloc = 268 )
+ integer IDH5MFrealloc
+ parameter ( IDH5MFrealloc = 269 )
+ integer IDH5MFxfree
+ parameter ( IDH5MFxfree = 270 )
+ integer IDH5MMstrdup
+ parameter ( IDH5MMstrdup = 271 )
+ integer IDH5Oalloc
+ parameter ( IDH5Oalloc = 272 )
+ integer IDH5Oallocextendchunk
+ parameter ( IDH5Oallocextendchunk = 273 )
+ integer IDH5Oallocnewchunk
+ parameter ( IDH5Oallocnewchunk = 274 )
+ integer IDH5Oattrcopy
+ parameter ( IDH5Oattrcopy = 275 )
+ integer IDH5Oattrdebug
+ parameter ( IDH5Oattrdebug = 276 )
+ integer IDH5Oattrdecode
+ parameter ( IDH5Oattrdecode = 277 )
+ integer IDH5Oattrencode
+ parameter ( IDH5Oattrencode = 278 )
+ integer IDH5Oattrreset
+ parameter ( IDH5Oattrreset = 279 )
+ integer IDH5Oattrsize
+ parameter ( IDH5Oattrsize = 280 )
+ integer IDH5Oclose
+ parameter ( IDH5Oclose = 281 )
+ integer IDH5Ocontdebug
+ parameter ( IDH5Ocontdebug = 282 )
+ integer IDH5Ocontdecode
+ parameter ( IDH5Ocontdecode = 283 )
+ integer IDH5Ocontencode
+ parameter ( IDH5Ocontencode = 284 )
+ integer IDH5Ocopy
+ parameter ( IDH5Ocopy = 285 )
+ integer IDH5Ocount
+ parameter ( IDH5Ocount = 286 )
+ integer IDH5Ocreate
+ parameter ( IDH5Ocreate = 287 )
+ integer IDH5Odebug
+ parameter ( IDH5Odebug = 288 )
+ integer IDH5Odtypecopy
+ parameter ( IDH5Odtypecopy = 289 )
+ integer IDH5Odtypedebug
+ parameter ( IDH5Odtypedebug = 290 )
+ integer IDH5Odtypedecode
+ parameter ( IDH5Odtypedecode = 291 )
+ integer IDH5Odtypedecodehelper
+ parameter ( IDH5Odtypedecodehelper = 292 )
+ integer IDH5Odtypeencode
+ parameter ( IDH5Odtypeencode = 293 )
+ integer IDH5Odtypeencodehelper
+ parameter ( IDH5Odtypeencodehelper = 294 )
+ integer IDH5Odtypegetshare
+ parameter ( IDH5Odtypegetshare = 295 )
+ integer IDH5Odtypereset
+ parameter ( IDH5Odtypereset = 296 )
+ integer IDH5Odtypesetshare
+ parameter ( IDH5Odtypesetshare = 297 )
+ integer IDH5Odtypesize
+ parameter ( IDH5Odtypesize = 298 )
+ integer IDH5Oeflcopy
+ parameter ( IDH5Oeflcopy = 299 )
+ integer IDH5Oefldebug
+ parameter ( IDH5Oefldebug = 300 )
+ integer IDH5Oefldecode
+ parameter ( IDH5Oefldecode = 301 )
+ integer IDH5Oeflencode
+ parameter ( IDH5Oeflencode = 302 )
+ integer IDH5Oeflread
+ parameter ( IDH5Oeflread = 303 )
+ integer IDH5Oeflreset
+ parameter ( IDH5Oeflreset = 304 )
+ integer IDH5Oeflsize
+ parameter ( IDH5Oeflsize = 305 )
+ integer IDH5Oefltotalsize
+ parameter ( IDH5Oefltotalsize = 306 )
+ integer IDH5Oeflwrite
+ parameter ( IDH5Oeflwrite = 307 )
+ integer IDH5Oexists
+ parameter ( IDH5Oexists = 308 )
+ integer IDH5Ofillconvert
+ parameter ( IDH5Ofillconvert = 309 )
+ integer IDH5Ofillcopy
+ parameter ( IDH5Ofillcopy = 310 )
+ integer IDH5Ofilldebug
+ parameter ( IDH5Ofilldebug = 311 )
+ integer IDH5Ofilldecode
+ parameter ( IDH5Ofilldecode = 312 )
+ integer IDH5Ofillencode
+ parameter ( IDH5Ofillencode = 313 )
+ integer IDH5Ofillreset
+ parameter ( IDH5Ofillreset = 314 )
+ integer IDH5Ofillsize
+ parameter ( IDH5Ofillsize = 315 )
+ integer IDH5Ofindinohdr
+ parameter ( IDH5Ofindinohdr = 316 )
+ integer IDH5Oflush
+ parameter ( IDH5Oflush = 317 )
+ integer IDH5Ofree
+ parameter ( IDH5Ofree = 318 )
+ integer IDH5Oinitinterface
+ parameter ( IDH5Oinitinterface = 319 )
+ integer IDH5Olayoutcopy
+ parameter ( IDH5Olayoutcopy = 320 )
+ integer IDH5Olayoutdebug
+ parameter ( IDH5Olayoutdebug = 321 )
+ integer IDH5Olayoutdecode
+ parameter ( IDH5Olayoutdecode = 322 )
+ integer IDH5Olayoutencode
+ parameter ( IDH5Olayoutencode = 323 )
+ integer IDH5Olayoutsize
+ parameter ( IDH5Olayoutsize = 324 )
+ integer IDH5Olink
+ parameter ( IDH5Olink = 325 )
+ integer IDH5Oload
+ parameter ( IDH5Oload = 326 )
+ integer IDH5Omodify
+ parameter ( IDH5Omodify = 327 )
+ integer IDH5Omtimecopy
+ parameter ( IDH5Omtimecopy = 328 )
+ integer IDH5Omtimedebug
+ parameter ( IDH5Omtimedebug = 329 )
+ integer IDH5Omtimedecode
+ parameter ( IDH5Omtimedecode = 330 )
+ integer IDH5Omtimeencode
+ parameter ( IDH5Omtimeencode = 331 )
+ integer IDH5Omtimesize
+ parameter ( IDH5Omtimesize = 332 )
+ integer IDH5Onamecopy
+ parameter ( IDH5Onamecopy = 333 )
+ integer IDH5Onamedebug
+ parameter ( IDH5Onamedebug = 334 )
+ integer IDH5Onamedecode
+ parameter ( IDH5Onamedecode = 335 )
+ integer IDH5Onameencode
+ parameter ( IDH5Onameencode = 336 )
+ integer IDH5Onamereset
+ parameter ( IDH5Onamereset = 337 )
+ integer IDH5Onamesize
+ parameter ( IDH5Onamesize = 338 )
+ integer IDH5Oopen
+ parameter ( IDH5Oopen = 339 )
+ integer IDH5Oplinecopy
+ parameter ( IDH5Oplinecopy = 340 )
+ integer IDH5Oplinedebug
+ parameter ( IDH5Oplinedebug = 341 )
+ integer IDH5Oplinedecode
+ parameter ( IDH5Oplinedecode = 342 )
+ integer IDH5Oplineencode
+ parameter ( IDH5Oplineencode = 343 )
+ integer IDH5Oplinereset
+ parameter ( IDH5Oplinereset = 344 )
+ integer IDH5Oplinesize
+ parameter ( IDH5Oplinesize = 345 )
+ integer IDH5Oread
+ parameter ( IDH5Oread = 346 )
+ integer IDH5Oremove
+ parameter ( IDH5Oremove = 347 )
+ integer IDH5Oreset
+ parameter ( IDH5Oreset = 348 )
+ integer IDH5Osdspacecopy
+ parameter ( IDH5Osdspacecopy = 349 )
+ integer IDH5Osdspacedebug
+ parameter ( IDH5Osdspacedebug = 350 )
+ integer IDH5Osdspacedecode
+ parameter ( IDH5Osdspacedecode = 351 )
+ integer IDH5Osdspaceencode
+ parameter ( IDH5Osdspaceencode = 352 )
+ integer IDH5Osdspacereset
+ parameter ( IDH5Osdspacereset = 353 )
+ integer IDH5Osdspacesize
+ parameter ( IDH5Osdspacesize = 354 )
+ integer IDH5Oshare
+ parameter ( IDH5Oshare = 355 )
+ integer IDH5Oshareddebug
+ parameter ( IDH5Oshareddebug = 356 )
+ integer IDH5Oshareddecode
+ parameter ( IDH5Oshareddecode = 357 )
+ integer IDH5Osharedencode
+ parameter ( IDH5Osharedencode = 358 )
+ integer IDH5Osharedsize
+ parameter ( IDH5Osharedsize = 359 )
+ integer IDH5Ostabcopy
+ parameter ( IDH5Ostabcopy = 360 )
+ integer IDH5Ostabdebug
+ parameter ( IDH5Ostabdebug = 361 )
+ integer IDH5Ostabdecode
+ parameter ( IDH5Ostabdecode = 362 )
+ integer IDH5Ostabencode
+ parameter ( IDH5Ostabencode = 363 )
+ integer IDH5Ostabfast
+ parameter ( IDH5Ostabfast = 364 )
+ integer IDH5Ostabsize
+ parameter ( IDH5Ostabsize = 365 )
+ integer IDH5Otouch
+ parameter ( IDH5Otouch = 366 )
+ integer IDH5Otouchoh
+ parameter ( IDH5Otouchoh = 367 )
+ integer IDH5PCSignalrightneighbor
+ parameter ( IDH5PCSignalrightneighbor = 368 )
+ integer IDH5PCWaitforleftneighbor
+ parameter ( IDH5PCWaitforleftneighbor = 369 )
+ integer IDH5Pclose
+ parameter ( IDH5Pclose = 370 )
+ integer IDH5Pcopy
+ parameter ( IDH5Pcopy = 371 )
+ integer IDH5Pcreate
+ parameter ( IDH5Pcreate = 372 )
+ integer IDH5Pgetclass
+ parameter ( IDH5Pgetclass = 373 )
+ integer IDH5Pinitinterface
+ parameter ( IDH5Pinitinterface = 374 )
+ integer IDH5Pclose
+ parameter ( IDH5Pclose = 375 )
+ integer IDH5Pcopy
+ parameter ( IDH5Pcopy = 376 )
+ integer IDH5Pcreate
+ parameter ( IDH5Pcreate = 377 )
+ integer IDH5Pgetalignment
+ parameter ( IDH5Pgetalignment = 378 )
+ integer IDH5Pgetbtreeratios
+ parameter ( IDH5Pgetbtreeratios = 379 )
+ integer IDH5Pgetbuffer
+ parameter ( IDH5Pgetbuffer = 380 )
+ integer IDH5Pgetcache
+ parameter ( IDH5Pgetcache = 381 )
+ integer IDH5Pgetchunk
+ parameter ( IDH5Pgetchunk = 382 )
+ integer IDH5Pgetclass
+ parameter ( IDH5Pgetclass = 383 )
+ integer IDH5Pgetcore
+ parameter ( IDH5Pgetcore = 384 )
+ integer IDH5Pgetdriver
+ parameter ( IDH5Pgetdriver = 385 )
+ integer IDH5Pgetexternal
+ parameter ( IDH5Pgetexternal = 386 )
+ integer IDH5Pgetexternalcount
+ parameter ( IDH5Pgetexternalcount = 387 )
+ integer IDH5Pgetfamily
+ parameter ( IDH5Pgetfamily = 388 )
+ integer IDH5Pgetfillvalue
+ parameter ( IDH5Pgetfillvalue = 389 )
+ integer IDH5Pgetfilter
+ parameter ( IDH5Pgetfilter = 390 )
+ integer IDH5Pgethypercache
+ parameter ( IDH5Pgethypercache = 391 )
+ integer IDH5Pgetistorek
+ parameter ( IDH5Pgetistorek = 392 )
+ integer IDH5Pgetlayout
+ parameter ( IDH5Pgetlayout = 393 )
+ integer IDH5Pgetmpi
+ parameter ( IDH5Pgetmpi = 394 )
+ integer IDH5Pgetnfilters
+ parameter ( IDH5Pgetnfilters = 395 )
+ integer IDH5Pgetsec2
+ parameter ( IDH5Pgetsec2 = 396 )
+ integer IDH5Pgetsizes
+ parameter ( IDH5Pgetsizes = 397 )
+ integer IDH5Pgetsplit
+ parameter ( IDH5Pgetsplit = 398 )
+ integer IDH5Pgetstdio
+ parameter ( IDH5Pgetstdio = 399 )
+ integer IDH5Pgetsymk
+ parameter ( IDH5Pgetsymk = 400 )
+ integer IDH5Pgetuserblock
+ parameter ( IDH5Pgetuserblock = 401 )
+ integer IDH5Pgetversion
+ parameter ( IDH5Pgetversion = 402 )
+ integer IDH5Pgetxfer
+ parameter ( IDH5Pgetxfer = 403 )
+ integer IDH5Psetalignment
+ parameter ( IDH5Psetalignment = 404 )
+ integer IDH5Psetbuffer
+ parameter ( IDH5Psetbuffer = 405 )
+ integer IDH5Psetcache
+ parameter ( IDH5Psetcache = 406 )
+ integer IDH5Psetchunk
+ parameter ( IDH5Psetchunk = 407 )
+ integer IDH5Psetcore
+ parameter ( IDH5Psetcore = 408 )
+ integer IDH5Psetdeflate
+ parameter ( IDH5Psetdeflate = 409 )
+ integer IDH5Psetexternal
+ parameter ( IDH5Psetexternal = 410 )
+ integer IDH5Psetfamily
+ parameter ( IDH5Psetfamily = 411 )
+ integer IDH5Psetfillvalue
+ parameter ( IDH5Psetfillvalue = 412 )
+ integer IDH5Psetfilter
+ parameter ( IDH5Psetfilter = 413 )
+ integer IDH5Psetgcreferences
+ parameter ( IDH5Psetgcreferences = 414 )
+ integer IDH5Psethypercache
+ parameter ( IDH5Psethypercache = 415 )
+ integer IDH5Psetistorek
+ parameter ( IDH5Psetistorek = 416 )
+ integer IDH5Psetlayout
+ parameter ( IDH5Psetlayout = 417 )
+ integer IDH5Psetmpi
+ parameter ( IDH5Psetmpi = 418 )
+ integer IDH5Psetpreserve
+ parameter ( IDH5Psetpreserve = 419 )
+ integer IDH5Psetsec2
+ parameter ( IDH5Psetsec2 = 420 )
+ integer IDH5Psetsizeofaddr
+ parameter ( IDH5Psetsizeofaddr = 421 )
+ integer IDH5Psetsplit
+ parameter ( IDH5Psetsplit = 422 )
+ integer IDH5Psetstdio
+ parameter ( IDH5Psetstdio = 423 )
+ integer IDH5Psetsymk
+ parameter ( IDH5Psetsymk = 424 )
+ integer IDH5Psetuserblock
+ parameter ( IDH5Psetuserblock = 425 )
+ integer IDH5Psetxfer
+ parameter ( IDH5Psetxfer = 426 )
+ integer IDH5RAclose
+ parameter ( IDH5RAclose = 427 )
+ integer IDH5RAcreate
+ parameter ( IDH5RAcreate = 428 )
+ integer IDH5RAfixoverflow
+ parameter ( IDH5RAfixoverflow = 429 )
+ integer IDH5RAinitinterface
+ parameter ( IDH5RAinitinterface = 430 )
+ integer IDH5RAisa
+ parameter ( IDH5RAisa = 431 )
+ integer IDH5RAopen
+ parameter ( IDH5RAopen = 432 )
+ integer IDH5RAread
+ parameter ( IDH5RAread = 433 )
+ integer IDH5RAwrite
+ parameter ( IDH5RAwrite = 434 )
+ integer IDH5RAclose
+ parameter ( IDH5RAclose = 435 )
+ integer IDH5RAcreate
+ parameter ( IDH5RAcreate = 436 )
+ integer IDH5RAopen
+ parameter ( IDH5RAopen = 437 )
+ integer IDH5RAread
+ parameter ( IDH5RAread = 438 )
+ integer IDH5RAwrite
+ parameter ( IDH5RAwrite = 439 )
+ integer IDH5Rcreate
+ parameter ( IDH5Rcreate = 440 )
+ integer IDH5Rdereference
+ parameter ( IDH5Rdereference = 441 )
+ integer IDH5Rgetobjecttype
+ parameter ( IDH5Rgetobjecttype = 442 )
+ integer IDH5Rgetregion
+ parameter ( IDH5Rgetregion = 443 )
+ integer IDH5Rinitinterface
+ parameter ( IDH5Rinitinterface = 444 )
+ integer IDH5Rcreate
+ parameter ( IDH5Rcreate = 445 )
+ integer IDH5Rdereference
+ parameter ( IDH5Rdereference = 446 )
+ integer IDH5Rgetobjecttype
+ parameter ( IDH5Rgetobjecttype = 447 )
+ integer IDH5Rgetregion
+ parameter ( IDH5Rgetregion = 448 )
+ integer IDH5Sallbounds
+ parameter ( IDH5Sallbounds = 449 )
+ integer IDH5Sallfavail
+ parameter ( IDH5Sallfavail = 450 )
+ integer IDH5Sallfgath
+ parameter ( IDH5Sallfgath = 451 )
+ integer IDH5Sallfscat
+ parameter ( IDH5Sallfscat = 452 )
+ integer IDH5Sallinit
+ parameter ( IDH5Sallinit = 453 )
+ integer IDH5Sallmgath
+ parameter ( IDH5Sallmgath = 454 )
+ integer IDH5Sallmscat
+ parameter ( IDH5Sallmscat = 455 )
+ integer IDH5Sallnpoints
+ parameter ( IDH5Sallnpoints = 456 )
+ integer IDH5Sallrelease
+ parameter ( IDH5Sallrelease = 457 )
+ integer IDH5Sallselectdeserialize
+ parameter ( IDH5Sallselectdeserialize = 458 )
+ integer IDH5Sallselectserialize
+ parameter ( IDH5Sallselectserialize = 459 )
+ integer IDH5Sclose
+ parameter ( IDH5Sclose = 460 )
+ integer IDH5Scmp
+ parameter ( IDH5Scmp = 461 )
+ integer IDH5Scopy
+ parameter ( IDH5Scopy = 462 )
+ integer IDH5Screate
+ parameter ( IDH5Screate = 463 )
+ integer IDH5Sdebug
+ parameter ( IDH5Sdebug = 464 )
+ integer IDH5Sextend
+ parameter ( IDH5Sextend = 465 )
+ integer IDH5Sextentcopy
+ parameter ( IDH5Sextentcopy = 466 )
+ integer IDH5Sextentrelease
+ parameter ( IDH5Sextentrelease = 467 )
+ integer IDH5Sfind
+ parameter ( IDH5Sfind = 468 )
+ integer IDH5Sgetnpointsmax
+ parameter ( IDH5Sgetnpointsmax = 469 )
+ integer IDH5Sgetselectbounds
+ parameter ( IDH5Sgetselectbounds = 470 )
+ integer IDH5Sgetselectelemnpoints
+ parameter ( IDH5Sgetselectelemnpoints = 471 )
+ integer IDH5Sgetselectelempointlist
+ parameter ( IDH5Sgetselectelempointlist = 472 )
+ integer IDH5Sgetselecthyperblocklist
+ parameter ( IDH5Sgetselecthyperblocklist = 473 )
+ integer IDH5Sgetselecthypernblocks
+ parameter ( IDH5Sgetselecthypernblocks = 474 )
+ integer IDH5Sgetselectnpoints
+ parameter ( IDH5Sgetselectnpoints = 475 )
+ integer IDH5Sgetsimpleextentdims
+ parameter ( IDH5Sgetsimpleextentdims = 476 )
+ integer IDH5Sgetsimpleextentndims
+ parameter ( IDH5Sgetsimpleextentndims = 477 )
+ integer IDH5Sgetsimpleextentnpoints
+ parameter ( IDH5Sgetsimpleextentnpoints = 478 )
+ integer IDH5Shyperadd
+ parameter ( IDH5Shyperadd = 479 )
+ integer IDH5Shyperblockcache
+ parameter ( IDH5Shyperblockcache = 480 )
+ integer IDH5Shyperblockread
+ parameter ( IDH5Shyperblockread = 481 )
+ integer IDH5Shyperblockwrite
+ parameter ( IDH5Shyperblockwrite = 482 )
+ integer IDH5Shyperbounds
+ parameter ( IDH5Shyperbounds = 483 )
+ integer IDH5Shyperbsearch
+ parameter ( IDH5Shyperbsearch = 484 )
+ integer IDH5Shyperclip
+ parameter ( IDH5Shyperclip = 485 )
+ integer IDH5Shypercopy
+ parameter ( IDH5Shypercopy = 486 )
+ integer IDH5Shyperfavail
+ parameter ( IDH5Shyperfavail = 487 )
+ integer IDH5Shyperfgath
+ parameter ( IDH5Shyperfgath = 488 )
+ integer IDH5Shyperfread
+ parameter ( IDH5Shyperfread = 489 )
+ integer IDH5Shyperfscat
+ parameter ( IDH5Shyperfscat = 490 )
+ integer IDH5Shyperfwrite
+ parameter ( IDH5Shyperfwrite = 491 )
+ integer IDH5Shypergetregions
+ parameter ( IDH5Shypergetregions = 492 )
+ integer IDH5Shyperinit
+ parameter ( IDH5Shyperinit = 493 )
+ integer IDH5Shypermgath
+ parameter ( IDH5Shypermgath = 494 )
+ integer IDH5Shypermread
+ parameter ( IDH5Shypermread = 495 )
+ integer IDH5Shypermscat
+ parameter ( IDH5Shypermscat = 496 )
+ integer IDH5Shypermwrite
+ parameter ( IDH5Shypermwrite = 497 )
+ integer IDH5Shypernodeadd
+ parameter ( IDH5Shypernodeadd = 498 )
+ integer IDH5Shypernodeprepend
+ parameter ( IDH5Shypernodeprepend = 499 )
+ integer IDH5Shypernoderelease
+ parameter ( IDH5Shypernoderelease = 500 )
+ integer IDH5Shypernpoints
+ parameter ( IDH5Shypernpoints = 501 )
+ integer IDH5Shyperrelease
+ parameter ( IDH5Shyperrelease = 502 )
+ integer IDH5Shyperseliterrelease
+ parameter ( IDH5Shyperseliterrelease = 503 )
+ integer IDH5Shyperselectdeserialize
+ parameter ( IDH5Shyperselectdeserialize = 504 )
+ integer IDH5Shyperselectserialsize
+ parameter ( IDH5Shyperselectserialsize = 505 )
+ integer IDH5Shyperselectvalid
+ parameter ( IDH5Shyperselectvalid = 506 )
+ integer IDH5Sinitinterface
+ parameter ( IDH5Sinitinterface = 507 )
+ integer IDH5Sissimple
+ parameter ( IDH5Sissimple = 508 )
+ integer IDH5Smodify
+ parameter ( IDH5Smodify = 509 )
+ integer IDH5Smpioalltype
+ parameter ( IDH5Smpioalltype = 510 )
+ integer IDH5Smpiohypertype
+ parameter ( IDH5Smpiohypertype = 511 )
+ integer IDH5Smpiospacetype
+ parameter ( IDH5Smpiospacetype = 512 )
+ integer IDH5Smpiospacesread
+ parameter ( IDH5Smpiospacesread = 513 )
+ integer IDH5Smpiospaceswrite
+ parameter ( IDH5Smpiospaceswrite = 514 )
+ integer IDH5Smpiospacesxfer
+ parameter ( IDH5Smpiospacesxfer = 515 )
+ integer IDH5Snoneselectdeserialize
+ parameter ( IDH5Snoneselectdeserialize = 516 )
+ integer IDH5Snoneselectserialize
+ parameter ( IDH5Snoneselectserialize = 517 )
+ integer IDH5Spointadd
+ parameter ( IDH5Spointadd = 518 )
+ integer IDH5Spointbounds
+ parameter ( IDH5Spointbounds = 519 )
+ integer IDH5Spointcopy
+ parameter ( IDH5Spointcopy = 520 )
+ integer IDH5Spointfavail
+ parameter ( IDH5Spointfavail = 521 )
+ integer IDH5Spointfgath
+ parameter ( IDH5Spointfgath = 522 )
+ integer IDH5Spointfscat
+ parameter ( IDH5Spointfscat = 523 )
+ integer IDH5Spointinit
+ parameter ( IDH5Spointinit = 524 )
+ integer IDH5Spointmgath
+ parameter ( IDH5Spointmgath = 525 )
+ integer IDH5Spointmscat
+ parameter ( IDH5Spointmscat = 526 )
+ integer IDH5Spointnpoints
+ parameter ( IDH5Spointnpoints = 527 )
+ integer IDH5Spointrelease
+ parameter ( IDH5Spointrelease = 528 )
+ integer IDH5Spointselectdeserialize
+ parameter ( IDH5Spointselectdeserialize = 529 )
+ integer IDH5Spointselectserialsize
+ parameter ( IDH5Spointselectserialsize = 530 )
+ integer IDH5Spointselectserialize
+ parameter ( IDH5Spointselectserialize = 531 )
+ integer IDH5Spointselectvalid
+ parameter ( IDH5Spointselectvalid = 532 )
+ integer IDH5Sread
+ parameter ( IDH5Sread = 533 )
+ integer IDH5Sregister
+ parameter ( IDH5Sregister = 534 )
+ integer IDH5Sreleasesimple
+ parameter ( IDH5Sreleasesimple = 535 )
+ integer IDH5Sseliterrelease
+ parameter ( IDH5Sseliterrelease = 536 )
+ integer IDH5Sselectall
+ parameter ( IDH5Sselectall = 537 )
+ integer IDH5Sselectcopy
+ parameter ( IDH5Sselectcopy = 538 )
+ integer IDH5Sselectdeserialize
+ parameter ( IDH5Sselectdeserialize = 539 )
+ integer IDH5Sselectelements
+ parameter ( IDH5Sselectelements = 540 )
+ integer IDH5Sselecthyperslab
+ parameter ( IDH5Sselecthyperslab = 541 )
+ integer IDH5Sselectnone
+ parameter ( IDH5Sselectnone = 542 )
+ integer IDH5Sselectrelease
+ parameter ( IDH5Sselectrelease = 543 )
+ integer IDH5Sselectserialsize
+ parameter ( IDH5Sselectserialsize = 544 )
+ integer IDH5Sselectserialize
+ parameter ( IDH5Sselectserialize = 545 )
+ integer IDH5Sselectvalid
+ parameter ( IDH5Sselectvalid = 546 )
+ integer IDH5Ssetextentsimple
+ parameter ( IDH5Ssetextentsimple = 547 )
+ integer IDH5Sclose
+ parameter ( IDH5Sclose = 548 )
+ integer IDH5Scopy
+ parameter ( IDH5Scopy = 549 )
+ integer IDH5Screate
+ parameter ( IDH5Screate = 550 )
+ integer IDH5Screatesimple
+ parameter ( IDH5Screatesimple = 551 )
+ integer IDH5Sgetselectbounds
+ parameter ( IDH5Sgetselectbounds = 552 )
+ integer IDH5Sgetselectelemnpoints
+ parameter ( IDH5Sgetselectelemnpoints = 553 )
+ integer IDH5Sgetselectelempointlist
+ parameter ( IDH5Sgetselectelempointlist = 554 )
+ integer IDH5Sgetselecthyperblocklist
+ parameter ( IDH5Sgetselecthyperblocklist = 555 )
+ integer IDH5Sgetselecthypernblocks
+ parameter ( IDH5Sgetselecthypernblocks = 556 )
+ integer IDH5Sgetselectnpoints
+ parameter ( IDH5Sgetselectnpoints = 557 )
+ integer IDH5Sgetsimpleextentdims
+ parameter ( IDH5Sgetsimpleextentdims = 558 )
+ integer IDH5Sgetsimpleextentndims
+ parameter ( IDH5Sgetsimpleextentndims = 559 )
+ integer IDH5Sgetsimpleextentnpoints
+ parameter ( IDH5Sgetsimpleextentnpoints = 560 )
+ integer IDH5Sgetsimpleextenttype
+ parameter ( IDH5Sgetsimpleextenttype = 561 )
+ integer IDH5Sissimple
+ parameter ( IDH5Sissimple = 562 )
+ integer IDH5Soffsetsimple
+ parameter ( IDH5Soffsetsimple = 563 )
+ integer IDH5Sselectall
+ parameter ( IDH5Sselectall = 564 )
+ integer IDH5Sselectelements
+ parameter ( IDH5Sselectelements = 565 )
+ integer IDH5Sselecthyperslab
+ parameter ( IDH5Sselecthyperslab = 566 )
+ integer IDH5Sselectnone
+ parameter ( IDH5Sselectnone = 567 )
+ integer IDH5Sselectvalid
+ parameter ( IDH5Sselectvalid = 568 )
+ integer IDH5Ssetextentnone
+ parameter ( IDH5Ssetextentnone = 569 )
+ integer IDH5Ssetextentsimple
+ parameter ( IDH5Ssetextentsimple = 570 )
+ integer IDH5TBbufptr
+ parameter ( IDH5TBbufptr = 571 )
+ integer IDH5TBclose
+ parameter ( IDH5TBclose = 572 )
+ integer IDH5TBgarbagecoll
+ parameter ( IDH5TBgarbagecoll = 573 )
+ integer IDH5TBgetbuf
+ parameter ( IDH5TBgetbuf = 574 )
+ integer IDH5TBinitinterface
+ parameter ( IDH5TBinitinterface = 575 )
+ integer IDH5TBreleasebuf
+ parameter ( IDH5TBreleasebuf = 576 )
+ integer IDH5TBresizebuf
+ parameter ( IDH5TBresizebuf = 577 )
+ integer IDH5Tbitgetd
+ parameter ( IDH5Tbitgetd = 578 )
+ integer IDH5Tclose
+ parameter ( IDH5Tclose = 579 )
+ integer IDH5Tcmp
+ parameter ( IDH5Tcmp = 580 )
+ integer IDH5Tcommit
+ parameter ( IDH5Tcommit = 581 )
+ integer IDH5Tconvdoublefloat
+ parameter ( IDH5Tconvdoublefloat = 582 )
+ integer IDH5Tconvenum
+ parameter ( IDH5Tconvenum = 583 )
+ integer IDH5Tconvenuminit
+ parameter ( IDH5Tconvenuminit = 584 )
+ integer IDH5Tconvff
+ parameter ( IDH5Tconvff = 585 )
+ integer IDH5Tconvfloatdouble
+ parameter ( IDH5Tconvfloatdouble = 586 )
+ integer IDH5Tconvi32lef64le
+ parameter ( IDH5Tconvi32lef64le = 587 )
+ integer IDH5Tconvii
+ parameter ( IDH5Tconvii = 588 )
+ integer IDH5Tconvintllong
+ parameter ( IDH5Tconvintllong = 589 )
+ integer IDH5Tconvintlong
+ parameter ( IDH5Tconvintlong = 590 )
+ integer IDH5Tconvintschar
+ parameter ( IDH5Tconvintschar = 591 )
+ integer IDH5Tconvintshort
+ parameter ( IDH5Tconvintshort = 592 )
+ integer IDH5Tconvintuchar
+ parameter ( IDH5Tconvintuchar = 593 )
+ integer IDH5Tconvintuint
+ parameter ( IDH5Tconvintuint = 594 )
+ integer IDH5Tconvintullong
+ parameter ( IDH5Tconvintullong = 595 )
+ integer IDH5Tconvintulong
+ parameter ( IDH5Tconvintulong = 596 )
+ integer IDH5Tconvintushort
+ parameter ( IDH5Tconvintushort = 597 )
+ integer IDH5Tconvllongint
+ parameter ( IDH5Tconvllongint = 598 )
+ integer IDH5Tconvllonglong
+ parameter ( IDH5Tconvllonglong = 599 )
+ integer IDH5Tconvllongschar
+ parameter ( IDH5Tconvllongschar = 600 )
+ integer IDH5Tconvllongshort
+ parameter ( IDH5Tconvllongshort = 601 )
+ integer IDH5Tconvllonguchar
+ parameter ( IDH5Tconvllonguchar = 602 )
+ integer IDH5Tconvllonguint
+ parameter ( IDH5Tconvllonguint = 603 )
+ integer IDH5Tconvllongullong
+ parameter ( IDH5Tconvllongullong = 604 )
+ integer IDH5Tconvllongulong
+ parameter ( IDH5Tconvllongulong = 605 )
+ integer IDH5Tconvllongushort
+ parameter ( IDH5Tconvllongushort = 606 )
+ integer IDH5Tconvlongint
+ parameter ( IDH5Tconvlongint = 607 )
+ integer IDH5Tconvlongllong
+ parameter ( IDH5Tconvlongllong = 608 )
+ integer IDH5Tconvlongschar
+ parameter ( IDH5Tconvlongschar = 609 )
+ integer IDH5Tconvlongshort
+ parameter ( IDH5Tconvlongshort = 610 )
+ integer IDH5Tconvlonguchar
+ parameter ( IDH5Tconvlonguchar = 611 )
+ integer IDH5Tconvlonguint
+ parameter ( IDH5Tconvlonguint = 612 )
+ integer IDH5Tconvlongullong
+ parameter ( IDH5Tconvlongullong = 613 )
+ integer IDH5Tconvlongulong
+ parameter ( IDH5Tconvlongulong = 614 )
+ integer IDH5Tconvlongushort
+ parameter ( IDH5Tconvlongushort = 615 )
+ integer IDH5Tconvnoop
+ parameter ( IDH5Tconvnoop = 616 )
+ integer IDH5Tconvorder
+ parameter ( IDH5Tconvorder = 617 )
+ integer IDH5Tconvss
+ parameter ( IDH5Tconvss = 618 )
+ integer IDH5Tconvscharint
+ parameter ( IDH5Tconvscharint = 619 )
+ integer IDH5Tconvscharllong
+ parameter ( IDH5Tconvscharllong = 620 )
+ integer IDH5Tconvscharlong
+ parameter ( IDH5Tconvscharlong = 621 )
+ integer IDH5Tconvscharshort
+ parameter ( IDH5Tconvscharshort = 622 )
+ integer IDH5Tconvscharuchar
+ parameter ( IDH5Tconvscharuchar = 623 )
+ integer IDH5Tconvscharuint
+ parameter ( IDH5Tconvscharuint = 624 )
+ integer IDH5Tconvscharullong
+ parameter ( IDH5Tconvscharullong = 625 )
+ integer IDH5Tconvscharulong
+ parameter ( IDH5Tconvscharulong = 626 )
+ integer IDH5Tconvscharushort
+ parameter ( IDH5Tconvscharushort = 627 )
+ integer IDH5Tconvshortint
+ parameter ( IDH5Tconvshortint = 628 )
+ integer IDH5Tconvshortllong
+ parameter ( IDH5Tconvshortllong = 629 )
+ integer IDH5Tconvshortlong
+ parameter ( IDH5Tconvshortlong = 630 )
+ integer IDH5Tconvshortschar
+ parameter ( IDH5Tconvshortschar = 631 )
+ integer IDH5Tconvshortuchar
+ parameter ( IDH5Tconvshortuchar = 632 )
+ integer IDH5Tconvshortuint
+ parameter ( IDH5Tconvshortuint = 633 )
+ integer IDH5Tconvshortullong
+ parameter ( IDH5Tconvshortullong = 634 )
+ integer IDH5Tconvshortulong
+ parameter ( IDH5Tconvshortulong = 635 )
+ integer IDH5Tconvshortushort
+ parameter ( IDH5Tconvshortushort = 636 )
+ integer IDH5Tconvstruct
+ parameter ( IDH5Tconvstruct = 637 )
+ integer IDH5Tconvstructinit
+ parameter ( IDH5Tconvstructinit = 638 )
+ integer IDH5Tconvucharint
+ parameter ( IDH5Tconvucharint = 639 )
+ integer IDH5Tconvucharllong
+ parameter ( IDH5Tconvucharllong = 640 )
+ integer IDH5Tconvucharlong
+ parameter ( IDH5Tconvucharlong = 641 )
+ integer IDH5Tconvucharschar
+ parameter ( IDH5Tconvucharschar = 642 )
+ integer IDH5Tconvucharshort
+ parameter ( IDH5Tconvucharshort = 643 )
+ integer IDH5Tconvucharuint
+ parameter ( IDH5Tconvucharuint = 644 )
+ integer IDH5Tconvucharullong
+ parameter ( IDH5Tconvucharullong = 645 )
+ integer IDH5Tconvucharulong
+ parameter ( IDH5Tconvucharulong = 646 )
+ integer IDH5Tconvucharushort
+ parameter ( IDH5Tconvucharushort = 647 )
+ integer IDH5Tconvuintint
+ parameter ( IDH5Tconvuintint = 648 )
+ integer IDH5Tconvuintllong
+ parameter ( IDH5Tconvuintllong = 649 )
+ integer IDH5Tconvuintlong
+ parameter ( IDH5Tconvuintlong = 650 )
+ integer IDH5Tconvuintschar
+ parameter ( IDH5Tconvuintschar = 651 )
+ integer IDH5Tconvuintshort
+ parameter ( IDH5Tconvuintshort = 652 )
+ integer IDH5Tconvuintuchar
+ parameter ( IDH5Tconvuintuchar = 653 )
+ integer IDH5Tconvuintullong
+ parameter ( IDH5Tconvuintullong = 654 )
+ integer IDH5Tconvuintulong
+ parameter ( IDH5Tconvuintulong = 655 )
+ integer IDH5Tconvuintushort
+ parameter ( IDH5Tconvuintushort = 656 )
+ integer IDH5Tconvullongint
+ parameter ( IDH5Tconvullongint = 657 )
+ integer IDH5Tconvullongllong
+ parameter ( IDH5Tconvullongllong = 658 )
+ integer IDH5Tconvullonglong
+ parameter ( IDH5Tconvullonglong = 659 )
+ integer IDH5Tconvullongschar
+ parameter ( IDH5Tconvullongschar = 660 )
+ integer IDH5Tconvullongshort
+ parameter ( IDH5Tconvullongshort = 661 )
+ integer IDH5Tconvullonguchar
+ parameter ( IDH5Tconvullonguchar = 662 )
+ integer IDH5Tconvullonguint
+ parameter ( IDH5Tconvullonguint = 663 )
+ integer IDH5Tconvullongulong
+ parameter ( IDH5Tconvullongulong = 664 )
+ integer IDH5Tconvullongushort
+ parameter ( IDH5Tconvullongushort = 665 )
+ integer IDH5Tconvulongint
+ parameter ( IDH5Tconvulongint = 666 )
+ integer IDH5Tconvulonglong
+ parameter ( IDH5Tconvulonglong = 667 )
+ integer IDH5Tconvulongschar
+ parameter ( IDH5Tconvulongschar = 668 )
+ integer IDH5Tconvulongshort
+ parameter ( IDH5Tconvulongshort = 669 )
+ integer IDH5Tconvulonguchar
+ parameter ( IDH5Tconvulonguchar = 670 )
+ integer IDH5Tconvulonguint
+ parameter ( IDH5Tconvulonguint = 671 )
+ integer IDH5Tconvulongullong
+ parameter ( IDH5Tconvulongullong = 672 )
+ integer IDH5Tconvulongushort
+ parameter ( IDH5Tconvulongushort = 673 )
+ integer IDH5Tconvushortint
+ parameter ( IDH5Tconvushortint = 674 )
+ integer IDH5Tconvushortllong
+ parameter ( IDH5Tconvushortllong = 675 )
+ integer IDH5Tconvushortlong
+ parameter ( IDH5Tconvushortlong = 676 )
+ integer IDH5Tconvushortschar
+ parameter ( IDH5Tconvushortschar = 677 )
+ integer IDH5Tconvushortshort
+ parameter ( IDH5Tconvushortshort = 678 )
+ integer IDH5Tconvushortuchar
+ parameter ( IDH5Tconvushortuchar = 679 )
+ integer IDH5Tconvushortuint
+ parameter ( IDH5Tconvushortuint = 680 )
+ integer IDH5Tconvushortullong
+ parameter ( IDH5Tconvushortullong = 681 )
+ integer IDH5Tconvushortulong
+ parameter ( IDH5Tconvushortulong = 682 )
+ integer IDH5Tconvert
+ parameter ( IDH5Tconvert = 683 )
+ integer IDH5Tcopy
+ parameter ( IDH5Tcopy = 684 )
+ integer IDH5Tcreate
+ parameter ( IDH5Tcreate = 685 )
+ integer IDH5Tdebug
+ parameter ( IDH5Tdebug = 686 )
+ integer IDH5Tentof
+ parameter ( IDH5Tentof = 687 )
+ integer IDH5Tenuminsert
+ parameter ( IDH5Tenuminsert = 688 )
+ integer IDH5Tenumnameof
+ parameter ( IDH5Tenumnameof = 689 )
+ integer IDH5Tgetsize
+ parameter ( IDH5Tgetsize = 690 )
+ integer IDH5Tinit
+ parameter ( IDH5Tinit = 691 )
+ integer IDH5Tinitinterface
+ parameter ( IDH5Tinitinterface = 692 )
+ integer IDH5Tisatomic
+ parameter ( IDH5Tisatomic = 693 )
+ integer IDH5Tisa
+ parameter ( IDH5Tisa = 694 )
+ integer IDH5Tlock
+ parameter ( IDH5Tlock = 695 )
+ integer IDH5Topen
+ parameter ( IDH5Topen = 696 )
+ integer IDH5Topenoid
+ parameter ( IDH5Topenoid = 697 )
+ integer IDH5Tpack
+ parameter ( IDH5Tpack = 698 )
+ integer IDH5Tpathfind
+ parameter ( IDH5Tpathfind = 699 )
+ integer IDH5Tprintstats
+ parameter ( IDH5Tprintstats = 700 )
+ integer IDH5Tsetoffset
+ parameter ( IDH5Tsetoffset = 701 )
+ integer IDH5Tsetprecision
+ parameter ( IDH5Tsetprecision = 702 )
+ integer IDH5Tsetsize
+ parameter ( IDH5Tsetsize = 703 )
+ integer IDH5Tsortname
+ parameter ( IDH5Tsortname = 704 )
+ integer IDH5Tsortvalue
+ parameter ( IDH5Tsortvalue = 705 )
+ integer IDH5Tstructinsert
+ parameter ( IDH5Tstructinsert = 706 )
+ integer IDH5Tunlockcb
+ parameter ( IDH5Tunlockcb = 707 )
+ integer IDH5Tclose
+ parameter ( IDH5Tclose = 708 )
+ integer IDH5Tcommit
+ parameter ( IDH5Tcommit = 709 )
+ integer IDH5Tcommitted
+ parameter ( IDH5Tcommitted = 710 )
+ integer IDH5Tconvert
+ parameter ( IDH5Tconvert = 711 )
+ integer IDH5Tcopy
+ parameter ( IDH5Tcopy = 712 )
+ integer IDH5Tcreate
+ parameter ( IDH5Tcreate = 713 )
+ integer IDH5Tenumcreate
+ parameter ( IDH5Tenumcreate = 714 )
+ integer IDH5Tenuminsert
+ parameter ( IDH5Tenuminsert = 715 )
+ integer IDH5Tenumnameof
+ parameter ( IDH5Tenumnameof = 716 )
+ integer IDH5Tenumvalueof
+ parameter ( IDH5Tenumvalueof = 717 )
+ integer IDH5Tequal
+ parameter ( IDH5Tequal = 718 )
+ integer IDH5Tfind
+ parameter ( IDH5Tfind = 719 )
+ integer IDH5Tgetclass
+ parameter ( IDH5Tgetclass = 720 )
+ integer IDH5Tgetcset
+ parameter ( IDH5Tgetcset = 721 )
+ integer IDH5Tgetebias
+ parameter ( IDH5Tgetebias = 722 )
+ integer IDH5Tgetfields
+ parameter ( IDH5Tgetfields = 723 )
+ integer IDH5Tgetinpad
+ parameter ( IDH5Tgetinpad = 724 )
+ integer IDH5Tgetmemberdims
+ parameter ( IDH5Tgetmemberdims = 725 )
+ integer IDH5Tgetmembername
+ parameter ( IDH5Tgetmembername = 726 )
+ integer IDH5Tgetmemberoffset
+ parameter ( IDH5Tgetmemberoffset = 727 )
+ integer IDH5Tgetmembertype
+ parameter ( IDH5Tgetmembertype = 728 )
+ integer IDH5Tgetmembervalue
+ parameter ( IDH5Tgetmembervalue = 729 )
+ integer IDH5Tgetnorm
+ parameter ( IDH5Tgetnorm = 730 )
+ integer IDH5Tgetnummembers
+ parameter ( IDH5Tgetnummembers = 731 )
+ integer IDH5Tgetoffset
+ parameter ( IDH5Tgetoffset = 732 )
+ integer IDH5Tgetorder
+ parameter ( IDH5Tgetorder = 733 )
+ integer IDH5Tgetoverflow
+ parameter ( IDH5Tgetoverflow = 734 )
+ integer IDH5Tgetpad
+ parameter ( IDH5Tgetpad = 735 )
+ integer IDH5Tgetprecision
+ parameter ( IDH5Tgetprecision = 736 )
+ integer IDH5Tgetsign
+ parameter ( IDH5Tgetsign = 737 )
+ integer IDH5Tgetsize
+ parameter ( IDH5Tgetsize = 738 )
+ integer IDH5Tgetstrpad
+ parameter ( IDH5Tgetstrpad = 739 )
+ integer IDH5Tgetsuper
+ parameter ( IDH5Tgetsuper = 740 )
+ integer IDH5Tinsert
+ parameter ( IDH5Tinsert = 741 )
+ integer IDH5Tinsertarray
+ parameter ( IDH5Tinsertarray = 742 )
+ integer IDH5Tlock
+ parameter ( IDH5Tlock = 743 )
+ integer IDH5Topen
+ parameter ( IDH5Topen = 744 )
+ integer IDH5Tpack
+ parameter ( IDH5Tpack = 745 )
+ integer IDH5Tregister
+ parameter ( IDH5Tregister = 746 )
+ integer IDH5Tsetcset
+ parameter ( IDH5Tsetcset = 747 )
+ integer IDH5Tsetebias
+ parameter ( IDH5Tsetebias = 748 )
+ integer IDH5Tsetfields
+ parameter ( IDH5Tsetfields = 749 )
+ integer IDH5Tsetinpad
+ parameter ( IDH5Tsetinpad = 750 )
+ integer IDH5Tsetnorm
+ parameter ( IDH5Tsetnorm = 751 )
+ integer IDH5Tsetoffset
+ parameter ( IDH5Tsetoffset = 752 )
+ integer IDH5Tsetorder
+ parameter ( IDH5Tsetorder = 753 )
+ integer IDH5Tsetoverflow
+ parameter ( IDH5Tsetoverflow = 754 )
+ integer IDH5Tsetpad
+ parameter ( IDH5Tsetpad = 755 )
+ integer IDH5Tsetprecision
+ parameter ( IDH5Tsetprecision = 756 )
+ integer IDH5Tsetsign
+ parameter ( IDH5Tsetsign = 757 )
+ integer IDH5Tsetsize
+ parameter ( IDH5Tsetsize = 758 )
+ integer IDH5Tsetstrpad
+ parameter ( IDH5Tsetstrpad = 759 )
+ integer IDH5Tunregister
+ parameter ( IDH5Tunregister = 760 )
+ integer IDH5Varrayfill
+ parameter ( IDH5Varrayfill = 761 )
+ integer IDH5Vhypercopy
+ parameter ( IDH5Vhypercopy = 762 )
+ integer IDH5Vhyperfill
+ parameter ( IDH5Vhyperfill = 763 )
+ integer IDH5Vhyperstride
+ parameter ( IDH5Vhyperstride = 764 )
+ integer IDH5Vstridecopy
+ parameter ( IDH5Vstridecopy = 765 )
+ integer IDH5Vstridecopy2
+ parameter ( IDH5Vstridecopy2 = 766 )
+ integer IDH5Vstridefill
+ parameter ( IDH5Vstridefill = 767 )
+ integer IDH5Vstrideoptimize1
+ parameter ( IDH5Vstrideoptimize1 = 768 )
+ integer IDH5Vstrideoptimize2
+ parameter ( IDH5Vstrideoptimize2 = 769 )
+ integer IDH5Zappend
+ parameter ( IDH5Zappend = 770 )
+ integer IDH5Zfilterdeflate
+ parameter ( IDH5Zfilterdeflate = 771 )
+ integer IDH5Zfind
+ parameter ( IDH5Zfind = 772 )
+ integer IDH5Zinitinterface
+ parameter ( IDH5Zinitinterface = 773 )
+ integer IDH5Zpipeline
+ parameter ( IDH5Zpipeline = 774 )
+ integer IDH5Zregister
+ parameter ( IDH5Zregister = 775 )
+ integer IDH5Zregister
+ parameter ( IDH5Zregister = 776 )
+ integer IDH5initlibrary
+ parameter ( IDH5initlibrary = 777 )
+ integer IDH5getlibversion
+ parameter ( IDH5getlibversion = 778 )
+ integer IDH5open
+ parameter ( IDH5open = 779 )
+ integer IDALLHDF
+ parameter ( IDALLHDF = 780 )
+ integer IDH5ACc
+ parameter ( IDH5ACc = 781 )
+ integer IDH5Ac
+ parameter ( IDH5Ac = 782 )
+ integer IDH5Bc
+ parameter ( IDH5Bc = 783 )
+ integer IDH5Dc
+ parameter ( IDH5Dc = 784 )
+ integer IDH5Ec
+ parameter ( IDH5Ec = 785 )
+ integer IDH5Fc
+ parameter ( IDH5Fc = 786 )
+ integer IDH5Farrayc
+ parameter ( IDH5Farrayc = 787 )
+ integer IDH5Fcorec
+ parameter ( IDH5Fcorec = 788 )
+ integer IDH5Ffamilyc
+ parameter ( IDH5Ffamilyc = 789 )
+ integer IDH5Fistorec
+ parameter ( IDH5Fistorec = 790 )
+ integer IDH5Flowc
+ parameter ( IDH5Flowc = 791 )
+ integer IDH5Fmpioc
+ parameter ( IDH5Fmpioc = 792 )
+ integer IDH5Fsec2c
+ parameter ( IDH5Fsec2c = 793 )
+ integer IDH5Fsplitc
+ parameter ( IDH5Fsplitc = 794 )
+ integer IDH5Fstdioc
+ parameter ( IDH5Fstdioc = 795 )
+ integer IDH5Gc
+ parameter ( IDH5Gc = 796 )
+ integer IDH5Gentc
+ parameter ( IDH5Gentc = 797 )
+ integer IDH5Gnodec
+ parameter ( IDH5Gnodec = 798 )
+ integer IDH5Gstabc
+ parameter ( IDH5Gstabc = 799 )
+ integer IDH5HGc
+ parameter ( IDH5HGc = 800 )
+ integer IDH5HLc
+ parameter ( IDH5HLc = 801 )
+ integer IDH5Ic
+ parameter ( IDH5Ic = 802 )
+ integer IDH5MFc
+ parameter ( IDH5MFc = 803 )
+ integer IDH5MMc
+ parameter ( IDH5MMc = 804 )
+ integer IDH5Oc
+ parameter ( IDH5Oc = 805 )
+ integer IDH5Oattrc
+ parameter ( IDH5Oattrc = 806 )
+ integer IDH5Ocontc
+ parameter ( IDH5Ocontc = 807 )
+ integer IDH5Odtypec
+ parameter ( IDH5Odtypec = 808 )
+ integer IDH5Oeflc
+ parameter ( IDH5Oeflc = 809 )
+ integer IDH5Ofillc
+ parameter ( IDH5Ofillc = 810 )
+ integer IDH5Olayoutc
+ parameter ( IDH5Olayoutc = 811 )
+ integer IDH5Omtimec
+ parameter ( IDH5Omtimec = 812 )
+ integer IDH5Onamec
+ parameter ( IDH5Onamec = 813 )
+ integer IDH5Onullc
+ parameter ( IDH5Onullc = 814 )
+ integer IDH5Oplinec
+ parameter ( IDH5Oplinec = 815 )
+ integer IDH5Osdspacec
+ parameter ( IDH5Osdspacec = 816 )
+ integer IDH5Osharedc
+ parameter ( IDH5Osharedc = 817 )
+ integer IDH5Ostabc
+ parameter ( IDH5Ostabc = 818 )
+ integer IDH5Pc
+ parameter ( IDH5Pc = 819 )
+ integer IDH5RAc
+ parameter ( IDH5RAc = 820 )
+ integer IDH5Rc
+ parameter ( IDH5Rc = 821 )
+ integer IDH5Sc
+ parameter ( IDH5Sc = 822 )
+ integer IDH5Sallc
+ parameter ( IDH5Sallc = 823 )
+ integer IDH5Shyperc
+ parameter ( IDH5Shyperc = 824 )
+ integer IDH5Snonec
+ parameter ( IDH5Snonec = 825 )
+ integer IDH5Spointc
+ parameter ( IDH5Spointc = 826 )
+ integer IDH5Sselectc
+ parameter ( IDH5Sselectc = 827 )
+ integer IDH5TBc
+ parameter ( IDH5TBc = 828 )
+ integer IDH5Tc
+ parameter ( IDH5Tc = 829 )
+ integer IDH5Tbitc
+ parameter ( IDH5Tbitc = 830 )
+ integer IDH5Tconvc
+ parameter ( IDH5Tconvc = 831 )
+ integer IDH5Tinitc
+ parameter ( IDH5Tinitc = 832 )
+ integer IDH5Vc
+ parameter ( IDH5Vc = 833 )
+ integer IDH5Zc
+ parameter ( IDH5Zc = 834 )
+ integer IDH5c
+ parameter ( IDH5c = 835 )
+ integer RuntimeTrace
+ integer SummaryTrace
+ integer MPIRuntimeTrace
+ integer MPISummaryTrace
+ integer NoTrace
+ parameter (RuntimeTrace = 0)
+ parameter (SummaryTrace = 1)
+ parameter (MPIRuntimeTrace = 2)
+ parameter (MPISummaryTrace = 3)
+ parameter (NoTrace = 4)