1
/* $Id: ga.h,v 1.60.2.8 2007-10-10 21:11:04 manoj Exp $ */
16
typedef Integer ga_nbhdl_t;
18
extern void GA_Abs_value(int g_a);
19
extern void GA_Abs_value_patch(int g_a, int *lo, int *hi);
20
extern void GA_Add_constant(int g_a, void* alpha);
21
extern void GA_Add_constant_patch(int g,int *lo,int *hi,void *alpha);
22
extern void GA_Add_diagonal(int g_a, int g_v);
23
extern void GA_Add(void *alpha, int g_a, void* beta, int g_b, int g_c);
24
extern int GA_Allocate(int g_a);
25
extern int GA_Assemble_duplicate(int g_a, char *name, void *ptr);
26
extern void GA_Brdcst(void *buf, int lenbuf, int root);
27
extern SingleComplex GA_Cdot(int g_a, int g_b);
28
extern void GA_Cgop(SingleComplex x[], int n, char *op);
29
extern void GA_Cgemm(char ta, char tb, int m, int n, int k, SingleComplex alpha, int g_a, int g_b, SingleComplex beta, int g_c );
30
extern void GA_Check_handle(int g_a, char *string);
31
extern int GA_Cluster_nnodes(void);
32
extern int GA_Cluster_nodeid(void);
33
extern int GA_Cluster_nprocs(int x);
34
extern int GA_Cluster_procid(int x, int y);
35
extern int GA_Cluster_proc_nodeid(int proc);
36
extern int GA_Compare_distr(int g_a, int g_b);
37
extern void GA_Copy(int g_a, int g_b);
38
extern int GA_Create_handle(void);
39
extern int GA_Create_mutexes(int number);
40
extern double GA_Ddot(int g_a, int g_b);
41
extern void GA_Destroy(int g_a);
42
extern int GA_Destroy_mutexes(void);
43
extern void GA_Dgemm(char ta, char tb, int m, int n, int k, double alpha, int g_a, int g_b, double beta, int g_c );
44
extern void GA_Dgop(double x[], int n, char *op);
45
extern void GA_Diag(int g_a, int g_s, int g_v, void *eval);
46
extern void GA_Diag_reuse(int reuse, int g_a, int g_s, int g_v, void *eval);
47
extern void GA_Diag_seq(int g_a, int g_s, int g_v, void *eval);
48
extern void GA_Diag_std(int g_a, int g_v, void *eval);
49
extern void GA_Diag_std_seq(int g_a, int g_v, void *eval);
50
extern int GA_Duplicate(int g_a, char* array_name);
51
extern void GA_Elem_divide(int g_a, int g_b, int g_c);
52
extern void GA_Elem_divide_patch(int g_a,int *alo,int *ahi, int g_b,int *blo,int *bhi,int g_c,int *clo,int *chi);
53
extern void GA_Elem_maximum(int g_a, int g_b, int g_c);
54
extern void GA_Elem_maximum_patch(int g_a,int *alo,int *ahi, int g_b,int *blo,int *bhi,int g_c,int *clo,int *chi);
55
extern void GA_Elem_minimum(int g_a, int g_b, int g_c);
56
extern void GA_Elem_minimum_patch(int g_a,int *alo,int *ahi, int g_b,int *blo,int *bhi,int g_c,int *clo,int *chi);
57
extern void GA_Elem_multiply(int g_a, int g_b, int g_c);
58
extern void GA_Elem_multiply_patch(int g_a,int *alo,int *ahi, int g_b,int *blo,int *bhi,int g_c,int *clo,int *chi);
59
extern void GA_Error(char *str, int code);
60
extern float GA_Fdot(int g_a, int g_b);
61
extern void GA_Fence(void);
62
extern void GA_Fgop(float x[], int n, char *op);
63
extern void GA_Fill(int g_a, void *value);
64
extern void GA_Freemem(void* ptr);
65
extern void GA_Get_block_info(int g_a, int num_blocks[], int block_dims[]);
66
extern int GA_Get_debug(void);
67
extern void GA_Get_diag(int g_a, int g_v);
68
extern int GA_Get_dimension(int g_a);
69
extern void* GA_Getmem(int type, int nelem, int grp_id);
70
extern int GA_Get_pgroup(int g_a);
71
extern int GA_Get_pgroup_size(int grp_id);
72
extern void GA_Get_proc_grid(int g_a, int dims[]);
73
extern void GA_Get_proc_index(int g_a, int iproc, int subscript[]);
74
extern void GA_Gop(int type, void *x, int n, char *op);
75
extern int GA_Has_ghosts(int g_a);
76
extern int GA_Idot(int g_a, int g_b);
77
extern void GA_Igop(int x[], int n, char *op);
78
extern void GA_Init_fence(void);
79
extern void GA_Initialize_args(int *argc, char ***argv);
80
extern void GA_Initialize_ltd(size_t limit);
81
extern void GA_Initialize(void);
82
extern size_t GA_Inquire_memory(void);
83
extern char* GA_Inquire_name(int g_a);
84
extern int GA_Is_mirrored(int g_a);
85
extern void GA_List_nodeid(int *list, int nprocs);
86
extern long GA_Ldot(int g_a, int g_b);
87
extern void GA_Lgop(long x[], int n, char *op);
88
extern long long GA_Lldot(int g_a, int g_b);
89
extern void GA_Llgop(long long x[], int n, char *op);
90
extern int GA_Llt_solve(int g_a, int g_b);
91
extern void GA_Lock(int mutex);
92
extern void GA_Lu_solve(char tran, int g_a, int g_b);
93
extern void GA_Mask_sync(int first, int last);
94
extern void GA_Matmul_patch(char transa, char transb, void* alpha, void *beta, int g_a, int ailo, int aihi, int ajlo, int ajhi, int g_b, int bilo, int bihi, int bjlo, int bjhi, int g_c, int cilo, int cihi, int cjlo, int cjhi);
95
extern void GA_Median(int g_a, int g_b, int g_c, int g_m);
96
extern void GA_Median_patch(int g_a, int *alo, int *ahi, int g_b, int *blo, int *bhi, int g_c, int *clo, int *chi, int g_m, int *mlo, int *mhi);
97
extern size_t GA_Memory_avail(void);
98
extern int GA_Memory_limited(void);
99
extern void GA_Merge_mirrored(int g_a);
100
extern void GA_Nblock(int g_a, int *nblock);
101
extern int GA_Ndim(int g_a);
102
extern int GA_Nnodes(void);
103
extern int GA_Nodeid(void);
104
extern void GA_Norm1(int g_a, double *nm);
105
extern void GA_Norm_infinity(int g_a, double *nm);
106
extern int GA_Pgroup_absolute_id(int pgroup, int pid);
107
extern void GA_Pgroup_brdcst(int grp, void *buf, int lenbuf, int root);
108
extern void GA_Pgroup_cgop(int grp, SingleComplex x[], int n, char *op);
109
extern int GA_Pgroup_create(int *list, int count);
110
extern int GA_Pgroup_destroy(int grp);
111
extern void GA_Pgroup_dgop(int grp, double x[], int n, char *op);
112
extern void GA_Pgroup_fgop(int grp, float x[], int n, char *op);
113
extern int GA_Pgroup_get_default(void);
114
extern int GA_Pgroup_get_mirror(void);
115
extern int GA_Pgroup_get_world(void);
116
extern void GA_Pgroup_igop(int grp, int x[], int n, char *op);
117
extern void GA_Pgroup_lgop(int grp, long x[], int n, char *op);
118
extern void GA_Pgroup_llgop(int grp, long long x[], int n, char *op);
119
extern int GA_Pgroup_nnodes(int grp_id);
120
extern int GA_Pgroup_nodeid(int grp_id);
121
extern void GA_Pgroup_set_default(int p_handle);
122
extern int GA_Pgroup_split(int grp_id, int num_group);
123
extern int GA_Pgroup_split_irreg(int grp_id, int color);
124
extern void GA_Pgroup_sync(int grp_id);
125
extern void GA_Pgroup_zgop(int grp, DoubleComplex x[], int n, char *op);
126
extern void GA_Print_distribution(int g_a);
127
extern void GA_Print_file(FILE *file, int g_a);
128
extern void GA_Print(int g_a);
129
extern void GA_Print_patch(int g_a,int ilo,int ihi,int jlo,int jhi,int pretty);
130
extern void GA_Print_stats(void);
131
extern void GA_Randomize(int g_a, void *value);
132
extern void GA_Recip(int g_a);
133
extern void GA_Recip_patch(int g_a,int *lo, int *hi);
134
extern void GA_Register_stack_memory(void * (*ext_alloc)(size_t, int, char *), void (*ext_free)(void *));
135
extern void GA_Scale_cols(int g_a, int g_v);
136
extern void GA_Scale(int g_a, void *value);
137
extern void GA_Scale_rows(int g_a, int g_v);
138
extern void GA_Scan_add(int g_a, int g_b, int g_sbit, int lo, int hi, int excl);
139
extern void GA_Scan_copy(int g_a, int g_b, int g_sbit, int lo, int hi);
140
extern void GA_Set_array_name(int g_a, char *name);
141
extern void GA_Set_block_cyclic(int g_a, int dims[]);
142
extern void GA_Set_block_cyclic_proc_grid(int g_a, int block[], int proc_grid[]);
143
extern void GA_Set_chunk(int g_a, int chunk[]);
144
extern void GA_Set_data(int g_a, int ndim, int dims[], int type);
145
extern void GA_Set_debug(int flag);
146
extern void GA_Set_diagonal(int g_a, int g_v);
147
extern void GA_Set_ghost_corner_flag(int g_a, int flag);
148
extern void GA_Set_ghosts(int g_a, int width[]);
149
extern void GA_Set_irreg_distr(int g_a, int map[], int block[]);
150
extern void GA_Set_irreg_flag(int g_a, int flag);
151
extern void GA_Set_memory_limit(size_t limit);
152
extern void GA_Set_pgroup(int g_a, int p_handle);
153
extern void GA_Set_restricted(int g_a, int list[], int size);
154
extern void GA_Set_restricted_range(int g_a, int lo_proc, int hi_proc);
155
extern void GA_Sgemm(char ta, char tb, int m, int n, int k, float alpha, int g_a, int g_b, float beta, int g_c );
156
extern void GA_Shift_diagonal(int g_a, void *c);
157
extern int GA_Solve(int g_a, int g_b);
158
extern int GA_Spd_invert(int g_a);
159
extern void GA_Step_bound_info(int g_xx, int g_vv, int g_xxll, int g_xxuu, void *boundmin, void *wolfemin, void *boundmax);
160
extern void GA_Step_bound_info_patch(int g_xx, int *xxlo, int *xxhi, int g_vv, int *vvlo, int *vvhi, int g_xxll, int *xxlllo, int *xxllhi, int g_xxuu, int *xxuulo, int *xxuuhi, void *boundmin, void *wolfemin, void *boundmax);
161
extern void GA_Step_max(int g_a, int g_b, void *step);
162
extern void GA_Step_max_patch(int g_a, int *alo, int *ahi, int g_b, int *blo, int *bhi, void *step);
163
extern void GA_Summarize(int verbose);
164
extern void GA_Symmetrize(int g_a);
165
extern void GA_Sync(void);
166
extern void GA_Terminate(void);
167
extern int GA_Total_blocks(int g_a);
168
extern void GA_Transpose(int g_a, int g_b);
169
extern void GA_Unlock(int mutex);
170
extern void GA_Update_ghosts(int g_a);
171
extern int GA_Uses_fapi(void);
172
extern int GA_Uses_ma(void);
173
extern int GA_Uses_proc_grid(int g_a);
174
extern int GA_Valid_handle(int g_a);
175
extern int GA_Verify_handle(int g_a);
176
extern double GA_Wtime(void);
177
extern DoubleComplex GA_Zdot(int g_a, int g_b);
178
extern void GA_Zgop(DoubleComplex x[], int n, char *op);
179
extern void GA_Zero_diagonal(int g_a);
180
extern void GA_Zero(int g_a);
181
extern void GA_Zgemm(char ta, char tb, int m, int n, int k, DoubleComplex alpha, int g_a, int g_b, DoubleComplex beta, int g_c );
182
extern void NGA_Access_block_grid(int g_a, int index[], void *ptr, int ld[]);
183
extern void NGA_Access_block(int g_a, int idx, void *ptr, int ld[]);
184
extern void NGA_Access_block_segment(int g_a, int proc, void *ptr, int *len);
185
extern void NGA_Access_ghost_element(int g_a, void *ptr, int subscript[], int ld[]);
186
extern void NGA_Access_ghosts(int g_a, int dims[], void *ptr, int ld[]);
187
extern void NGA_Access(int g_a, int lo[], int hi[], void *ptr, int ld[]);
188
extern void NGA_Acc(int g_a, int lo[], int hi[],void* buf,int ld[],void* alpha);
189
extern void NGA_Add_patch(void * alpha, int g_a, int alo[], int ahi[], void * beta, int g_b, int blo[], int bhi[], int g_c, int clo[], int chi[]);
190
extern SingleComplex NGA_Cdot_patch(int g_a, char t_a, int alo[], int ahi[], int g_b, char t_b, int blo[], int bhi[]);
191
extern int NGA_Compare_distr(int g_a, int g_b);
192
extern void NGA_Copy_patch(char trans, int g_a, int alo[], int ahi[], int g_b, int blo[], int bhi[]);
193
extern int NGA_Create_config(int type,int ndim,int dims[], char *name, int chunk[], int p_handle);
194
extern int NGA_Create_ghosts_config(int type,int ndim,int dims[], int width[], char *name, int chunk[], int p_handle);
195
extern int NGA_Create_ghosts(int type,int ndim,int dims[], int width[], char *name, int chunk[]);
196
extern int NGA_Create_ghosts_irreg_config(int type,int ndim,int dims[], int width[], char *name, int map[], int nblock[], int p_handle);
197
extern int NGA_Create_ghosts_irreg(int type,int ndim,int dims[], int width[], char *name, int map[], int nblock[]);
198
extern int NGA_Create(int type,int ndim,int dims[], char *name, int chunk[]);
199
extern int NGA_Create(int type,int ndim,int dims[], char *name, int chunk[]);
200
extern int NGA_Create_irreg_config(int type,int ndim,int dims[],char *name, int block[], int map[], int p_handle);
201
extern int NGA_Create_irreg(int type,int ndim,int dims[],char *name, int block[], int map[]);
202
extern int NGA_Create_handle(void);
203
extern int NGA_Deregister_type(int type);
204
extern void NGA_Destroy(int g_a);
205
extern int NGA_Destroy_mutexes(void);
206
extern double NGA_Ddot_patch(int g_a, char t_a, int alo[], int ahi[], int g_b, char t_b, int blo[], int bhi[]);
207
extern void NGA_Distribution(int g_a, int iproc, int lo[], int hi[]);
208
extern int NGA_Duplicate(int g_a, char* array_name);
209
extern void NGA_Error(char *str, int code);
210
extern float NGA_Fdot_patch(int g_a, char t_a, int alo[], int ahi[], int g_b, char t_b, int blo[], int bhi[]);
211
extern void NGA_Fence(void);
212
extern void NGA_Fill(int g_a, void *value);
213
extern void NGA_Fill_patch(int g_a, int lo[], int hi[], void *val);
214
extern void NGA_Gather(int g_a, void *v, int* subsArray[], int n);
215
extern void NGA_Gather_flat(int g_a, void *v, int subsArray[], int n);
216
extern void NGA_Get(int g_a, int lo[], int hi[], void* buf, int ld[]);
217
extern void NGA_Get_block_info(int g_a, int num_blocks[], int block_dims[]);
218
extern int NGA_Get_debug(void);
219
extern int NGA_Get_dimension(int g_a);
220
extern void NGA_Get_field(int g_a, int *lo, int *hi, int foff, int fsize, void *buf, int *ld);
221
extern void NGA_Get_ghost_block(int g_a, int lo[], int hi[], void *buf, int ld[]);
222
extern int NGA_Get_pgroup(int g_a);
223
extern int NGA_Get_pgroup_size(int grp_id);
224
extern void NGA_Get_proc_grid(int g_a, int dims[]);
225
extern void NGA_Get_proc_index(int g_a, int iproc, int subscript[]);
226
extern int NGA_Has_ghosts(int g_a);
227
extern int NGA_Idot_patch(int g_a, char t_a, int alo[], int ahi[], int g_b, char t_b, int blo[], int bhi[]);
228
extern void NGA_Init_fence(void);
229
extern void NGA_Initialize(void);
230
extern void NGA_Initialize_ltd(size_t limit);
231
extern void NGA_Inquire(int g_a, int *type, int *ndim, int dims[]);
232
extern size_t NGA_Inquire_memory(void);
233
extern char* NGA_Inquire_name(int g_a);
234
extern int NGA_Is_mirrored(int g_a);
235
extern void NGA_List_nodeid(int *list, int nprocs);
236
extern long NGA_Ldot_patch(int g_a, char t_a, int alo[], int ahi[], int g_b, char t_b, int blo[], int bhi[]);
237
extern long long NGA_Lldot_patch(int g_a, char t_a, int alo[], int ahi[], int g_b, char t_b, int blo[], int bhi[]);
238
extern int NGA_Locate(int g_a, int subscript[]);
239
extern int NGA_Locate_num_blocks(int g_a, int lo[], int hi[]);
240
extern int NGA_Locate_nnodes(int g_a, int lo[], int hi[]);
241
extern int NGA_Locate_region(int g_a,int lo[],int hi[],int map[],int procs[]);
242
extern void NGA_Lock(int mutex);
243
extern void NGA_Mask_sync(int first, int last);
244
extern void NGA_Matmul_patch(char transa, char transb, void* alpha, void *beta, int g_a, int alo[], int ahi[], int g_b, int blo[], int bhi[], int g_c, int clo[], int chi[]) ;
245
extern size_t NGA_Memory_avail(void);
246
extern int NGA_Memory_limited(void);
247
extern void NGA_Merge_distr_patch(int g_a, int alo[], int ahi[], int g_b, int blo[], int bhi[]);
248
extern void NGA_Merge_mirrored(int g_a);
249
extern void NGA_Nblock(int g_a, int *nblock);
250
extern void NGA_NbAcc(int g_a,int lo[], int hi[],void* buf,int ld[],void* alpha, ga_nbhdl_t* nbhandle);
251
extern void NGA_NbGet_ghost_dir(int g_a, int mask[], ga_nbhdl_t* handle);
252
extern void NGA_NbGet(int g_a, int lo[], int hi[], void* buf, int ld[], ga_nbhdl_t* nbhandle);
253
extern void NGA_Nbget_field(int g_a, int *lo, int *hi, int foff, int fsize,void *buf, int *ld, ga_nbhdl_t *nbhandle);
254
extern void NGA_Nbput_field(int g_a, int *lo, int *hi, int foff, int fsize, void *buf, int *ld, ga_nbhdl_t *nbhandle);
255
extern void NGA_NbPut(int g_a, int lo[], int hi[], void* buf, int ld[], ga_nbhdl_t* nbhandle);
256
extern int NGA_NbTest(ga_nbhdl_t* nbhandle);
257
extern void NGA_NbWait(ga_nbhdl_t* nbhandle);
258
extern int NGA_Ndim(int g_a);
259
extern int NGA_Nnodes(void);
260
extern int NGA_Nodeid(void);
261
extern void NGA_Periodic_acc(int g_a, int lo[], int hi[],void* buf,int ld[],void* alpha);
262
extern void NGA_Periodic_get(int g_a, int lo[], int hi[], void* buf, int ld[]);
263
extern void NGA_Periodic_put(int g_a, int lo[], int hi[], void* buf, int ld[]);
264
extern int NGA_Pgroup_absolute_id(int pgroup, int pid);
265
extern int NGA_Pgroup_create(int *list, int count);
266
extern int NGA_Pgroup_destroy(int grp);
267
extern int NGA_Pgroup_get_default(void);
268
extern int NGA_Pgroup_get_mirror(void);
269
extern int NGA_Pgroup_get_world(void);
270
extern int NGA_Pgroup_nnodes(int grp_id);
271
extern int NGA_Pgroup_nodeid(int grp_id);
272
extern void NGA_Pgroup_set_default(int p_handle);
273
extern int NGA_Pgroup_split(int grp_id, int num_group);
274
extern int NGA_Pgroup_split_irreg(int grp_id, int color);
275
extern void NGA_Pgroup_sync(int grp_id);
276
extern void NGA_Print_patch(int g_a, int lo[], int hi[], int pretty);
277
extern void NGA_Proc_topology(int g_a, int proc, int coord[]);
278
extern void NGA_Put(int g_a, int lo[], int hi[], void* buf, int ld[]);
279
extern void NGA_Put_field(int g_a, int *lo, int *hi, int foff, int fsize, void *buf, int *ld);
280
extern void NGA_Randomize(int g_a, void *value);
281
extern long NGA_Read_inc(int g_a, int subscript[], long inc);
282
extern int NGA_Register_type(size_t bytes);
283
extern void NGA_Release_block_grid(int g_a, int index[]);
284
extern void NGA_Release_block(int g_a, int idx);
285
extern void NGA_Release_block_segment(int g_a, int idx);
286
extern void NGA_Release_ghost_element(int g_a, int index[]);
287
extern void NGA_Release_ghosts(int g_a);
288
extern void NGA_Release(int g_a, int lo[], int hi[]);
289
extern void NGA_Release_update_block_grid(int g_a, int index[]);
290
extern void NGA_Release_update_block(int g_a, int idx);
291
extern void NGA_Release_update_block_segment(int g_a, int idx);
292
extern void NGA_Release_update_ghost_element(int g_a, int index[]);
293
extern void NGA_Release_update_ghosts(int g_a);
294
extern void NGA_Release_update(int g_a, int lo[], int hi[]);
295
extern void NGA_Scale_patch(int g_a, int lo[], int hi[], void *alpha);
296
extern void NGA_Scatter_acc(int g_a, void *v, int* subsArray[], int n, void *alpha);
297
extern void NGA_Scatter_acc_flat(int g_a, void *v, int subsArray[], int n, void *alpha);
298
extern void NGA_Scatter(int g_a, void *v, int* subsArray[], int n);
299
extern void NGA_Scatter_flat(int g_a, void *v, int subsArray[], int n);
300
extern void NGA_Select_elem(int g_a, char* op, void* val, int *index);
301
extern void NGA_Set_array_name(int g_a, char *name);
302
extern void NGA_Set_block_cyclic(int g_a, int dims[]);
303
extern void NGA_Set_block_cyclic_proc_grid(int g_a, int block[], int proc_grid[]);
304
extern void NGA_Set_chunk(int g_a, int chunk[]);
305
extern void NGA_Set_data(int g_a, int ndim, int dims[], int type);
306
extern void NGA_Set_debug(int flag);
307
extern void NGA_Set_ghosts(int g_a, int width[]);
308
extern void NGA_Set_irreg_distr(int g_a, int map[], int block[]);
309
extern void NGA_Set_irreg_flag(int g_a, int flag);
310
extern void NGA_Set_memory_limit(size_t limit);
311
extern void NGA_Set_pgroup(int g_a, int p_handle);
312
extern void NGA_Set_restricted(int g_a, int list[], int size);
313
extern void NGA_Set_restricted_range(int g_a, int lo_proc, int hi_proc);
314
extern void NGA_Strided_acc(int g_a, int lo[], int hi[], int skip[], void* buf, int ld[], void *alpha);
315
extern void NGA_Strided_get(int g_a, int lo[], int hi[], int skip[], void* buf, int ld[]);
316
extern void NGA_Strided_put(int g_a, int lo[], int hi[], int skip[], void* buf, int ld[]);
317
extern void NGA_Sync(void);
318
extern void NGA_Terminate(void);
319
extern int NGA_Total_blocks(int g_a);
320
extern void NGA_Unlock(int mutex);
321
extern int NGA_Update_ghost_dir(int g_a, int dimension, int idir, int flag);
322
extern int NGA_Uses_ma(void);
323
extern int NGA_Uses_proc_grid(int g_a);
324
extern int NGA_Valid_handle(int g_a);
325
extern int NGA_Verify_handle(int g_a);
326
extern DoubleComplex NGA_Zdot_patch(int g_a, char t_a, int alo[], int ahi[], int g_b, char t_b, int blo[], int bhi[]);
327
extern void NGA_Zero_patch(int g_a, int lo[], int hi[]);
331
extern void GA_Abs_value_patch64(int g_a, int64_t *lo, int64_t *hi);
332
extern void GA_Add_constant_patch64(int g,int64_t *lo,int64_t *hi,void *alpha);
333
extern void GA_Cgemm64(char ta, char tb, int64_t m, int64_t n, int64_t k, SingleComplex alpha, int g_a, int g_b, SingleComplex beta, int g_c );
334
extern void GA_Dgemm64(char ta, char tb, int64_t m, int64_t n, int64_t k, double alpha, int g_a, int g_b, double beta, int g_c );
335
extern void GA_Elem_divide_patch64(int g_a, int64_t alo[], int64_t ahi[], int g_b, int64_t blo[], int64_t bhi[], int g_c, int64_t clo[], int64_t chi[]);
336
extern void GA_Elem_maximum_patch64(int g_a,int64_t *alo,int64_t *ahi, int g_b,int64_t *blo,int64_t *bhi, int g_c,int64_t *clo,int64_t *chi);
337
extern void GA_Elem_minimum_patch64(int g_a,int64_t *alo,int64_t *ahi, int g_b,int64_t *blo,int64_t *bhi, int g_c,int64_t *clo,int64_t *chi);
338
extern void GA_Elem_multiply_patch64(int g_a, int64_t alo[], int64_t ahi[], int g_b, int64_t blo[], int64_t bhi[], int g_c, int64_t clo[], int64_t chi[]);
339
extern void GA_Matmul_patch64(char transa, char transb, void* alpha, void *beta, int g_a, int64_t ailo, int64_t aihi, int64_t ajlo, int64_t ajhi, int g_b, int64_t bilo, int64_t bihi, int64_t bjlo, int64_t bjhi, int g_c, int64_t cilo, int64_t cihi, int64_t cjlo, int64_t cjhi);
340
extern void GA_Median_patch64(int g_a, int64_t *alo, int64_t *ahi, int g_b, int64_t *blo, int64_t *bhi, int g_c, int64_t *clo, int64_t *chi, int g_m, int64_t *mlo, int64_t *mhi);
341
extern void GA_Pack64(int g_src, int g_dest, int g_mask, int64_t lo, int64_t hi, int64_t *icount);
342
extern void GA_Pack(int g_src, int g_dest, int g_mask, int lo, int hi, int *icount);
343
extern void GA_Patch_enum64(int g_a, int64_t lo, int64_t hi, void *start, void *inc);
344
extern void GA_Patch_enum(int g_a, int lo, int hi, void *start, void *inc);
345
extern void GA_Recip_patch64(int g_a,int64_t *lo, int64_t *hi);
346
extern void GA_Scan_add64(int g_a, int g_b, int g_sbit, int64_t lo, int64_t hi, int excl);
347
extern void GA_Scan_copy64(int g_a, int g_b, int g_sbit, int64_t lo, int64_t hi);
348
extern void GA_Set_chunk64(int g_a, int64_t chunk[]);
349
extern void GA_Set_data64(int g_a, int ndim, int64_t dims[], int type);
350
extern void GA_Set_ghosts64(int g_a, int64_t width[]);
351
extern void GA_Set_irreg_distr64(int g_a, int64_t map[], int64_t block[]);
352
extern void GA_Sgemm64(char ta, char tb, int64_t m, int64_t n, int64_t k, float alpha, int g_a, int g_b, float beta, int g_c );
353
extern void GA_Step_bound_info_patch64(int g_xx, int64_t xxlo[], int64_t xxhi[], int g_vv, int64_t vvlo[], int64_t vvhi[], int g_xxll, int64_t xxlllo[], int64_t xxllhi[], int64_t g_xxuu, int64_t xxuulo[], int64_t xxuuhi[], void *boundmin, void *wolfemin, void *boundmax);
354
extern void GA_Step_max_patch64(int g_a, int64_t alo[], int64_t ahi[], int g_b, int64_t blo[], int64_t bhi[], void *step);
355
extern void GA_Unpack64(int g_src, int g_dest, int g_mask, int64_t lo, int64_t hi, int64_t *icount);
356
extern void GA_Unpack(int g_src, int g_dest, int g_mask, int lo, int hi, int *icount);
357
extern void GA_Zgemm64(char ta, char tb, int64_t m, int64_t n, int64_t k, DoubleComplex alpha, int g_a, int g_b, DoubleComplex beta, int g_c );
358
extern void NGA_Acc64(int g_a, int64_t lo[], int64_t hi[],void* buf,int64_t ld[],void* alpha);
359
extern void NGA_Access64(int g_a, int64_t lo[], int64_t hi[], void *ptr, int64_t ld[]);
360
extern void NGA_Access_block64(int g_a, int64_t idx, void *ptr, int64_t ld[]);
361
extern void NGA_Access_block_grid64(int g_a, int64_t index[], void *ptr, int64_t ld[]);
362
extern void NGA_Access_block_segment64(int g_a, int proc, void *ptr, int64_t *len);
363
extern void NGA_Access_ghost_element64(int g_a, void *ptr, int64_t subscript[], int64_t ld[]);
364
extern void NGA_Access_ghosts64(int g_a, int64_t dims[], void *ptr, int64_t ld[]);
365
extern void NGA_Add_patch64(void * alpha, int g_a, int64_t alo[], int64_t ahi[], void * beta, int g_b, int64_t blo[], int64_t bhi[], int g_c, int64_t clo[], int64_t chi[]);
366
extern SingleComplex NGA_Cdot_patch64(int g_a, char t_a, int64_t alo[], int64_t ahi[], int g_b, char t_b, int64_t blo[], int64_t bhi[]);
367
extern void NGA_Copy_patch64(char trans, int g_a, int64_t alo[], int64_t ahi[], int g_b, int64_t blo[], int64_t bhi[]);
368
extern int NGA_Create64(int type,int ndim,int64_t dims[], char *name, int64_t chunk[]);
369
extern int NGA_Create_config64(int type,int ndim,int64_t dims[], char *name, int64_t chunk[], int p_handle);
370
extern int NGA_Create_ghosts64(int type,int ndim,int64_t dims[], int64_t width[], char *name, int64_t chunk[]);
371
extern int NGA_Create_ghosts_config64(int type,int ndim,int64_t dims[], int64_t width[], char *name, int64_t chunk[], int p_handle);
372
extern int NGA_Create_ghosts_irreg64(int type,int ndim,int64_t dims[], int64_t width[], char *name, int64_t map[], int64_t nblock[]);
373
extern int NGA_Create_ghosts_irreg_config64(int type,int ndim,int64_t dims[], int64_t width[], char *name, int64_t map[], int64_t nblock[], int p_handle);
374
extern int NGA_Create_irreg64(int type,int ndim,int64_t dims[],char *name, int64_t block[], int64_t map[]);
375
extern int NGA_Create_irreg_config64(int type,int ndim,int64_t dims[],char *name, int64_t block[], int64_t map[], int p_handle);
376
extern double NGA_Ddot_patch64(int g_a, char t_a, int64_t alo[], int64_t ahi[], int g_b, char t_b, int64_t blo[], int64_t bhi[]);
377
extern void NGA_Distribution64(int g_a, int iproc, int64_t lo[], int64_t hi[]);
378
extern float NGA_Fdot_patch64(int g_a, char t_a, int64_t alo[], int64_t ahi[], int g_b, char t_b, int64_t blo[], int64_t bhi[]);
379
extern void NGA_Fill_patch64(int g_a, int64_t lo[], int64_t hi[], void *val);
380
extern void NGA_Gather64(int g_a, void *v, int64_t* subsArray[], int64_t n);
381
extern void NGA_Gather_flat64(int g_a, void *v, int64_t subsArray[], int64_t n);
382
extern void NGA_Get64(int g_a, int64_t lo[], int64_t hi[], void* buf, int64_t ld[]);
383
extern void NGA_Get_ghost_block64(int g_a, int64_t lo[], int64_t hi[], void* buf, int64_t ld[]);
384
extern int NGA_Idot_patch64(int g_a, char t_a, int64_t alo[], int64_t ahi[], int g_b, char t_b, int64_t blo[], int64_t bhi[]);
385
extern void NGA_Inquire64(int g_a, int *type, int *ndim, int64_t dims[]);
386
extern long NGA_Ldot_patch64(int g_a, char t_a, int64_t alo[], int64_t ahi[], int g_b, char t_b, int64_t blo[], int64_t bhi[]);
387
extern long long NGA_Lldot_patch64(int g_a, char t_a, int64_t alo[], int64_t ahi[], int g_b, char t_b, int64_t blo[], int64_t bhi[]);
388
extern int NGA_Locate64(int g_a, int64_t subscript[]);
389
extern int NGA_Locate_nnodes64(int g_a, int64_t lo[], int64_t hi[]);
390
extern int NGA_Locate_region64(int g_a,int64_t lo[],int64_t hi[],int64_t map[],int procs[]);
391
extern void NGA_Matmul_patch64(char transa, char transb, void* alpha, void *beta, int g_a, int64_t alo[], int64_t ahi[], int g_b, int64_t blo[], int64_t bhi[], int g_c, int64_t clo[], int64_t chi[]) ;
392
extern void NGA_Merge_distr_patch64(int g_a, int64_t alo[], int64_t ahi[], int g_b, int64_t blo[], int64_t bhi[]);
393
extern void NGA_NbAcc64(int g_a,int64_t lo[],int64_t hi[],void* buf,int64_t ld[],void* alpha, ga_nbhdl_t* nbhandle);
394
extern void NGA_NbGet64(int g_a, int64_t lo[], int64_t hi[], void* buf, int64_t ld[], ga_nbhdl_t* nbhandle);
395
extern void NGA_NbGet_ghost_dir64(int g_a, int64_t mask[], ga_nbhdl_t* handle);
396
extern void NGA_NbPut64(int g_a, int64_t lo[], int64_t hi[], void* buf, int64_t ld[], ga_nbhdl_t* nbhandle);
397
extern void NGA_Periodic_acc64(int g_a, int64_t lo[], int64_t hi[],void* buf,int64_t ld[],void* alpha);
398
extern void NGA_Periodic_get64(int g_a, int64_t lo[], int64_t hi[], void* buf, int64_t ld[]);
399
extern void NGA_Periodic_put64(int g_a, int64_t lo[], int64_t hi[], void* buf, int64_t ld[]);
400
extern void NGA_Print_patch64(int g_a, int64_t lo[], int64_t hi[], int pretty);
401
extern void NGA_Put64(int g_a, int64_t lo[], int64_t hi[], void* buf, int64_t ld[]);
402
extern long NGA_Read_inc64(int g_a, int64_t subscript[], long inc);
403
extern void NGA_Release64(int g_a, int64_t lo[], int64_t hi[]);
404
extern void NGA_Release_ghost_element64(int g_a, int64_t index[]);
405
extern void NGA_Release_update64(int g_a, int64_t lo[], int64_t hi[]);
406
extern void NGA_Release_update_ghost_element64(int g_a, int64_t index[]);
407
extern void NGA_Scale_patch64(int g_a, int64_t lo[], int64_t hi[], void *alpha);
408
extern void NGA_Scatter64(int g_a, void *v, int64_t* subsArray[], int64_t n);
409
extern void NGA_Scatter_flat64(int g_a, void *v, int64_t subsArray[], int64_t n);
410
extern void NGA_Scatter_acc64(int g_a, void *v, int64_t* subsArray[], int64_t n, void *alpha);
411
extern void NGA_Scatter_acc_flat64(int g_a, void *v, int64_t subsArray[], int64_t n, void *alpha);
412
extern void NGA_Select_elem64(int g_a, char* op, void* val, int64_t* index);
413
extern void NGA_Set_data64(int g_a, int ndim, int64_t dims[], int type);
414
extern void NGA_Set_ghosts64(int g_a, int64_t width[]);
415
extern void NGA_Set_irreg_distr64(int g_a, int64_t map[], int64_t block[]);
416
extern void NGA_Strided_acc64(int g_a, int64_t lo[], int64_t hi[], int64_t skip[], void* buf, int64_t ld[], void *alpha);
417
extern void NGA_Strided_get64(int g_a, int64_t lo[], int64_t hi[], int64_t skip[], void* buf, int64_t ld[]);
418
extern void NGA_Strided_put64(int g_a, int64_t lo[], int64_t hi[], int64_t skip[], void* buf, int64_t ld[]);
419
extern DoubleComplex NGA_Zdot_patch64(int g_a, char t_a, int64_t alo[], int64_t ahi[], int g_b, char t_b, int64_t blo[], int64_t bhi[]);
420
extern void NGA_Zero_patch64(int g_a, int64_t lo[], int64_t hi[]);