|
1 | 1 | #include "redist.h"
|
| 2 | +#include <stddef.h> |
2 | 3 | /** $Id: pctrmr.c,v 1.1.1.1 2000/02/15 18:04:09 susan Exp $
|
3 | 4 | ------------------------------------------------------------------------
|
4 | 5 |
|
|
170 | 171 | #define ccopy_ ccopy
|
171 | 172 | #define clacpy_ clacpy
|
172 | 173 | #endif
|
173 |
| -#define Clacpy Cctrlacpy |
174 |
| -void Clacpy(); |
175 | 174 | typedef struct {
|
176 | 175 | float r, i;
|
177 | 176 | } complex;
|
| 177 | +#define Clacpy Cctrlacpy |
| 178 | +void Clacpy( Int m, Int n, complex *a, Int lda, complex *b, Int ldb ); |
178 | 179 | typedef struct {
|
179 | 180 | Int desctype;
|
180 | 181 | Int ctxt;
|
@@ -202,48 +203,48 @@ typedef struct {
|
202 | 203 | #define realloc myrealloc
|
203 | 204 | #endif
|
204 | 205 | /* Cblacs */
|
205 |
| -extern void Cblacs_pcoord(); |
206 |
| -extern Int Cblacs_pnum(); |
| 206 | +extern void Cblacs_pcoord( Int context, Int pnum, Int* prow, Int* pcol ); |
| 207 | +extern Int Cblacs_pnum( Int context, Int prow, Int pcol ); |
207 | 208 | extern void Csetpvmtids();
|
208 |
| -extern void Cblacs_get(); |
209 |
| -extern void Cblacs_pinfo(); |
210 |
| -extern void Cblacs_gridinfo(); |
211 |
| -extern void Cblacs_gridinit(); |
212 |
| -extern void Cblacs_exit(); |
213 |
| -extern void Cblacs_gridexit(); |
214 |
| -extern void Cblacs_setup(); |
215 |
| -extern void Cigebs2d(); |
216 |
| -extern void Cigebr2d(); |
217 |
| -extern void Cigesd2d(); |
218 |
| -extern void Cigerv2d(); |
219 |
| -extern void Cigsum2d(); |
220 |
| -extern void Cigamn2d(); |
221 |
| -extern void Cigamx2d(); |
222 |
| -extern void Ccgesd2d(); |
223 |
| -extern void Ccgerv2d(); |
| 209 | +extern void Cblacs_get( Int context, Int what, Int* val ); |
| 210 | +extern void Cblacs_pinfo( Int* mypnum, Int* nprocs ); |
| 211 | +extern void Cblacs_gridinfo( Int context, Int* nprow, Int* npcol, Int* myrow, Int* mycol ); |
| 212 | +extern void Cblacs_gridinit( Int* context, char* order, Int nprow, Int npcol ); |
| 213 | +extern void Cblacs_exit( Int continue_blacs ); |
| 214 | +extern void Cblacs_gridexit( Int context ); |
| 215 | +extern void Cblacs_setup( Int* mypnum, Int* nprocs ); |
| 216 | +extern void Cigebs2d( Int context, char* scope, char* top, Int m, Int n, Int* A, Int lda ); |
| 217 | +extern void Cigebr2d( Int context, char* scope, char* top, Int m, Int n, Int* A, Int lda, Int rsrc, Int csrc ); |
| 218 | +extern void Cigesd2d( Int context, Int m, Int n, Int* A, Int lda, Int rdest, Int cdest ); |
| 219 | +extern void Cigerv2d( Int context, Int m, Int n, Int* A, Int lda, Int rsrc, Int csrc ); |
| 220 | +extern void Cigsum2d( Int context, char* scope, char* top, Int m, Int n, Int* A, Int lda, Int rdest, Int cdest ); |
| 221 | +extern void Cigamn2d( Int context, char* scope, char* top, Int m, Int n, Int* A, Int lda, Int* RA, Int* CA, Int rcflag, Int rdest, Int cdest ); |
| 222 | +extern void Cigamx2d( Int context, char* scope, char* top, Int m, Int n, Int* A, Int lda, Int* RA, Int* CA, Int rcflag, Int rdest, Int cdest ); |
| 223 | +extern void Ccgesd2d( Int context, Int m, Int n, complex* A, Int lda, Int rdest, Int cdest ); |
| 224 | +extern void Ccgerv2d( Int context, Int m, Int n, complex* A, Int lda, Int rsrc, Int csrc ); |
224 | 225 | /* lapack */
|
225 | 226 | void clacpy_();
|
226 | 227 | /* aux fonctions */
|
227 |
| -extern Int localindice(); |
228 |
| -extern void *mr2d_malloc(); |
229 |
| -extern Int ppcm(); |
230 |
| -extern Int localsize(); |
231 |
| -extern Int memoryblocksize(); |
232 |
| -extern Int changeorigin(); |
233 |
| -extern void paramcheck(); |
| 228 | +extern Int localindice( Int ig, Int jg, Int templateheight, Int templatewidth, MDESC *a ); |
| 229 | +extern void *mr2d_malloc( size_t n ); |
| 230 | +extern Int ppcm( Int a, Int b ); |
| 231 | +extern Int localsize( Int myprow, Int p, Int nbrow, Int m ); |
| 232 | +extern Int memoryblocksize( MDESC *a ); |
| 233 | +extern Int changeorigin( Int myp, Int sp, Int p, Int bs, Int i, Int *decal, Int *newsp ); |
| 234 | +extern void paramcheck( MDESC *a, Int i, Int j, Int m, Int n, Int p, Int q, Int gcontext ); |
234 | 235 | /* tools and others function */
|
235 | 236 | #define scanD0 ctrscanD0
|
236 | 237 | #define dispmat ctrdispmat
|
237 | 238 | #define setmemory ctrsetmemory
|
238 | 239 | #define freememory ctrfreememory
|
239 | 240 | #define scan_intervals ctrscan_intervals
|
240 |
| -extern void scanD0(); |
| 241 | +extern void scanD0( char* uplo, char* diag, Int action, complex* ptrbuff, Int* ptrsizebuff, Int m, Int n, MDESC* ma, Int ia, Int ja, Int p0, Int q0, MDESC* mb, Int ib, Int jb, Int p1, Int q1, IDESC* v_inter, Int vinter_nb, IDESC* h_inter, Int hinter_nb, complex* ptrblock ); |
241 | 242 | extern void dispmat();
|
242 |
| -extern void setmemory(); |
243 |
| -extern void freememory(); |
244 |
| -extern Int scan_intervals(); |
245 |
| -extern void Cpctrmr2do(); |
246 |
| -extern void Cpctrmr2d(); |
| 243 | +extern void setmemory( complex** ptr, Int size ); |
| 244 | +extern void freememory( char* ptr ); |
| 245 | +extern Int scan_intervals( char type, Int ja, Int jb, Int n, MDESC *ma, MDESC *mb, Int q0, Int q1, Int col0, Int col1, IDESC *result ); |
| 246 | +extern void Cpctrmr2do( char* uplo, char* diag, Int m, Int n, complex *ptrmyblock, Int ia, Int ja, MDESC *ma, complex *ptrmynewblock, Int ib, Int jb, MDESC *mb ); |
| 247 | +extern void Cpctrmr2d( char* uplo, char* diag, Int m, Int n, complex *ptrmyblock, Int ia, Int ja, MDESC *ma, complex *ptrmynewblock, Int ib, Int jb, MDESC *mb, Int globcontext ); |
247 | 248 | /* some defines for Cpctrmr2do */
|
248 | 249 | #define SENDBUFF 0
|
249 | 250 | #define RECVBUFF 1
|
@@ -274,11 +275,11 @@ fortran_mr2dnew(char *uplo, char *diag, Int *m, Int *n, complex *A, Int *ia, Int
|
274 | 275 | B, *ib, *jb, (MDESC *) desc_B, *gcontext);
|
275 | 276 | return;
|
276 | 277 | }
|
277 |
| -static2 void init_chenille(); |
| 278 | +static2 void init_chenille( Int mypnum, Int nprocs, Int n0, Int *proc0, Int n1, Int *proc1, Int **psend, Int **precv, Int *myrang ); |
278 | 279 | static2 Int inter_len();
|
279 | 280 | static2 Int block2buff();
|
280 | 281 | static2 void buff2block();
|
281 |
| -static2 void gridreshape(); |
| 282 | +static2 void gridreshape( Int *ctxtp ); |
282 | 283 | void
|
283 | 284 | Cpctrmr2do(uplo, diag, m, n,
|
284 | 285 | ptrmyblock, ia, ja, ma,
|
|
0 commit comments