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