[svn-r1180] Changes to allow automatic building of tables of event IDs and to make HDF 4 and HDF 5 output compatible.

This commit is contained in:
Dan Wells 1999-04-14 16:17:56 -05:00
parent 31ac744586
commit 92cc3fe39f
4 changed files with 312 additions and 811 deletions

View File

@ -1,798 +0,0 @@
H5I_debug
H5F_flush_all
H5F_close_all
H5S_none_select_serialize
H5S_none_select_deserialize
H5T_conv_enum_init
H5T_conv_enum
H5T_conv_schar_uchar
H5T_conv_uchar_schar
H5T_conv_schar_short
H5T_conv_schar_ushort
H5T_conv_uchar_short
H5T_conv_uchar_ushort
H5T_conv_schar_int
H5T_conv_schar_uint
H5T_conv_uchar_int
H5T_conv_uchar_uint
H5T_conv_schar_long
H5T_conv_schar_ulong
H5T_conv_uchar_long
H5T_conv_uchar_ulong
H5T_conv_schar_llong
H5T_conv_schar_ullong
H5T_conv_uchar_llong
H5T_conv_uchar_ullong
H5T_conv_short_schar
H5T_conv_short_uchar
H5T_conv_ushort_schar
H5T_conv_ushort_uchar
H5T_conv_short_ushort
H5T_conv_ushort_short
H5T_conv_short_int
H5T_conv_short_uint
H5T_conv_ushort_int
H5T_conv_ushort_uint
H5T_conv_short_long
H5T_conv_short_ulong
H5T_conv_ushort_long
H5T_conv_ushort_ulong
H5T_conv_short_llong
H5T_conv_short_ullong
H5T_conv_ushort_llong
H5T_conv_ushort_ullong
H5T_conv_int_schar
H5T_conv_int_uchar
H5T_conv_uint_schar
H5T_conv_uint_uchar
H5T_conv_int_short
H5T_conv_int_ushort
H5T_conv_uint_short
H5T_conv_uint_ushort
H5T_conv_int_uint
H5T_conv_uint_int
H5T_conv_int_long
H5T_conv_int_ulong
H5T_conv_uint_long
H5T_conv_uint_ulong
H5T_conv_int_llong
H5T_conv_int_ullong
H5T_conv_uint_llong
H5T_conv_uint_ullong
H5T_conv_long_schar
H5T_conv_long_uchar
H5T_conv_ulong_schar
H5T_conv_ulong_uchar
H5T_conv_long_short
H5T_conv_long_ushort
H5T_conv_ulong_short
H5T_conv_ulong_ushort
H5T_conv_long_int
H5T_conv_long_uint
H5T_conv_ulong_int
H5T_conv_ulong_uint
H5T_conv_long_ulong
H5T_conv_ulong_long
H5T_conv_long_llong
H5T_conv_long_ullong
H5T_conv_ulong_llong
H5T_conv_ulong_ullong
H5T_conv_llong_schar
H5T_conv_llong_uchar
H5T_conv_ullong_schar
H5T_conv_ullong_uchar
H5T_conv_llong_short
H5T_conv_llong_ushort
H5T_conv_ullong_short
H5T_conv_ullong_ushort
H5T_conv_llong_int
H5T_conv_llong_uint
H5T_conv_ullong_int
H5T_conv_ullong_uint
H5T_conv_llong_long
H5T_conv_llong_ulong
H5T_conv_ullong_long
H5T_conv_ullong_ulong
H5T_conv_llong_ullong
H5T_conv_ullong_llong
H5Tset_precision
H5Tenum_create
H5Tenum_insert
H5Tget_super
H5Tget_member_value
H5Tenum_nameof
H5Tenum_valueof
H5Tregister
H5T_isa
H5T_set_size
H5T_set_precision
H5T_set_offset
H5T_struct_insert
H5T_sort_value
H5T_sort_name
H5T_enum_insert
H5T_enum_nameof
H5T_enum_valueof
H5T_convert
H5T_print_stats
H5S_select_elements
H5S_select_all
H5S_select_none
H5S_select_serial_size
H5S_select_serialize
H5S_select_deserialize
H5S_point_select_serial_size
H5S_point_select_serialize
H5S_point_select_deserialize
H5S_hyper_node_release
H5S_hyper_select_serial_size
H5S_hyper_select_serialize
H5S_hyper_select_deserialize
H5S_all_select_deserialize
H5S_all_select_serialize
H5RA_isa
H5Pset_gc_references
H5AC_debug
H5AC_dest
H5AC_find
H5AC_flush
H5AC_protect
H5AC_rename
H5AC_set
H5AC_create
H5AC_unprotect
H5A_close
H5A_copy
H5A_create
H5A_entof
H5A_get_index
H5A_init_interface
H5A_open
H5A_read
H5A_write
H5Aclose
H5Acreate
H5Aget_name
H5Aget_num_attrs
H5Aget_space
H5Aget_type
H5Aiterate
H5Aopen_idx
H5Aopen_name
H5Aread
H5Awrite
H5B_assert
H5B_create
H5B_debug
H5B_decode_key
H5B_decode_keys
H5B_find
H5B_flush
H5B_insert
H5B_insert_child
H5B_insert_helper
H5B_iterate
H5B_load
H5B_nodesize
H5B_remove
H5B_remove_helper
H5B_split
H5D_allocate
H5D_close
H5D_create
H5D_extend
H5D_get_file
H5D_get_space
H5D_init_interface
H5D_init_storage
H5D_new
H5D_open
H5D_open_oid
H5D_read
H5D_typeof
H5D_write
H5Dclose
H5Dcreate
H5Dextend
H5Dget_create_plist
H5Dget_space
H5Dget_type
H5Dopen
H5Dread
H5Dwrite
H5E_clear
H5E_walk
H5Eclear
H5Eget_auto
H5Eprint
H5Eset_auto
H5Ewalk
H5F_addr_cmp
H5F_addr_defined
H5F_addr_zerop
H5F_arr_create
H5F_arr_read
H5F_arr_write
H5F_block_read
H5F_block_write
H5F_close
H5F_compare_files
H5F_core_access
H5F_core_close
H5F_core_open
H5F_core_read
H5F_core_write
H5F_debug
H5F_dest
H5F_fam_access
H5F_fam_close
H5F_fam_flush
H5F_fam_open
H5F_fam_read
H5F_fam_write
H5F_flush
H5F_init_interface
H5F_istore_allocate
H5F_istore_cmp2
H5F_istore_cmp3
H5F_istore_create
H5F_istore_debug
H5F_istore_debug_key
H5F_istore_decode_key
H5F_istore_dest
H5F_istore_encode_key
H5F_istore_flush
H5F_istore_flush_entry
H5F_istore_found
H5F_istore_get_addr
H5F_istore_init
H5F_istore_insert
H5F_istore_lock
H5F_istore_new_node
H5F_istore_preempt
H5F_istore_prune
H5F_istore_read
H5F_istore_stats
H5F_istore_unlock
H5F_istore_write
H5F_locate_signature
H5F_low_alloc
H5F_low_class
H5F_low_close
H5F_low_flush
H5F_low_open
H5F_low_read
H5F_low_seteof
H5F_low_size
H5F_low_write
H5F_mount
H5F_mountpoint
H5F_mpio_access
H5F_mpio_close
H5F_mpio_flush
H5F_mpio_open
H5F_mpio_read
H5F_mpio_tas_allsame
H5F_mpio_write
H5F_new
H5F_open
H5F_sec2_close
H5F_sec2_open
H5F_sec2_read
H5F_sec2_write
H5F_split_access
H5F_split_alloc
H5F_split_close
H5F_split_extend
H5F_split_flush
H5F_split_open
H5F_split_read
H5F_split_write
H5F_stdio_close
H5F_stdio_flush
H5F_stdio_open
H5F_stdio_read
H5F_stdio_write
H5F_unmount
H5Fclose
H5Fcreate
H5Fflush
H5Fget_access_plist
H5Fget_create_plist
H5Fis_hdf5
H5Fmount
H5Fopen
H5Freopen
H5Funmount
H5G_basename
H5G_close
H5G_create
H5G_ent_cache
H5G_ent_debug
H5G_ent_decode
H5G_ent_decode_vec
H5G_ent_encode
H5G_ent_encode_vec
H5G_ent_modified
H5G_find
H5G_get_comment
H5G_get_objinfo
H5G_getcwg
H5G_init_interface
H5G_insert
H5G_insertion_file
H5G_link
H5G_linkval
H5G_loc
H5G_mkroot
H5G_move
H5G_namei
H5G_node_cmp2
H5G_node_cmp3
H5G_node_create
H5G_node_debug
H5G_node_decode_key
H5G_node_encode_key
H5G_node_flush
H5G_node_found
H5G_node_insert
H5G_node_iterate
H5G_node_load
H5G_node_remove
H5G_open
H5G_pop
H5G_push
H5G_reopen
H5G_rootof
H5G_set
H5G_set_comment
H5G_stab_create
H5G_stab_find
H5G_stab_insert
H5G_stab_remove
H5G_traverse_slink
H5G_unlink
H5Gclose
H5Gcreate
H5Gget_comment
H5Gget_linkval
H5Gget_objinfo
H5Giterate
H5Glink
H5Gmove
H5Gopen
H5Gpop
H5Gpush
H5Gset
H5Gset_comment
H5Gunlink
H5HG_alloc
H5HG_create
H5HG_debug
H5HG_flush
H5HG_insert
H5HG_link
H5HG_load
H5HG_peek
H5HG_read
H5HG_remove
H5HL_create
H5HL_debug
H5HL_flush
H5HL_insert
H5HL_load
H5HL_peek
H5HL_read
H5HL_remove
H5HL_write
H5I_dec_ref
H5I_destroy_group
H5I_find_id
H5I_get_id_node
H5I_get_type
H5I_group
H5I_inc_ref
H5I_init_group
H5I_init_interface
H5I_object
H5I_register
H5I_release_id_node
H5I_remove
H5I_search
H5Iget_type
H5MF_acceptable
H5MF_alloc
H5MF_realloc
H5MF_xfree
H5MM_strdup
H5O_alloc
H5O_alloc_extend_chunk
H5O_alloc_new_chunk
H5O_attr_copy
H5O_attr_debug
H5O_attr_decode
H5O_attr_encode
H5O_attr_reset
H5O_attr_size
H5O_close
H5O_cont_debug
H5O_cont_decode
H5O_cont_encode
H5O_copy
H5O_count
H5O_create
H5O_debug
H5O_dtype_copy
H5O_dtype_debug
H5O_dtype_decode
H5O_dtype_decode_helper
H5O_dtype_encode
H5O_dtype_encode_helper
H5O_dtype_get_share
H5O_dtype_reset
H5O_dtype_set_share
H5O_dtype_size
H5O_efl_copy
H5O_efl_debug
H5O_efl_decode
H5O_efl_encode
H5O_efl_read
H5O_efl_reset
H5O_efl_size
H5O_efl_total_size
H5O_efl_write
H5O_find_in_ohdr
H5O_fill_decode
H5O_fill_encode
H5O_fill_copy
H5O_fill_size
H5O_fill_reset
H5O_fill_debug
H5O_fill_convert
H5O_flush
H5O_free
H5O_init_interface
H5O_layout_copy
H5O_layout_debug
H5O_layout_decode
H5O_layout_encode
H5O_layout_size
H5O_link
H5O_load
H5O_modify
H5O_mtime_copy
H5O_mtime_debug
H5O_mtime_decode
H5O_mtime_encode
H5O_mtime_size
H5O_name_copy
H5O_name_debug
H5O_name_decode
H5O_name_encode
H5O_name_reset
H5O_name_size
H5O_open
H5O_pline_copy
H5O_pline_debug
H5O_pline_decode
H5O_pline_encode
H5O_pline_reset
H5O_pline_size
H5O_read
H5O_remove
H5O_reset
H5O_sdspace_copy
H5O_sdspace_debug
H5O_sdspace_decode
H5O_sdspace_encode
H5O_sdspace_reset
H5O_sdspace_size
H5O_share
H5O_shared_debug
H5O_shared_decode
H5O_shared_encode
H5O_shared_size
H5O_stab_copy
H5O_stab_debug
H5O_stab_decode
H5O_stab_encode
H5O_stab_fast
H5O_stab_size
H5O_touch
H5O_touch_oh
H5P_close
H5P_copy
H5P_create
H5P_get_class
H5P_init_interface
H5PC_Signal_right_neighbor
H5PC_Wait_for_left_neighbor
H5PC_Wait_for_right_neighbor
H5Pclose
H5Pcopy
H5Pcreate
H5Pget_alignment
H5Pget_btree_ratios
H5Pget_buffer
H5Pget_cache
H5Pget_chunk
H5Pget_class
H5Pget_core
H5Pget_driver
H5Pget_external
H5Pget_external_count
H5Pget_family
H5Pget_fill_value
H5Pget_filter
H5Pget_hyper_cache
H5Pget_istore_k
H5Pget_layout
H5Pget_mpi
H5Pget_nfilters
H5Pget_sec2
H5Pget_sizes
H5Pget_split
H5Pget_stdio
H5Pget_sym_k
H5Pget_userblock
H5Pget_version
H5Pget_xfer
H5Pset_alignment
H5Pset_buffer
H5Pset_cache
H5Pset_chunk
H5Pset_core
H5Pset_deflate
H5Pset_external
H5Pset_family
H5Pset_fill_value
H5Pset_filter
H5Pset_hyper_cache
H5Pset_istore_k
H5Pset_layout
H5Pset_mpi
H5Pset_preserve
H5Pset_sec2
H5Pset_sizeof_addr
H5Pset_split
H5Pset_stdio
H5Pset_sym_k
H5Pset_userblock
H5Pset_xfer
H5R_close
H5R_create
H5R_dereference
H5R_fix_overflow
H5R_get_region
H5R_init_interface
H5R_open
H5R_read
H5R_write
H5Rclose
H5Rcreate
H5Rdereference
H5Rget_region
H5Ropen
H5Rread
H5Rwrite
H5RAcreate
H5RA_create
H5RAopen
H5RA_open
H5RAclose
H5RA_close
H5RA_init_interface
H5RAwrite
H5RA_write
H5RA_fix_overflow
H5RAread
H5RA_read
H5S_all_favail
H5S_all_fgath
H5S_all_fscat
H5S_all_init
H5S_all_mgath
H5S_all_mscat
H5S_all_npoints
H5S_all_release
H5S_close
H5S_cmp
H5S_copy
H5S_create
H5S_debug
H5S_extend
H5S_extent_copy
H5S_extent_release
H5S_find
H5S_get_npoints_max
H5S_get_select_npoints
H5S_get_simple_extent_dims
H5S_get_simple_extent_ndims
H5S_get_simple_extent_npoints
H5S_hyper_add
H5S_hyper_block_cache
H5S_hyper_block_read
H5S_hyper_block_write
H5S_hyper_bsearch
H5S_hyper_clip
H5S_hyper_copy
H5S_hyper_favail
H5S_hyper_fgath
H5S_hyper_fread
H5S_hyper_fscat
H5S_hyper_fwrite
H5S_hyper_get_regions
H5S_hyper_init
H5S_hyper_mgath
H5S_hyper_mread
H5S_hyper_mscat
H5S_hyper_mwrite
H5S_hyper_node_add
H5S_hyper_node_prepend
H5S_hyper_npoints
H5S_hyper_release
H5S_hyper_sel_iter_release
H5S_hyper_select_valid
H5S_init_interface
H5S_is_simple
H5S_modify
H5S_mpio_all_type
H5S_mpio_hyper_type
H5S_mpio_space_type
H5S_mpio_spaces_read
H5S_mpio_spaces_write
H5S_mpio_spaces_xfer
H5S_point_add
H5S_point_copy
H5S_point_favail
H5S_point_fgath
H5S_point_fscat
H5S_point_init
H5S_point_mgath
H5S_point_mscat
H5S_point_npoints
H5S_point_release
H5S_point_select_valid
H5S_read
H5S_register
H5S_release_simple
H5S_sel_iter_release
H5S_select_copy
H5S_select_hyperslab
H5S_select_init
H5S_select_release
H5S_select_valid
H5S_set_extent_simple
H5Sclose
H5Scopy
H5Screate
H5Screate_simple
H5Sget_select_npoints
H5Sget_simple_extent_dims
H5Sget_simple_extent_ndims
H5Sget_simple_extent_npoints
H5Sget_simple_extent_type
H5Sis_simple
H5Soffset_simple
H5Sselect_all
H5Sselect_elements
H5Sselect_hyperslab
H5Sselect_none
H5Sselect_valid
H5Sset_extent_none
H5Sset_extent_simple
H5TB_buf_ptr
H5TB_close
H5TB_garbage_coll
H5TB_get_buf
H5TB_init_interface
H5TB_release_buf
H5TB_resize_buf
H5T_bit_get_d
H5T_close
H5T_cmp
H5T_commit
H5T_conv_double_float
H5T_conv_f_f
H5T_conv_float_double
H5T_conv_i32le_f64le
H5T_conv_i_i
H5T_conv_noop
H5T_conv_order
H5T_conv_s_s
H5T_conv_struct
H5T_conv_struct_init
H5T_copy
H5T_create
H5T_debug
H5T_entof
H5T_equal
H5T_find
H5T_get_size
H5T_init
H5T_init_interface
H5T_insert
H5T_is_atomic
H5T_lock
H5T_open
H5T_pack
H5T_path_find
H5T_sort_by_offset
H5T_unlock_cb
H5Tclose
H5Tcommit
H5Tcommitted
H5Tconvert
H5Tcopy
H5Tcreate
H5Tequal
H5Tfind
H5Tget_class
H5Tget_cset
H5Tget_ebias
H5Tget_fields
H5Tget_inpad
H5Tget_member_dims
H5Tget_member_name
H5Tget_member_offset
H5Tget_member_type
H5Tget_norm
H5Tget_num_members
H5Tget_offset
H5Tget_order
H5Tget_overflow
H5Tget_pad
H5Tget_precision
H5Tget_sign
H5Tget_size
H5Tget_strpad
H5Tinsert
H5Tinsert_array
H5Tlock
H5Topen
H5Tpack
H5Tregister_hard
H5Tregister_soft
H5Tset_cset
H5Tset_ebias
H5Tset_fields
H5Tset_inpad
H5Tset_norm
H5Tset_offset
H5Tset_order
H5Tset_overflow
H5Tset_pad
H5Tset_prec
H5Tset_sign
H5Tset_size
H5Tset_strpad
H5Tunregister
H5V_array_fill
H5V_hyper_copy
H5V_hyper_fill
H5V_hyper_stride
H5V_stride_copy
H5V_stride_copy2
H5V_stride_fill
H5V_stride_optimize1
H5V_stride_optimize2
H5Z_append
H5Z_filter_deflate
H5Z_find
H5Z_init_interface
H5Z_pipeline
H5Z_register
H5Zregister
H5_add_exit
H5_init_interface
H5_init_library
H5_init_thread
H5dont_atexit
H5get_libversion
H5open
H5D_isa
H5F_init
H5G_register_type
H5G_isa
H5G_get_type
H5O_exists

