1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #ifndef AD_GPFS_AGGRS_H_
17 #define AD_GPFS_AGGRS_H_
18
19 #include "adio.h"
20 #include <sys/stat.h>
21
22 #ifdef HAVE_GPFS_H
23 #include <gpfs.h>
24 #endif
25
26
27
28 void ADIOI_GPFS_Calc_file_domains(ADIO_File fd,
29 ADIO_Offset *st_offsets,
30 ADIO_Offset *end_offsets,
31 int nprocs,
32 int nprocs_for_coll,
33 ADIO_Offset *min_st_offset_ptr,
34 ADIO_Offset **fd_start_ptr,
35 ADIO_Offset **fd_end_ptr,
36 ADIO_Offset *fd_size_ptr,
37 void *fs_ptr);
38
39
40
41 int ADIOI_GPFS_Calc_aggregator(ADIO_File fd,
42 ADIO_Offset off,
43 ADIO_Offset min_off,
44 ADIO_Offset *len,
45 ADIO_Offset fd_size,
46 ADIO_Offset *fd_start,
47 ADIO_Offset *fd_end);
48
49
50
51 void ADIOI_GPFS_Calc_my_req ( ADIO_File fd, ADIO_Offset *offset_list, ADIO_Offset *len_list,
52 int contig_access_count, ADIO_Offset
53 min_st_offset, ADIO_Offset *fd_start,
54 ADIO_Offset *fd_end, ADIO_Offset fd_size,
55 int nprocs,
56 int *count_my_req_procs_ptr,
57 int **count_my_req_per_proc_ptr,
58 ADIOI_Access **my_req_ptr,
59 int **buf_idx_ptr);
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 void ADIOI_GPFS_Calc_others_req(ADIO_File fd, int count_my_req_procs,
79 int *count_my_req_per_proc,
80 ADIOI_Access *my_req,
81 int nprocs, int myrank,
82 int *count_others_req_procs_ptr,
83 ADIOI_Access **others_req_ptr);
84
85
86 #endif