mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-21 01:04:10 +08:00
dc8e89d465
Purpose: feature Description: This brings the development version up to date with the release version. It now supports Pablo tracing of MPI-I/O calls from MPI-I/O versions which are not totally compliant with the standars. Solution: Added entries to bypass the current MPI-I/O tracing in the Pablo Trace Library. Platforms tested: IRIX64/Solaris/IBM SP2
174 lines
6.8 KiB
C
174 lines
6.8 KiB
C
/* 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.
|
|
//======================================================================*/
|
|
#ifndef HDFTRACE_H
|
|
#define HDFTRACE_H
|
|
/************************************************************************/
|
|
/* A shared char * pointer (defined in HDF_Descriptors.c) and Macro */
|
|
/* definitions */
|
|
/************************************************************************/
|
|
extern char *hdfRecordPointer;
|
|
/************************************************************************/
|
|
/* The following are used in tagging HDF packets. Avoid using FAMILY */
|
|
/* tags in the range 0100000 to 0200000 */
|
|
/************************************************************************/
|
|
#define HDF_FAMILY 0100000
|
|
#define HDF_SUMMARY_FAMILY 0140000
|
|
/************************************************************************/
|
|
/* Number of fields in the packets. */
|
|
/************************************************************************/
|
|
#define NUM_FIELDS 17
|
|
/*
|
|
* "WRITE_HDF_ATTR" macro to output an attribute pair.
|
|
*/
|
|
#ifndef WRITE_HDF_ATTR
|
|
#define WRITE_HDF_ATTR( attrKey, attrValue ) \
|
|
sddfWriteString( &hdfRecordPointer, attrKey ); \
|
|
sddfWriteString( &hdfRecordPointer, attrValue );
|
|
#endif /* WRITE_HDF_ATTR */
|
|
|
|
/*
|
|
* "WRITE_HDF_FIELD" macro to output a field with a single attribute pair.
|
|
*/
|
|
#ifndef WRITE_HDF_FIELD
|
|
#define WRITE_HDF_FIELD( name, attrKey, attrValue, type, dimension ) \
|
|
sddfWriteString( &hdfRecordPointer, name ); \
|
|
sddfWriteInteger( &hdfRecordPointer, 1 ); \
|
|
sddfWriteString( &hdfRecordPointer, attrKey ); \
|
|
sddfWriteString( &hdfRecordPointer, attrValue ); \
|
|
sddfWriteInteger( &hdfRecordPointer, type ); \
|
|
sddfWriteInteger( &hdfRecordPointer, dimension );
|
|
#endif /* WRITE_HDF_FIELD */
|
|
|
|
/*
|
|
* "WRITE_HDF_FIELD2" to output a field with two attribute pairs.
|
|
*/
|
|
#ifndef WRITE_HDF_FIELD2
|
|
#define WRITE_HDF_FIELD2( name, aKey1, aValue1, aKey2, aValue2, type, dimension ) \
|
|
sddfWriteString( &hdfRecordPointer, name ); \
|
|
sddfWriteInteger( &hdfRecordPointer, 2 ); \
|
|
sddfWriteString( &hdfRecordPointer, aKey1 ); \
|
|
sddfWriteString( &hdfRecordPointer, aValue1 ); \
|
|
sddfWriteString( &hdfRecordPointer, aKey2 ); \
|
|
sddfWriteString( &hdfRecordPointer, aValue2 ); \
|
|
sddfWriteInteger( &hdfRecordPointer, type ); \
|
|
sddfWriteInteger( &hdfRecordPointer, dimension );
|
|
#endif /* WRITE_HDF_FIELD2*/
|
|
|
|
#define FAMILY_NAME 0260 /* Data Set Name Record */
|
|
#define FAMILY_MISC 0270
|
|
#define FAMILY_HDFPROCNAME 0300
|
|
|
|
#define mpiOpenBeginID 900800
|
|
#define mpiOpenEndID 900801
|
|
|
|
#define mpiCloseBeginID 900802
|
|
#define mpiCloseEndID 900803
|
|
|
|
#define mpiSetSizeBeginID 900806
|
|
#define mpiSetSizeEndID 900807
|
|
|
|
#define mpiGetSizeBeginID 900810
|
|
#define mpiGetSizeEndID 900811
|
|
|
|
#define mpiSetViewBeginID 900816
|
|
#define mpiSetViewEndID 900817
|
|
|
|
#define mpiGetViewBeginID 900818
|
|
#define mpiGetViewEndID 900819
|
|
|
|
#define mpiReadAtBeginID 900820
|
|
#define mpiReadAtEndID 900821
|
|
|
|
#define mpiReadAtAllBeginID 900822
|
|
#define mpiReadAtAllEndID 900823
|
|
|
|
#define mpiWriteAtBeginID 900824
|
|
#define mpiWriteAtEndID 900825
|
|
|
|
#define mpiWriteAtAllBeginID 900826
|
|
#define mpiWriteAtAllEndID 900827
|
|
|
|
#define mpiSyncBeginID 900856
|
|
#define mpiSyncEndID 900857
|
|
|
|
typedef struct {
|
|
long numBytes;
|
|
long setID;
|
|
char *setName;
|
|
} HDFsetInfo ;
|
|
|
|
#endif /* HDFTRACE_H */
|