@@ -192,6 +192,7 @@ extern void Cblacs_get( Int context, Int what, Int* val );
192192extern void Cblacs_pinfo ( Int * mypnum , Int * nprocs );
193193extern void Cblacs_gridinfo ( Int context , Int * nprow , Int * npcol , Int * myrow , Int * mycol );
194194extern void Cblacs_gridinit ( Int * context , char * order , Int nprow , Int npcol );
195+ extern void Cblacs_gridmap ( Int * context , Int * usermap , Int ldumap , Int nprow , Int npcol );
195196extern void Cblacs_exit ( Int continue_blacs );
196197extern void Cblacs_gridexit ( Int context );
197198extern void Cblacs_setup ( Int * mypnum , Int * nprocs );
@@ -241,15 +242,15 @@ extern void Cpdgemr2d( Int m, Int n, double *ptrmyblock, Int ia, Int ja, MDESC *
241242#include <stdlib.h>
242243#include <assert.h>
243244#define DESCLEN 9
244- void
245+ void
245246fortran_mr2d (Int * m , Int * n , double * A , Int * ia , Int * ja , Int desc_A [DESCLEN ],
246247 double * B , Int * ib , Int * jb , Int desc_B [DESCLEN ])
247248{
248249 Cpdgemr2do (* m , * n , A , * ia , * ja , (MDESC * ) desc_A ,
249250 B , * ib , * jb , (MDESC * ) desc_B );
250251 return ;
251252}
252- void
253+ void
253254fortran_mr2dnew (Int * m , Int * n , double * A , Int * ia , Int * ja , Int desc_A [DESCLEN ],
254255 double * B , Int * ib , Int * jb , Int desc_B [DESCLEN ], Int * gcontext )
255256{
@@ -562,7 +563,7 @@ Cpdgemr2d(m, n,
562563 free (h_inter );
563564 free (param );
564565}/* distrib */
565- static2 void
566+ static2 void
566567init_chenille (mypnum , nprocs , n0 , proc0 , n1 , proc1 , psend , precv , myrang )
567568 Int nprocs , mypnum , n0 , n1 ;
568569 Int * proc0 , * proc1 , * * psend , * * precv , * myrang ;
@@ -635,7 +636,7 @@ Int _m,_n,_lda,_ldb; \
635636 _a += _lda; \
636637 } \
637638} (void)0
638- static2 Int
639+ static2 Int
639640block2buff (vi , vinb , hi , hinb , ptra , ma , buff )
640641 Int hinb , vinb ;
641642 IDESC * hi , * vi ;
@@ -657,7 +658,7 @@ block2buff(vi, vinb, hi, hinb, ptra, ma, buff)
657658 }
658659 return sizebuff ;
659660}
660- static2 void
661+ static2 void
661662buff2block (vi , vinb , hi , hinb , buff , ptrb , mb )
662663 Int hinb , vinb ;
663664 IDESC * hi , * vi ;
@@ -678,7 +679,7 @@ buff2block(vi, vinb, hi, hinb, buff, ptrb, mb)
678679 }
679680 }
680681}
681- static2 Int
682+ static2 Int
682683inter_len (Int hinb , IDESC * hi , Int vinb , IDESC * vi )
683684{
684685 Int hlen , vlen , h , v ;
@@ -690,7 +691,7 @@ inter_len(Int hinb, IDESC *hi, Int vinb, IDESC *vi)
690691 vlen += vi [v ].len ;
691692 return hlen * vlen ;
692693}
693- void
694+ void
694695Clacpy (Int m , Int n , double * a , Int lda , double * b , Int ldb )
695696{
696697 Int i , j ;
@@ -704,7 +705,7 @@ Clacpy(Int m, Int n, double *a, Int lda, double *b, Int ldb)
704705 a += lda ;
705706 }
706707}
707- static2 void
708+ static2 void
708709gridreshape (Int * ctxtp )
709710{
710711 Int ori , final ; /* original context, and new context created, with
0 commit comments