SIONlib  1.7.4
Scalable I/O library for parallel access to task-local files
partest_util.h
1 /****************************************************************************
2 ** SIONLIB http://www.fz-juelich.de/jsc/sionlib **
3 *****************************************************************************
4 ** Copyright (c) 2008-2019 **
5 ** Forschungszentrum Juelich, Juelich Supercomputing Centre **
6 ** **
7 ** See the file COPYRIGHT in the package base directory for details **
8 ****************************************************************************/
9 
10 #ifndef PARTEST_UTIL_H_
11 #define PARTEST_UTIL_H_
12 
13 #include "sion.h"
14 #include "partest_opts.h"
15 #include "partest_split_comm.h"
16 
17 #define TIMINGS_MSGS 0
18 #define TIMINGS_WR_CREATE 1
19 #define TIMINGS_WR_CREATE_BARR_OPEN 2
20 #define TIMINGS_WR_CREATE_BARR_CLOSE 3
21 #define TIMINGS_WR_CREATE_CLOSE 4
22 #define TIMINGS_WR_OPEN 5
23 #define TIMINGS_WR_OPEN_BARR_FILE 6
24 #define TIMINGS_WR_OPEN_BARR_GLOBAL 7
25 #define TIMINGS_WR_WRITE_SYNC 8
26 #define TIMINGS_WR_WRITE 9
27 #define TIMINGS_WR_WRITE_BARR_FILE 10
28 #define TIMINGS_WR_WRITE_BARR_GLOBAL 11
29 #define TIMINGS_WR_CLOSE 12
30 #define TIMINGS_WR_CLOSE_BARR_FILE 13
31 #define TIMINGS_WR_CLOSE_BARR_GLOBAL 14
32 #define TIMINGS_WR_TOTAL 15
33 #define TIMINGS_RD_OPEN 16
34 #define TIMINGS_RD_OPEN_BARR_FILE 17
35 #define TIMINGS_RD_OPEN_BARR_GLOBAL 18
36 #define TIMINGS_RD_READ_SYNC 19
37 #define TIMINGS_RD_READ 20
38 #define TIMINGS_RD_READ_BARR_FILE 21
39 #define TIMINGS_RD_READ_BARR_GLOBAL 22
40 #define TIMINGS_RD_CLOSE 23
41 #define TIMINGS_RD_CLOSE_BARR_FILE 24
42 #define TIMINGS_RD_CLOSE_BARR_GLOBAL 25
43 #define TIMINGS_RD_TOTAL 26
44 #define TIMINGS_MAX_NUM 27
45 
46 #define STATS_BYTES_WR_WROTE 0
47 #define STATS_BYTES_WR_NUM_CHUNKS 1
48 #define STATS_BYTES_RD_READ 2
49 #define STATS_BYTES_RD_NUM_CHUNKS 3
50 #define STATS_WR_NUM_FILES 4
51 #define STATS_RD_NUM_FILES 5
52 #define STATS_MAX_NUM 6
53 
54 #define TIMINGS_METHOD_WRITE 0
55 #define TIMINGS_METHOD_READ 1
56 
57 #define toMiB (1024.0 * 1024.0)
58 #define toMB (1000.0 * 1000.0)
59 
60 int barrier_after_start (MPI_Comm comm);
61 int barrier_after_malloc(MPI_Comm comm);
62 int barrier_after_open (MPI_Comm comm);
63 int barrier_after_write (MPI_Comm comm);
64 int barrier_after_read (MPI_Comm comm);
65 int barrier_after_close (MPI_Comm comm);
66 int barrier_before_unlink (MPI_Comm comm);
67 int barrier_after_unlink (MPI_Comm comm);
68 
69 int write_timings ( char *set, int method, double *timings, sion_int64 *stats,
70  _test_communicators *communicators,
71  _test_options *options,
72  int collective);
73 
74 int collective_print_gather ( char* cbuffer, MPI_Comm comm);
75 int collective_print ( char* cbuffer, MPI_Comm comm);
76 
77 
78 #endif /* PARTEST_H_ */