00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 #ifndef SIO_PERF_H__
00016 #define SIO_PERF_H__
00017 
00018 #include "sio_timer.h"
00019 #ifndef STANDALONE
00020 #include "H5private.h"
00021 #include "h5test.h"
00022 #include "h5tools_utils.h"
00023 #else
00024 #include "sio_standalone.h"
00025 #endif
00026 
00027 
00028 #if H5_VERS_MAJOR > 1 || H5_VERS_MINOR > 4
00029 #define H5_HAVE_NOFILL 1
00030 #endif
00031 
00032 #define MAX_DIMS 32
00033 
00034 typedef enum iotype_ {
00035     POSIXIO,
00036     HDF5
00037     
00038 } iotype;
00039 
00040 typedef enum vfdtype_ {
00041     sec2,
00042     stdio,
00043     core,
00044     split,
00045     multi,
00046     family,
00047     direct
00048     
00049 } vfdtype;
00050 
00051 typedef struct parameters_ {
00052     iotype      io_type;        
00053     vfdtype     vfd;
00054     long        num_files;      
00055     long        num_dsets;      
00056     off_t       num_bytes;      
00057     int         num_iters;      
00058     int         rank;           
00059     off_t       dset_size[MAX_DIMS]; 
00060     size_t      buf_size[MAX_DIMS]; 
00061     size_t      chk_size[MAX_DIMS]; 
00062     int         order[MAX_DIMS]; 
00063     hsize_t     h5_align;       
00064     hsize_t     h5_thresh;      
00065     int         h5_use_chunks;  
00066     int         h5_extendable;  
00067     int         h5_write_only;  
00068     unsigned    h5_use_mpi_posix;   
00069     int         verify;         
00070 } parameters;
00071 
00072 typedef struct results_ {
00073     herr_t      ret_code;
00074     sio_time   *timers;
00075 } results;
00076 
00077 #ifndef SUCCESS
00078 #define SUCCESS     0
00079 #endif  
00080 
00081 #ifndef FAIL
00082 #define FAIL        -1
00083 #endif  
00084 
00085 extern FILE     *output;            
00086 extern sio_time *timer_g;           
00087 extern int      sio_debug_level;    
00088 
00089 
00090 
00091 
00092 
00093 
00094 #ifdef __cplusplus
00095 extern "C" {
00096 #endif  
00097 
00098 extern results do_sio(parameters param);
00099 
00100 #ifdef __cplusplus
00101 }
00102 #endif  
00103 
00104 #endif