86
pablo/HDFmpioProtos.h Normal file
View File

@ -0,0 +1,86 @@
#define MPI_File_open HDF_MPI_File_open
#define MPI_File_close HDF_MPI_File_close
#define MPI_File_delete HDF_MPI_File_delete
#define MPI_File_set_size HDF_MPI_File_set_size
#define MPI_File_preallocate HDF_MPI_File_preallocate
#define MPI_File_get_size HDF_MPI_File_get_size
#define MPI_File_get_group HDF_MPI_File_get_group
#define MPI_File_get_amode HDF_MPI_File_get_amode
#define MPI_File_set_view HDF_MPI_File_set_view
#define MPI_File_get_view HDF_MPI_File_get_view
#define MPI_File_read_at HDF_MPI_File_read_at
#define MPI_File_read_at_all HDF_MPI_File_read_at_all
#define MPI_File_write_at HDF_MPI_File_write_at
#define MPI_File_write_at_all HDF_MPI_File_write_at_all
#define MPI_File_iread_at HDF_MPI_File_iread_at
#define MPI_File_iwrite_at HDF_MPI_File_iwrite_at
#define MPI_File_read HDF_MPI_File_read
#define MPI_File_read_all HDF_MPI_File_read_all
#define MPI_File_write HDF_MPI_File_write
#define MPI_File_write_all HDF_MPI_File_write_all
#define MPI_File_iread HDF_MPI_File_iread
#define MPI_File_iwrite HDF_MPI_File_iwrite
#define MPI_File_seek HDF_MPI_File_seek
#define MPI_File_get_position HDF_MPI_File_get_position
#define MPI_File_get_byte_offset HDF_MPI_File_get_byte_offset
#define MPI_File_get_type_extent HDF_MPI_File_get_type_extent
#define MPI_File_set_atomicity HDF_MPI_File_set_atomicity
#define MPI_File_get_atomicity HDF_MPI_File_get_atomicity
#define MPI_File_sync HDF_MPI_File_sync
int HDF_MPI_File_open( MPI_Comm comm, char *filename, int amode,
MPI_Info info, MPI_File *fh );
int HDF_MPI_File_close( MPI_File *fh );
int HDF_MPI_File_delete( char *filename, MPI_Info info );
int HDF_MPI_File_set_size( MPI_File fh, MPI_Offset size );
int HDF_MPI_File_preallocate( MPI_File fh, MPI_Offset size);
int HDF_MPI_File_get_size( MPI_File fh, MPI_Offset *size );
int HDF_MPI_File_get_group( MPI_File fh, MPI_Group *group );
int HDF_MPI_File_get_amode( MPI_File fh, int *amode );
int HDF_MPI_File_set_view( MPI_File fh, MPI_Offset disp, MPI_Datatype etype,
MPI_Datatype filetype, char *datarep,
MPI_Info info );
int HDF_MPI_File_get_view( MPI_File fh, MPI_Offset *disp,
MPI_Datatype *etype, MPI_Datatype *filetype,
char *datarep );
int HDF_MPI_File_read_at( MPI_File fh, MPI_Offset offset, void *buf,
int count, MPI_Datatype datatype,
MPI_Status *status );
int HDF_MPI_File_read_at_all( MPI_File fh, MPI_Offset offset, void *buf,
int count, MPI_Datatype datatype,
MPI_Status *status );
int HDF_MPI_File_write_at( MPI_File fh, MPI_Offset offset, void *buf,
int count, MPI_Datatype datatype,
MPI_Status *status );
int HDF_MPI_File_write_at_all( MPI_File fh, MPI_Offset offset, void *buf,
int count, MPI_Datatype datatype,
MPI_Status *status );
int HDF_MPI_File_iread_at( MPI_File fh, MPI_Offset offset, void *buf,
int count, MPI_Datatype datatype,
MPIO_Request *request );
int HDF_MPI_File_iwrite_at( MPI_File fh, MPI_Offset offset, void *buf,
int count, MPI_Datatype datatype,
MPIO_Request *request );
int HDF_MPI_File_read( MPI_File fh, void *buf, int count,
MPI_Datatype datatype, MPI_Status *status );
int HDF_MPI_File_read_all( MPI_File fh, void *buf, int count,
MPI_Datatype datatype, MPI_Status *status );
int HDF_MPI_File_write( MPI_File fh, void *buf, int count,
MPI_Datatype datatype, MPI_Status *status );
int HDF_MPI_File_write_all( MPI_File fh, void *buf, int count,
MPI_Datatype datatype, MPI_Status *status );
int HDF_MPI_File_iread( MPI_File fh, void *buf, int count,
MPI_Datatype datatype, MPIO_Request *request );
int HDF_MPI_File_iwrite( MPI_File fh, void *buf, int count,
MPI_Datatype datatype, MPIO_Request *request );
int HDF_MPI_File_seek( MPI_File fh,
MPI_Offset offset, int whence ) ;
int HDF_MPI_File_get_position( MPI_File fh, MPI_Offset *offset );
int HDF_MPI_File_get_byte_offset( MPI_File fh, MPI_Offset offset,
MPI_Offset *disp) ;
int HDF_MPI_File_get_type_extent( MPI_File fh, MPI_Datatype datatype,
MPI_Aint *extent );
int HDF_MPI_File_set_atomicity( MPI_File fh, int flag );
int HDF_MPI_File_get_atomicity( MPI_File fh, int *flag );
int HDF_MPI_File_sync( MPI_File fh );

