1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #ifndef MCA_COMMON_OMPIO_PRINT_QUEUE_H
24 #define MCA_COMMON_OMPIO_PRINT_QUEUE_H
25
26
27 #include "mpi.h"
28
29 #define MCA_COMMON_OMPIO_QUEUESIZE 2048
30
31
32 struct mca_common_ompio_print_entry{
33 double time[3];
34 int nprocs_for_coll;
35 int aggregator;
36 };
37
38 typedef struct mca_common_ompio_print_entry mca_common_ompio_print_entry;
39
40 struct mca_common_ompio_print_queue {
41 mca_common_ompio_print_entry entry[MCA_COMMON_OMPIO_QUEUESIZE + 1];
42 int first;
43 int last;
44 int count;
45 };
46 typedef struct mca_common_ompio_print_queue mca_common_ompio_print_queue;
47
48
49 OMPI_DECLSPEC int mca_common_ompio_register_print_entry (struct mca_common_ompio_print_queue *q,
50 mca_common_ompio_print_entry x);
51
52 OMPI_DECLSPEC int mca_common_ompio_unregister_print_entry (struct mca_common_ompio_print_queue *q,
53 mca_common_ompio_print_entry *x);
54
55 OMPI_DECLSPEC int mca_common_ompio_empty_print_queue( struct mca_common_ompio_print_queue *q);
56
57 OMPI_DECLSPEC int mca_common_ompio_full_print_queue( struct mca_common_ompio_print_queue *q);
58
59 OMPI_DECLSPEC int mca_common_ompio_initialize_print_queue(struct mca_common_ompio_print_queue **q);
60
61 OMPI_DECLSPEC int mca_common_ompio_print_time_info( struct mca_common_ompio_print_queue *q,
62 char *name_operation, struct ompio_file_t *fh);
63
64
65 END_C_DECLS
66
67 #endif