HARM
harm and utilities
 All Data Structures Files Functions Variables Typedefs Macros Pages
mympi.global.funcdeclare.h
Go to the documentation of this file.
1 
6 
7 //
8 // OpenMP and MPI -related function declarations
9 //
11 
12 
13 
14 
15 
17 //
18 // OpenMP-related function declarations
19 //
21 
22 
23 int init_OPENMP_general(FILE *out);
25 void get_report_openmp_thread_info(FILE * out);
26 
27 
28 
29 
30 
32 //
33 // MPI-related function declarations
34 //
36 
37 
38 
39 #if(DOINGLIAISON)
40 extern void test_nonliaison(void);
41 #endif
42 
43 
44 
45 
46 extern void mpi_set_arrays(void);
47 extern void mpi_set_arrays_multidimen(void);
48 extern void init_genfiles(int gopp);
49 extern int init_MPI_general(int *argc, char **argv[]);
50 extern int init_MPI_GRMHD(int *argc, char **argv[]);
51 extern int init_default_MPI_GRMHD_myid(void);
52 extern int init_MPI_GRMHD_myid(void);
53 extern int report_myid(FILE *out);
54 extern void init_MPI_setupfilesandgrid(int argc, char *argv[]);
55 extern void init_placeongrid_gridlocation(void);
56 extern void init_placeongrid_griddecomposition(void);
57 extern int myexit(int call_code);
58 extern int final_myexit(void);
59 
60 extern int bound_mpi_dir(int boundstage, int finalstep, int whichdir, int boundtype, FTYPE (*prim)[NSTORE2][NSTORE3][NPR], FTYPE (*F1)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE (*F2)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE (*F3)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE (*vpot)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3]);
61 
62 extern int bound_mpi(int boundstage, int finalstep, int fakedir, int boundtype, FTYPE (*prim)[NSTORE2][NSTORE3][NPR], FTYPE (*F1)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE (*F2)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE (*F3)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE (*vpot)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3]);
63 
64 extern int bound_mpi_int_dir(int boundstage, int finalstep, int whichdir, int boundtype, PFTYPE (*prim)[NSTORE2][NSTORE3][NUMPFLAGS]);
65 extern int bound_mpi_int(int boundstage, int finalstep, int fakedir, int boundtype, PFTYPE (*prim)[NSTORE2][NSTORE3][NUMPFLAGS]);
66 
67 extern void pack(int dir, int boundtype, FTYPE (*prim)[NSTORE2][NSTORE3][NPR], FTYPE (*flux)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE (*vpot)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], FTYPE (*workbc)[COMPDIM * 2][NMAXBOUND * NBIGBND * NBIGSM]);
68 extern void unpack(int dir, int boundtype, FTYPE (*workbc)[COMPDIM * 2][NMAXBOUND * NBIGBND * NBIGSM],FTYPE (*prim)[NSTORE2][NSTORE3][NPR], FTYPE (*flux)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE (*vpot)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3]);
69 extern void pack_int(int dir, int boundtype, PFTYPE (*prim)[NSTORE2][NSTORE3][NUMPFLAGS],PFTYPE (*workbc_int)[COMPDIM * 2][NUMPFLAGSBOUND * NBIGBND * NBIGSM]);
70 extern void unpack_int(int dir, int boundtype, PFTYPE (*workbc_int)[COMPDIM * 2][NUMPFLAGSBOUND * NBIGBND * NBIGSM],PFTYPE (*prim)[NSTORE2][NSTORE3][NUMPFLAGS]);
71 
72 extern int bound_mpi_int_fakeutoprimmpiinconsisent(int boundstage, int finalstep, int fakedir, int boundvartype, PFTYPE (*prim)[NSTORE2][NSTORE3][NUMPFLAGS], int fakevalue);
73 extern void unpack_int_fakeutoprimmpiinconsisent(int dir, int boundtype, PFTYPE (*workbc_int)[COMPDIM * 2][NUMPFLAGSBOUND * NBIGBND * NBIGSM],PFTYPE (*prim)[NSTORE2][NSTORE3][NUMPFLAGS], int fakevalue);
74 
75 
76 extern void recvonly(int dir,int boundtype,FTYPE (*workbc)[COMPDIM * 2][NMAXBOUND * NBIGBND * NBIGSM],MPI_Request *requests);
77 extern void sendonly(int dir,int boundtype,FTYPE (*workbc)[COMPDIM * 2][NMAXBOUND * NBIGBND * NBIGSM],MPI_Request *requests);
78 extern void recvonly_int(int dir, int boundtype, PFTYPE (*workbc_int)[COMPDIM * 2][NUMPFLAGSBOUND * NBIGBND * NBIGSM],MPI_Request *requests);
79 extern void sendonly_int(int dir, int boundtype, PFTYPE (*workbc_int)[COMPDIM * 2][NUMPFLAGSBOUND * NBIGBND * NBIGSM],MPI_Request *requests);
80 extern void recvwait(int dir,MPI_Request *request);
81 extern void sendwait(int dir,MPI_Request *request);
82 
83 extern void mpimax(SFTYPE*maxptr);
84 extern void mpiimax(int*maxptr);
85 extern void mpimin(SFTYPE*minptr);
86 extern void mpiisum(int*maxptr);
87 extern void mpiisum0(int*sumptr, int recvid);
88 extern void mpildsum0(long int*sumptr, int recvid);
89 extern void mpifmin(FTYPE*minptr);
90 
91 extern int set_sizeofmemory(int numbuff, int sizeofdatatype, int numcolumns, long long int *sizeofmemory);
92 extern int set_maxnumsize(int numcolumns, long long int *maxnumsize);
93 extern int set_numbuffers(int numcolumns, int *numbuffers);
94 extern long long int gcountmod(int numcolumns);
95 
96 extern int getsizeofdatatype(MPI_Datatype datatype);
97 
98 extern void mpiio_init(int bintxt, int sorted, FILE ** fp, long headerbytesize, int which, char *filename, int numcolumns,
99  MPI_Datatype datatype, void **jonio, void **writebuf);
100 
101 extern void mpiio_final(int bintxt, int sorted, FILE ** fpptr, long headerbytesize, int which, char *filename, int numcolumns, MPI_Datatype datatype, void **jonioptr, void **writebufptr);
102 
103 extern void mpiio_combine(int bintxt, int sorted,
104  int numcolumns, MPI_Datatype datatype,
105  FILE ** fp, void *jonio, void *writebuf);
106 extern void mpiio_seperate(int bintxt, int sorted, int stage,
107  int numcolumns,
108  MPI_Datatype datatype, FILE ** fp, void *jonio,
109  void *writebuf);
110 extern void mpiios_init(int bintxt, int sorted, FILE ** fp, int which, int headerbytesize, char *filename, int numcolumns,
111  MPI_Datatype datatype, void **jonio, void **writebuf);
112 extern void mpiiomin_final(int numcolumns,FILE **fp, void *jonio, void *writebuf);
113 extern void mpiio_minmem(int readwrite, int whichdump, int i, int j, int k, int bintxt, int sorted,
114  int numcolumns, MPI_Datatype datatype,
115  FILE ** fpptr, void *jonio, void *writebuf);
116 
117 
118 extern void mpiioromio_init_combine(int operationtype, int which, long headerbytesize, char *filename, int numcolumns,MPI_Datatype datatype, void **writebufptr, void *writebuf);
119 
120 extern void mpiios_combine(int bintxt, MPI_Datatype datatype, int numcolumns,
121  FILE ** fp, void *jonio, void *writebuf);
122 extern void mpiios_seperate(int bintxt, int stage, MPI_Datatype datatype, int numcolumns,
123  FILE ** fp, void *jonio,
124  void *writebuf);
125 extern void mpiiotu_combine(MPI_Datatype datatype, int numcolumns,
126  FILE ** fp, void *writebuf);
127 extern void mpiiotu_seperate(int stage, MPI_Datatype datatype, int numcolumns,
128  FILE ** fp,void *writebuf);
129 
130 
131 
132 
133 
134 
135 
136 // END
137 //
139