176
pablo/HDFrecord_RT.h Normal file
View File

@ -0,0 +1,176 @@
/*
* 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-1996
* 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.
*
* Author: Dan Wells (dwells@cs.uiuc.edu)
*
* Project Manager and Principal Investigator:
* Daniel A. Reed (reed@cs.uiuc.edu)
*
* Funded in part by National Science Foundation grants NSF CCR87-06653
* and NSF CDA87-22836 (Tapestry), DARPA contracts DABT63-91-K-0004,
* DABT63-93-C-0040, DABT63-94-C-0049 (SIO), and F30602-96-C-0161, NASA
* contracts NAG-1-613 (ICLASS), USRA 5555-22, and NGT-51023, and a
* collaborative research agreement with the Intel Supercomputer
* Systems Division
*/
/*
* HDFrecord.h: Class to represent HDF records.
*
* $Header$
*/
#ifndef HDFRECORD_RT_H
#define HDFRECORD_RT_H
#ifndef NULL
#define NULL 0
#endif
#include <string.h>
#include <stdlib.h>
#include <limits.h>
#include "ProcIDs.h"
#ifndef min
#define min( x , y ) ( x <= y ? x : y )
#endif
#ifndef max
#define max( x , y ) ( x >= y ? x : y )
#endif
/*======================================================================*
// Enumeration of time fields in an HDFrec_t below *
//======================================================================*/
enum TimeFields { HDF_, MPI, Malloc, AllIO, Open, Close, Read, Write, ARead,
AWrite, Seek, Wait, Misc, nTallyFields };
/*======================================================================*
// Enumeration of byte fields in an HDFrec_t below *
//======================================================================*/
enum ByteFields{ MallocBytes, ReadBytes, WriteBytes, AReadBytes, AWriteBytes,
nByteFields };
/*======================================================================*
// Definition of first and last IO event. *
//======================================================================*/
#define FirstIO Open
#define LastIO Misc
#define nBkts 4
#define ONEK 1024
int BktLim[] = { 1, 4*ONEK, 64*ONEK, 256*ONEK, INT_MAX } ;
/*======================================================================*
// Definition of structure used to account activity in an HDF call *
//======================================================================*/
typedef struct {
int nCalls; /* number of proc calls */
CLOCK lastCall; /* time of last call */
CLOCK incDur; /* inclusive duration */
CLOCK excDur; /* exclusive duration */
CLOCK times[nTallyFields]; /* Tally op/calls times */
int counts[nTallyFields]; /* Tally op/calls counts */
int bytes[nByteFields]; /* Tally bytes transferred */
int Hists[nByteFields][nBkts]; /* Historgrams */
long hdfID; /* data set ID */
long xRef; /* data set cross reference */
} HDFrec_t;
/*======================================================================*
// Node used to maintain linked lists of HDF procedure activity. *
//======================================================================*/
typedef struct HDFnode {
CLOCK lastIOtime; /* last IO time stamp */
HDFrec_t record; /* data */
struct HDFnode *ptr; /* link pointer */
int eventID; /* event ID */
} HDFnode_t;
/*======================================================================*
// Structure used to produce SDDF packets for Named identifiers. *
//======================================================================*/
typedef struct {
int packetLength; /* bytes in packet */
int packetType; /* == PKT_DATA */
int packetTag; /* == FAMILY_<name> */
int fileType; /* Type of data set */
int fileID; /* File ID */
int nameLen; /* length of file */
} HDFNamePacket_t;
/*======================================================================*
// Node used to form linked lists to track named identifiers. *
//======================================================================*/
typedef struct fileRec {
struct fileRec *ptr;
long hdfID;
long PabloID;
char *fileName;
} fileRec_t;
/*=======================================================================
// Utility programs to determine field index for a given eventID *
//=====================================================================*/
int getHDFFieldIndex( int eventID );
int getHDFByteFieldIndex( int eventID );
/*
* Define flags to distinguish misc i/o begin from misc i/o end
*/
#define MISC_BEGIN 0
#define MISC_END 1
#endif /* HDFRECORD_RT_H */

