hdf5/perform/pio_perf.h
Albert Cheng a1c37b6eb8 [svn-r4964] Purpose:
Change default actions.
Description:
    Change the default maximum number of processes (-P) to use all processes
    instead of just 1 (old default).  Someone most likely wants to test
    the I/O performance with all processes involved.
    Also starts performance measurement with maximum number of processes
    and decrement it with each loop.  If the performance measurement
    needs to restart, it can run with fewer processes if those loops
    have completed.
Platforms tested:
    modi4 and eirene.
2002-02-14 10:51:12 -05:00

63 lines
1.8 KiB
C

/*
* Copyright (C) 2001
* National Center for Supercomputing Applications
* All rights reserved.
*
*/
#ifndef PIO_PERF_H__
#define PIO_PERF_H__
#include "pio_timer.h"
typedef enum iotype_ {
RAW,
MPIO,
PHDF5
/*NUM_TYPES*/
} iotype;
typedef struct parameters_ {
iotype io_type; /* The type of IO test to perform */
int num_procs; /* Maximum number of processes to use */
int num_files; /* Number of files to create */
long num_dsets; /* Number of datasets to create */
long num_elmts; /* Number of native ints in each dset */
int num_iters; /* Number of times to loop doing the IO */
long buf_size; /* Buffer size */
} parameters;
typedef struct results_ {
herr_t ret_code;
pio_time *timers;
} results;
#ifndef SUCCESS
#define SUCCESS 0
#endif /* !SUCCESS */
#ifndef FAIL
#define FAIL -1
#endif /* !FAIL */
extern int comm_world_rank_g; /* my rank in MPI_COMM_RANK */
extern int comm_world_nprocs_g;/* num. of processes of MPI_COMM_WORLD */
extern MPI_Comm pio_comm_g; /* Communicator to run the PIO */
extern int pio_mpi_rank_g; /* MPI rank of pio_comm_g */
extern int pio_mpi_nprocs_g; /* number of processes of pio_comm_g */
extern int pio_debug_level; /* The debug level:
* 0 - Off
* 1 - Minimal
* 2 - Some more
* 3 - Maximal
*/
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
extern results do_pio(parameters param);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* PIO_PERF_H__ */