View File

@ -31,14 +31,18 @@ LIB_SRC=H5.c H5A.c H5AC.c H5B.c H5D.c H5E.c H5F.c H5Farray.c H5Fcore.c \
H5Olayout.c H5Omtime.c H5Oname.c H5Onull.c H5Osdspace.c H5Oshared.c \
H5Ostab.c H5P.c H5R.c H5RA.c H5S.c H5Sall.c H5Shyper.c H5Smpio.c \
H5Snone.c H5Spoint.c H5Sselect.c H5T.c H5Tbit.c H5Tconv.c H5Tinit.c \
H5TB.c H5V.c H5Z.c PabloHDF5.c PabloHDF_RT.c PabloHDF_SDDF.c
H5TB.c H5V.c H5Z.c PabloHDF.c PabloHDF_RT.c PabloHDF_SDDF.c
LIB_OBJ=$(LIB_SRC:.c=.o)
# Temporary files
MOSTLYCLEAN=H5detect.o H5detect H5Tinit.o H5Tinit.c
# Public header files (to be installed)...
# Pablo header files (to be installed)...
PABLO_HDR = HDFentryNames.h HDFidList.h ProcIDs.h HDFTrace.h ProcTrace.h \
ProcTrace.inc
# Public header files ...
PUB_HDR=H5public.h H5Apublic.h H5ACpublic.h H5Bpublic.h H5Dpublic.h \
H5Epublic.h H5Fpublic.h H5Gpublic.h H5HGpublic.h H5HLpublic.h \
H5Ipublic.h H5MFpublic.h H5MMpublic.h H5Opublic.h H5Ppublic.h \
@ -93,6 +97,12 @@ install: $(LIB)
(set -x; $(INSTALL_DATA) $$f $(libdir)/. || exit 1); \
fi; \
done
@test -d $(includedir) || mkdir $(includedir)
@for f in X $(PABLO_HDR); do \
if test $$f != X; then \
(set -x; $(INSTALL_DATA) $$f $(includedir)/. || exit 1); \
fi \
done
# Removes those things that `make install' (would have) installed.
uninstall:
@ -110,7 +120,7 @@ mostlyclean:
# is part of the HDF5 distribution.
#
clean: mostlyclean
$(RM) $(LIB) $(TESTS) $(PROGS) $(CLEAN)
$(RM) $(LIB) $(TESTS) $(PROGS) $(CLEAN) $(PABLO_CLEAN)
# Like `clean' except it also removes files that were created by running
# configure. If you've unpacked the source and built HDF5 without creating
@ -138,10 +148,44 @@ maintainer-clean: distclean
.c.o:
$(CC) $(CFLAGS) $(CPPFLAGS) -c ../src/$*.c
PABLO_INCLUDES = HDFentryNames.h HDFidList.h HDF5record_RT.h ProcIDs.h \
ProcTrace.h
PABLO_INCLUDES = HDFentryNames.h HDFidList.h ProcIDs.h HDFTrace.h ProcTrace.h \
ProcTrace.inc
PabloHDF5.o: PabloHDF5.c $(PABLO_INCLUDES)
PABLO_CLEAN = HDFentryNames.h HDFidList.h ProcMasks.h HDFentries.txt
HDFentries.txt: ../src/*.c
grep "FUNC_ENTER.*(H5" ../src/*.c | \
sed "s/.*(H5/H5/;s/[,)].*//" | sort -u > $@
HDFentryNames.h: HDFentries.txt
sed "s/.*/\"&\",/" $? > $@
HDFidList.h: HDFentries.txt
sed "s/.*/ID_&,/" $? > $@
echo ID_ALLHDF, >> $@
grep "#define[ ]*PABLO_MASK" ../src/*.c | \
sed "s/.*H5/ID_H5/;s/mask.*/c,/" | sort -u >> $@
ProcMasks.h: ../src/*.c
grep "#define[ ]*PABLO_MASK" ../src/*.c | \
sed "s/.*[ ]H5/H5/;s/_mask.*//;s/.*/#define &_mask ID_&_c/" >$@
ProcIDs.h: HDFidList.h ProcMasks.h
ProcTrace.inc: HDFidList.h
sed "=" $? | sed -f PabloSedscr > $@
echo " integer RuntimeTrace" >> $@
echo " integer SummaryTrace" >> $@
echo " integer MPIRuntimeTrace" >> $@
echo " integer MPISummaryTrace" >> $@
echo " integer NoTrace" >> $@
echo " parameter (RuntimeTrace = 0)" >> $@
echo " parameter (SummaryTrace = 1)" >> $@
echo " parameter (MPIRuntimeTrace = 2)" >> $@
echo " parameter (MPISummaryTrace = 3)" >> $@
echo " parameter (NoTrace = 4)" >> $@
PabloHDF.o: PabloHDF.c $(PABLO_INCLUDES)
$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
PabloHDF_RT.o: PabloHDF_RT.c $(PABLO_INCLUDES)
@ -149,13 +193,6 @@ PabloHDF_RT.o: PabloHDF_RT.c $(PABLO_INCLUDES)
PabloHDF_SDDF.o: PabloHDF_SDDF.c $(PABLO_INCLUDES)
$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
HDFentryNames.h: HDFentries.txt
sort $? | sed "s/.*/\"&\",/" > $@
HDFidList.h: HDFentries.txt
sort $? | sed "s/.*/ID_&,/" > $@
#------------------------------------------------------------------------------
# The following section of this makefile contains dependencies between the
# source files and the header files. If GNU make and GCC are being used then