From ae518aaefff36019d193c7704d8ab0988ad65416 Mon Sep 17 00:00:00 2001 From: Davide Del Vento Date: Mon, 20 Oct 2025 17:35:45 -0600 Subject: [PATCH 01/18] starting point to discuss the idea --- BLACS/SRC/BI_Arecv.c | 4 ++-- BLACS/SRC/Bconfig.h | 20 +++++++++++++++++++- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/BLACS/SRC/BI_Arecv.c b/BLACS/SRC/BI_Arecv.c index 5740abaf..479b9ac5 100644 --- a/BLACS/SRC/BI_Arecv.c +++ b/BLACS/SRC/BI_Arecv.c @@ -5,7 +5,7 @@ void BI_Arecv(BLACSCONTEXT *ctxt, Int src, Int msgid, BLACBUFF *bp) Int i, info; MpiInt errclass; - info=MPI_Irecv(bp->Buff, bp->N, bp->dtype, src, msgid, ctxt->scp->comm, + info=_MPI_Irecv(bp->Buff, bp->N, bp->dtype, src, msgid, ctxt->scp->comm, &bp->Aops[bp->nAops]); while(info != MPI_SUCCESS) { @@ -22,7 +22,7 @@ void BI_Arecv(BLACSCONTEXT *ctxt, Int src, Int msgid, BLACBUFF *bp) "MPI error %d assumed to mean out of non-blocking resources on call to MPI_Irecv", info); #endif - info=MPI_Irecv(bp->Buff, bp->N, bp->dtype, src, msgid, ctxt->scp->comm, + info=_MPI_Irecv(bp->Buff, bp->N, bp->dtype, src, msgid, ctxt->scp->comm, &bp->Aops[bp->nAops]); } bp->nAops++; diff --git a/BLACS/SRC/Bconfig.h b/BLACS/SRC/Bconfig.h index 15de4757..c4012226 100644 --- a/BLACS/SRC/Bconfig.h +++ b/BLACS/SRC/Bconfig.h @@ -21,8 +21,26 @@ #ifndef Int #define Int int #endif -#ifndef MpiInt + +#if MPI_VERSION==4 +#define MpiInt MPI_Count +inline int _MPI_Irecv(void *buf, MPI_Count count, MPI_Datatype datatype, + int source, int tag, MPI_Comm comm, MPI_Request *request) { + return MPI_Irecv_c (buf, count, datatype, source, tag, comm, request); +} +#else +#ifdef BIGMPI +#define MpiInt MPI_Count +inline int _MPI_Irecv(void *buf, MPI_Count count, MPI_Datatype datatype, + int source, int tag, MPI_Comm comm, MPI_Request *request) { + return MPIX_Irecv_x (buf, count, datatype, source, tag, comm, request); +} +#else #define MpiInt int +inline int _MPI_Irecv(void *buf, int count, MPI_Datatype datatype, + int source, int tag, MPI_Comm comm, MPI_Request *request) { + return MPI_Irecv (buf, count, datatype, source, tag, comm, request); +} #endif /* From 9c8e2b02f4dd24654f87e18b80519d35773e648b Mon Sep 17 00:00:00 2001 From: Davide Del Vento Date: Mon, 20 Oct 2025 17:44:41 -0600 Subject: [PATCH 02/18] prioritize BigMPI and add some comments --- BLACS/SRC/Bconfig.h | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/BLACS/SRC/Bconfig.h b/BLACS/SRC/Bconfig.h index c4012226..cd7c2e2d 100644 --- a/BLACS/SRC/Bconfig.h +++ b/BLACS/SRC/Bconfig.h @@ -22,19 +22,36 @@ #define Int int #endif -#if MPI_VERSION==4 +/* If somebody is building with BigMPI + * give it priority compared to other + * solutions since otherwise they would + * not have bothered to configure BLACS + * with BigMPI + */ +#ifdef BIGMPI #define MpiInt MPI_Count inline int _MPI_Irecv(void *buf, MPI_Count count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request) { - return MPI_Irecv_c (buf, count, datatype, source, tag, comm, request); + return MPIX_Irecv_x (buf, count, datatype, source, tag, comm, request); } #else -#ifdef BIGMPI +/* If there is no BigMPI, but there is + * an MPI implementation v4.x use + * that for large tranfers. Caveat: + * there are some incomplete v4.x + * implementations around which will fail. + * Hopefully they will be fixed + * before this goes to production + */ +#if MPI_VERSION==4 #define MpiInt MPI_Count inline int _MPI_Irecv(void *buf, MPI_Count count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request) { - return MPIX_Irecv_x (buf, count, datatype, source, tag, comm, request); + return MPI_Irecv_c (buf, count, datatype, source, tag, comm, request); } +/* Otherwise default to non-big + * transfers + */ #else #define MpiInt int inline int _MPI_Irecv(void *buf, int count, MPI_Datatype datatype, From f95b1e3cdba358351d4c7e75e2dc807cf4e73d9d Mon Sep 17 00:00:00 2001 From: Davide Del Vento Date: Mon, 3 Nov 2025 10:17:19 -0700 Subject: [PATCH 03/18] Making sure the BLACBUFF data structure uses the appropriate type for count (i.e. int or MPI_Count) --- BLACS/SRC/Bdef.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BLACS/SRC/Bdef.h b/BLACS/SRC/Bdef.h index 616c4859..a9bc5e83 100644 --- a/BLACS/SRC/Bdef.h +++ b/BLACS/SRC/Bdef.h @@ -58,7 +58,7 @@ struct bLaCbUfF Int nAops; /* number of asynchronous operations out of buff */ MPI_Request *Aops; /* list of async. operations out of buff */ MPI_Datatype dtype; /* data type of buffer */ - Int N; /* number of elements of data type in buff */ + MpiInt N; /* number of elements of data type in buff */ BLACBUFF *prev, *next; /* pointer to the other BLACBUFF in queue */ }; From 79df540df5f46f55db3575cb96a2aa1472d1a935 Mon Sep 17 00:00:00 2001 From: Davide Del Vento Date: Mon, 3 Nov 2025 10:19:39 -0700 Subject: [PATCH 04/18] using wrapper in BI_Asend --- BLACS/SRC/BI_Asend.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BLACS/SRC/BI_Asend.c b/BLACS/SRC/BI_Asend.c index b8ea9e0c..20c664b3 100644 --- a/BLACS/SRC/BI_Asend.c +++ b/BLACS/SRC/BI_Asend.c @@ -5,7 +5,7 @@ void BI_Asend(BLACSCONTEXT *ctxt, Int dest, Int msgid, BLACBUFF *bp) Int i, info; MpiInt errclass; - info=MPI_Isend(bp->Buff, bp->N, bp->dtype, dest, msgid, ctxt->scp->comm, + info=_MPI_Isend(bp->Buff, bp->N, bp->dtype, dest, msgid, ctxt->scp->comm, &bp->Aops[bp->nAops]); while(info != MPI_SUCCESS) { @@ -22,7 +22,7 @@ void BI_Asend(BLACSCONTEXT *ctxt, Int dest, Int msgid, BLACBUFF *bp) "MPI error %d assumed to mean out of non-blocking resources on call to MPI_Isend", info); #endif - info=MPI_Isend(bp->Buff, bp->N, bp->dtype, dest, msgid, ctxt->scp->comm, + info=_MPI_Isend(bp->Buff, bp->N, bp->dtype, dest, msgid, ctxt->scp->comm, &bp->Aops[bp->nAops]); } bp->nAops++; From 2dbfc83e729e32156de5fc57bad86d74c83a5c41 Mon Sep 17 00:00:00 2001 From: Davide Del Vento Date: Mon, 3 Nov 2025 10:22:22 -0700 Subject: [PATCH 05/18] return type for MPI_Error_class is always integer --- BLACS/SRC/BI_Arecv.c | 2 +- BLACS/SRC/BI_Asend.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BLACS/SRC/BI_Arecv.c b/BLACS/SRC/BI_Arecv.c index 479b9ac5..704c5be6 100644 --- a/BLACS/SRC/BI_Arecv.c +++ b/BLACS/SRC/BI_Arecv.c @@ -3,7 +3,7 @@ void BI_Arecv(BLACSCONTEXT *ctxt, Int src, Int msgid, BLACBUFF *bp) { Int i, info; - MpiInt errclass; + int errclass; info=_MPI_Irecv(bp->Buff, bp->N, bp->dtype, src, msgid, ctxt->scp->comm, &bp->Aops[bp->nAops]); diff --git a/BLACS/SRC/BI_Asend.c b/BLACS/SRC/BI_Asend.c index 20c664b3..2d6144af 100644 --- a/BLACS/SRC/BI_Asend.c +++ b/BLACS/SRC/BI_Asend.c @@ -3,7 +3,7 @@ void BI_Asend(BLACSCONTEXT *ctxt, Int dest, Int msgid, BLACBUFF *bp) { Int i, info; - MpiInt errclass; + int errclass; info=_MPI_Isend(bp->Buff, bp->N, bp->dtype, dest, msgid, ctxt->scp->comm, &bp->Aops[bp->nAops]); From 2153a19b45a9d1cf444d129ee2ac348c94865a41 Mon Sep 17 00:00:00 2001 From: Davide Del Vento Date: Mon, 3 Nov 2025 10:46:21 -0700 Subject: [PATCH 06/18] missing #endif --- BLACS/SRC/Bconfig.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/BLACS/SRC/Bconfig.h b/BLACS/SRC/Bconfig.h index cd7c2e2d..85a293b6 100644 --- a/BLACS/SRC/Bconfig.h +++ b/BLACS/SRC/Bconfig.h @@ -34,7 +34,7 @@ inline int _MPI_Irecv(void *buf, MPI_Count count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request) { return MPIX_Irecv_x (buf, count, datatype, source, tag, comm, request); } -#else +#else // no BIGMPI /* If there is no BigMPI, but there is * an MPI implementation v4.x use * that for large tranfers. Caveat: @@ -52,13 +52,14 @@ inline int _MPI_Irecv(void *buf, MPI_Count count, MPI_Datatype datatype, /* Otherwise default to non-big * transfers */ -#else +#else // no MPI v4 #define MpiInt int inline int _MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request) { return MPI_Irecv (buf, count, datatype, source, tag, comm, request); } -#endif +#endif // MPI version +#endif // BIGMPI /* * These macros define the naming strategy needed for a fortran From 7e18b413f20d2407a7cb7fb7382bac455a2bc87b Mon Sep 17 00:00:00 2001 From: Davide Del Vento Date: Mon, 3 Nov 2025 11:14:30 -0700 Subject: [PATCH 07/18] using the (newly defined version of) MpiInt in BI_GetMpiGeType in every occurence where the latter is used --- BLACS/SRC/BI_GetMpiGeType.c | 2 +- BLACS/SRC/cgamn2d_.c | 4 +--- BLACS/SRC/cgamx2d_.c | 4 +--- BLACS/SRC/cgebr2d_.c | 2 +- BLACS/SRC/cgebs2d_.c | 2 +- BLACS/SRC/cgerv2d_.c | 2 +- BLACS/SRC/cgesd2d_.c | 2 +- BLACS/SRC/cgsum2d_.c | 4 +--- BLACS/SRC/dgamn2d_.c | 4 +--- BLACS/SRC/dgamx2d_.c | 4 +--- BLACS/SRC/dgebr2d_.c | 2 +- BLACS/SRC/dgebs2d_.c | 2 +- BLACS/SRC/dgerv2d_.c | 2 +- BLACS/SRC/dgesd2d_.c | 2 +- BLACS/SRC/dgsum2d_.c | 4 +--- BLACS/SRC/igamn2d_.c | 4 +--- BLACS/SRC/igamx2d_.c | 4 +--- BLACS/SRC/igebr2d_.c | 2 +- BLACS/SRC/igebs2d_.c | 2 +- BLACS/SRC/igerv2d_.c | 2 +- BLACS/SRC/igesd2d_.c | 2 +- BLACS/SRC/igsum2d_.c | 4 +--- BLACS/SRC/sgamn2d_.c | 4 +--- BLACS/SRC/sgamx2d_.c | 4 +--- BLACS/SRC/sgebr2d_.c | 2 +- BLACS/SRC/sgebs2d_.c | 2 +- BLACS/SRC/sgerv2d_.c | 2 +- BLACS/SRC/sgesd2d_.c | 2 +- BLACS/SRC/sgsum2d_.c | 4 +--- BLACS/SRC/zgamn2d_.c | 4 +--- BLACS/SRC/zgamx2d_.c | 4 +--- BLACS/SRC/zgebr2d_.c | 2 +- BLACS/SRC/zgebs2d_.c | 2 +- BLACS/SRC/zgerv2d_.c | 2 +- BLACS/SRC/zgesd2d_.c | 2 +- BLACS/SRC/zgsum2d_.c | 4 +--- 36 files changed, 36 insertions(+), 66 deletions(-) diff --git a/BLACS/SRC/BI_GetMpiGeType.c b/BLACS/SRC/BI_GetMpiGeType.c index 2a147c77..7f859636 100644 --- a/BLACS/SRC/BI_GetMpiGeType.c +++ b/BLACS/SRC/BI_GetMpiGeType.c @@ -1,6 +1,6 @@ #include "Bdef.h" MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *ctxt, Int m, Int n, Int lda, - MPI_Datatype Dtype, Int *N) + MPI_Datatype Dtype, MpiInt *N) { Int info; MPI_Datatype GeType; diff --git a/BLACS/SRC/cgamn2d_.c b/BLACS/SRC/cgamn2d_.c index aabd21b8..df194912 100644 --- a/BLACS/SRC/cgamn2d_.c +++ b/BLACS/SRC/cgamn2d_.c @@ -86,10 +86,8 @@ F_VOID_FUNC cgamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); - MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_MringComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); diff --git a/BLACS/SRC/cgamx2d_.c b/BLACS/SRC/cgamx2d_.c index 18171f94..a5cb412e 100644 --- a/BLACS/SRC/cgamx2d_.c +++ b/BLACS/SRC/cgamx2d_.c @@ -86,10 +86,8 @@ F_VOID_FUNC cgamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); - MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_MringComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); diff --git a/BLACS/SRC/cgebr2d_.c b/BLACS/SRC/cgebr2d_.c index e3035947..fbcc7310 100644 --- a/BLACS/SRC/cgebr2d_.c +++ b/BLACS/SRC/cgebr2d_.c @@ -66,7 +66,7 @@ F_VOID_FUNC cgebr2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/cgebs2d_.c b/BLACS/SRC/cgebs2d_.c index 5e9e1c46..662ac6de 100644 --- a/BLACS/SRC/cgebs2d_.c +++ b/BLACS/SRC/cgebs2d_.c @@ -57,7 +57,7 @@ F_VOID_FUNC cgebs2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/cgerv2d_.c b/BLACS/SRC/cgerv2d_.c index a7cb2625..ca4cd10c 100644 --- a/BLACS/SRC/cgerv2d_.c +++ b/BLACS/SRC/cgerv2d_.c @@ -51,7 +51,7 @@ F_VOID_FUNC cgerv2d_(Int *ConTxt, Int *m, Int *n, float *A, Int *lda, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Srecv(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_UpdateBuffs(BLACBUFF *); diff --git a/BLACS/SRC/cgesd2d_.c b/BLACS/SRC/cgesd2d_.c index c16d451a..4ee7b7c4 100644 --- a/BLACS/SRC/cgesd2d_.c +++ b/BLACS/SRC/cgesd2d_.c @@ -47,7 +47,7 @@ F_VOID_FUNC cgesd2d_(Int *ConTxt, Int *m, Int *n, float *A, Int *lda, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/cgsum2d_.c b/BLACS/SRC/cgsum2d_.c index aa8affe2..69e05dad 100644 --- a/BLACS/SRC/cgsum2d_.c +++ b/BLACS/SRC/cgsum2d_.c @@ -62,10 +62,8 @@ F_VOID_FUNC cgsum2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); - MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_MringComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); diff --git a/BLACS/SRC/dgamn2d_.c b/BLACS/SRC/dgamn2d_.c index 522e4ce7..2db5b05f 100644 --- a/BLACS/SRC/dgamn2d_.c +++ b/BLACS/SRC/dgamn2d_.c @@ -86,10 +86,8 @@ F_VOID_FUNC dgamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); - MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_MringComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); diff --git a/BLACS/SRC/dgamx2d_.c b/BLACS/SRC/dgamx2d_.c index cc57c95c..3b8ec100 100644 --- a/BLACS/SRC/dgamx2d_.c +++ b/BLACS/SRC/dgamx2d_.c @@ -86,10 +86,8 @@ F_VOID_FUNC dgamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); - MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_MringComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); diff --git a/BLACS/SRC/dgebr2d_.c b/BLACS/SRC/dgebr2d_.c index a33c33a5..8d196ad6 100644 --- a/BLACS/SRC/dgebr2d_.c +++ b/BLACS/SRC/dgebr2d_.c @@ -66,7 +66,7 @@ F_VOID_FUNC dgebr2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/dgebs2d_.c b/BLACS/SRC/dgebs2d_.c index 7e5840fa..f0eff013 100644 --- a/BLACS/SRC/dgebs2d_.c +++ b/BLACS/SRC/dgebs2d_.c @@ -57,7 +57,7 @@ F_VOID_FUNC dgebs2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/dgerv2d_.c b/BLACS/SRC/dgerv2d_.c index 21642801..6603d52e 100644 --- a/BLACS/SRC/dgerv2d_.c +++ b/BLACS/SRC/dgerv2d_.c @@ -51,7 +51,7 @@ F_VOID_FUNC dgerv2d_(Int *ConTxt, Int *m, Int *n, double *A, Int *lda, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Srecv(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_UpdateBuffs(BLACBUFF *); diff --git a/BLACS/SRC/dgesd2d_.c b/BLACS/SRC/dgesd2d_.c index 987fe406..ee94522b 100644 --- a/BLACS/SRC/dgesd2d_.c +++ b/BLACS/SRC/dgesd2d_.c @@ -48,7 +48,7 @@ F_VOID_FUNC dgesd2d_(Int *ConTxt, Int *m, Int *n, double *A, Int *lda, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/dgsum2d_.c b/BLACS/SRC/dgsum2d_.c index e161e7f7..c08c6306 100644 --- a/BLACS/SRC/dgsum2d_.c +++ b/BLACS/SRC/dgsum2d_.c @@ -62,10 +62,8 @@ F_VOID_FUNC dgsum2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); - MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_MringComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); diff --git a/BLACS/SRC/igamn2d_.c b/BLACS/SRC/igamn2d_.c index 73281a6f..d07694c9 100644 --- a/BLACS/SRC/igamn2d_.c +++ b/BLACS/SRC/igamn2d_.c @@ -84,10 +84,8 @@ F_VOID_FUNC igamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); - MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_MringComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); diff --git a/BLACS/SRC/igamx2d_.c b/BLACS/SRC/igamx2d_.c index ed66ddf4..ec4ced20 100644 --- a/BLACS/SRC/igamx2d_.c +++ b/BLACS/SRC/igamx2d_.c @@ -84,10 +84,8 @@ F_VOID_FUNC igamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); - MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_MringComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); diff --git a/BLACS/SRC/igebr2d_.c b/BLACS/SRC/igebr2d_.c index 94e7411f..d39e6232 100644 --- a/BLACS/SRC/igebr2d_.c +++ b/BLACS/SRC/igebr2d_.c @@ -66,7 +66,7 @@ F_VOID_FUNC igebr2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/igebs2d_.c b/BLACS/SRC/igebs2d_.c index 38429980..cee4ade9 100644 --- a/BLACS/SRC/igebs2d_.c +++ b/BLACS/SRC/igebs2d_.c @@ -57,7 +57,7 @@ F_VOID_FUNC igebs2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/igerv2d_.c b/BLACS/SRC/igerv2d_.c index 6cc3ea3c..dd002afd 100644 --- a/BLACS/SRC/igerv2d_.c +++ b/BLACS/SRC/igerv2d_.c @@ -51,7 +51,7 @@ F_VOID_FUNC igerv2d_(Int *ConTxt, Int *m, Int *n, Int *A, Int *lda, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Srecv(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_UpdateBuffs(BLACBUFF *); diff --git a/BLACS/SRC/igesd2d_.c b/BLACS/SRC/igesd2d_.c index 68aa6dbe..179ecc0b 100644 --- a/BLACS/SRC/igesd2d_.c +++ b/BLACS/SRC/igesd2d_.c @@ -47,7 +47,7 @@ F_VOID_FUNC igesd2d_(Int *ConTxt, Int *m, Int *n, Int *A, Int *lda, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/igsum2d_.c b/BLACS/SRC/igsum2d_.c index db66ad75..bd6dd37c 100644 --- a/BLACS/SRC/igsum2d_.c +++ b/BLACS/SRC/igsum2d_.c @@ -62,10 +62,8 @@ F_VOID_FUNC igsum2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); - MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_MringComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); diff --git a/BLACS/SRC/sgamn2d_.c b/BLACS/SRC/sgamn2d_.c index 0613e3e6..cccffcc4 100644 --- a/BLACS/SRC/sgamn2d_.c +++ b/BLACS/SRC/sgamn2d_.c @@ -86,10 +86,8 @@ F_VOID_FUNC sgamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); - MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_MringComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); diff --git a/BLACS/SRC/sgamx2d_.c b/BLACS/SRC/sgamx2d_.c index 0e363df6..f0e5728a 100644 --- a/BLACS/SRC/sgamx2d_.c +++ b/BLACS/SRC/sgamx2d_.c @@ -86,10 +86,8 @@ F_VOID_FUNC sgamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); - MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_MringComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); diff --git a/BLACS/SRC/sgebr2d_.c b/BLACS/SRC/sgebr2d_.c index c26dd8c3..8b7ce9a7 100644 --- a/BLACS/SRC/sgebr2d_.c +++ b/BLACS/SRC/sgebr2d_.c @@ -66,7 +66,7 @@ F_VOID_FUNC sgebr2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/sgebs2d_.c b/BLACS/SRC/sgebs2d_.c index af647414..40219abf 100644 --- a/BLACS/SRC/sgebs2d_.c +++ b/BLACS/SRC/sgebs2d_.c @@ -57,7 +57,7 @@ F_VOID_FUNC sgebs2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/sgerv2d_.c b/BLACS/SRC/sgerv2d_.c index 7e016e2f..fdc86f1a 100644 --- a/BLACS/SRC/sgerv2d_.c +++ b/BLACS/SRC/sgerv2d_.c @@ -51,7 +51,7 @@ F_VOID_FUNC sgerv2d_(Int *ConTxt, Int *m, Int *n, float *A, Int *lda, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Srecv(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_UpdateBuffs(BLACBUFF *); diff --git a/BLACS/SRC/sgesd2d_.c b/BLACS/SRC/sgesd2d_.c index 4cfa6122..b594f1b6 100644 --- a/BLACS/SRC/sgesd2d_.c +++ b/BLACS/SRC/sgesd2d_.c @@ -47,7 +47,7 @@ F_VOID_FUNC sgesd2d_(Int *ConTxt, Int *m, Int *n, float *A, Int *lda, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/sgsum2d_.c b/BLACS/SRC/sgsum2d_.c index bb43ea21..5707baaa 100644 --- a/BLACS/SRC/sgsum2d_.c +++ b/BLACS/SRC/sgsum2d_.c @@ -62,10 +62,8 @@ F_VOID_FUNC sgsum2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); - MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_MringComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); diff --git a/BLACS/SRC/zgamn2d_.c b/BLACS/SRC/zgamn2d_.c index d12ba95f..b073b037 100644 --- a/BLACS/SRC/zgamn2d_.c +++ b/BLACS/SRC/zgamn2d_.c @@ -86,10 +86,8 @@ F_VOID_FUNC zgamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); - MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_MringComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); diff --git a/BLACS/SRC/zgamx2d_.c b/BLACS/SRC/zgamx2d_.c index 8d01c7ee..5af2ea02 100644 --- a/BLACS/SRC/zgamx2d_.c +++ b/BLACS/SRC/zgamx2d_.c @@ -86,10 +86,8 @@ F_VOID_FUNC zgamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); - MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_MringComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); diff --git a/BLACS/SRC/zgebr2d_.c b/BLACS/SRC/zgebr2d_.c index badb13b3..5b216b32 100644 --- a/BLACS/SRC/zgebr2d_.c +++ b/BLACS/SRC/zgebr2d_.c @@ -66,7 +66,7 @@ F_VOID_FUNC zgebr2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/zgebs2d_.c b/BLACS/SRC/zgebs2d_.c index 9619a872..31185b29 100644 --- a/BLACS/SRC/zgebs2d_.c +++ b/BLACS/SRC/zgebs2d_.c @@ -57,7 +57,7 @@ F_VOID_FUNC zgebs2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/zgerv2d_.c b/BLACS/SRC/zgerv2d_.c index fd6a9896..d6a6e6d9 100644 --- a/BLACS/SRC/zgerv2d_.c +++ b/BLACS/SRC/zgerv2d_.c @@ -51,7 +51,7 @@ F_VOID_FUNC zgerv2d_(Int *ConTxt, Int *m, Int *n, double *A, Int *lda, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Srecv(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_UpdateBuffs(BLACBUFF *); diff --git a/BLACS/SRC/zgesd2d_.c b/BLACS/SRC/zgesd2d_.c index b9a8a5c5..f60299a5 100644 --- a/BLACS/SRC/zgesd2d_.c +++ b/BLACS/SRC/zgesd2d_.c @@ -47,7 +47,7 @@ F_VOID_FUNC zgesd2d_(Int *ConTxt, Int *m, Int *n, double *A, Int *lda, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/zgsum2d_.c b/BLACS/SRC/zgsum2d_.c index 18bad88b..d86bc83e 100644 --- a/BLACS/SRC/zgsum2d_.c +++ b/BLACS/SRC/zgsum2d_.c @@ -62,10 +62,8 @@ F_VOID_FUNC zgsum2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); - MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *, Int, Int, Int, - MPI_Datatype, Int *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_MringComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); From 1cd8097addfe0510c34697e74c8f265a1dea6b96 Mon Sep 17 00:00:00 2001 From: Davide Del Vento Date: Mon, 3 Nov 2025 13:29:05 -0700 Subject: [PATCH 08/18] using the (newly defined version of) MpiInt in BI_GetMpiTrType in every occurence where the latter is used --- BLACS/SRC/BI_GetMpiTrType.c | 2 +- BLACS/SRC/ctrbr2d_.c | 2 +- BLACS/SRC/ctrbs2d_.c | 2 +- BLACS/SRC/ctrrv2d_.c | 2 +- BLACS/SRC/ctrsd2d_.c | 2 +- BLACS/SRC/dtrbr2d_.c | 2 +- BLACS/SRC/dtrbs2d_.c | 2 +- BLACS/SRC/dtrrv2d_.c | 2 +- BLACS/SRC/dtrsd2d_.c | 2 +- BLACS/SRC/itrbr2d_.c | 2 +- BLACS/SRC/itrbs2d_.c | 2 +- BLACS/SRC/itrrv2d_.c | 2 +- BLACS/SRC/itrsd2d_.c | 2 +- BLACS/SRC/strbr2d_.c | 2 +- BLACS/SRC/strbs2d_.c | 2 +- BLACS/SRC/strrv2d_.c | 2 +- BLACS/SRC/strsd2d_.c | 2 +- BLACS/SRC/ztrbr2d_.c | 2 +- BLACS/SRC/ztrbs2d_.c | 2 +- BLACS/SRC/ztrrv2d_.c | 2 +- BLACS/SRC/ztrsd2d_.c | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/BLACS/SRC/BI_GetMpiTrType.c b/BLACS/SRC/BI_GetMpiTrType.c index c5ade99d..431695f3 100644 --- a/BLACS/SRC/BI_GetMpiTrType.c +++ b/BLACS/SRC/BI_GetMpiTrType.c @@ -2,7 +2,7 @@ MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *ctxt, char uplo, char diag, Int m, Int n, Int lda, MPI_Datatype Dtype, - Int *N) + MpiInt *N) { BLACBUFF *BI_GetBuff(Int); MPI_Datatype TrType; diff --git a/BLACS/SRC/ctrbr2d_.c b/BLACS/SRC/ctrbr2d_.c index b1234023..eb7cc3f5 100644 --- a/BLACS/SRC/ctrbr2d_.c +++ b/BLACS/SRC/ctrbr2d_.c @@ -79,7 +79,7 @@ F_VOID_FUNC ctrbr2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, F_CHAR uplo, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/ctrbs2d_.c b/BLACS/SRC/ctrbs2d_.c index c9f174f4..3b4a42be 100644 --- a/BLACS/SRC/ctrbs2d_.c +++ b/BLACS/SRC/ctrbs2d_.c @@ -70,7 +70,7 @@ F_VOID_FUNC ctrbs2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, F_CHAR uplo, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/ctrrv2d_.c b/BLACS/SRC/ctrrv2d_.c index fe03318f..75f58c96 100644 --- a/BLACS/SRC/ctrrv2d_.c +++ b/BLACS/SRC/ctrrv2d_.c @@ -64,7 +64,7 @@ F_VOID_FUNC ctrrv2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Srecv(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_UpdateBuffs(BLACBUFF *); diff --git a/BLACS/SRC/ctrsd2d_.c b/BLACS/SRC/ctrsd2d_.c index 06ab2c09..411ba05e 100644 --- a/BLACS/SRC/ctrsd2d_.c +++ b/BLACS/SRC/ctrsd2d_.c @@ -59,7 +59,7 @@ F_VOID_FUNC ctrsd2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/dtrbr2d_.c b/BLACS/SRC/dtrbr2d_.c index 62d75a81..8f150a00 100644 --- a/BLACS/SRC/dtrbr2d_.c +++ b/BLACS/SRC/dtrbr2d_.c @@ -79,7 +79,7 @@ F_VOID_FUNC dtrbr2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, F_CHAR uplo, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/dtrbs2d_.c b/BLACS/SRC/dtrbs2d_.c index 1a8eddee..dbf64dd7 100644 --- a/BLACS/SRC/dtrbs2d_.c +++ b/BLACS/SRC/dtrbs2d_.c @@ -70,7 +70,7 @@ F_VOID_FUNC dtrbs2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, F_CHAR uplo, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/dtrrv2d_.c b/BLACS/SRC/dtrrv2d_.c index 931e1c62..202debb5 100644 --- a/BLACS/SRC/dtrrv2d_.c +++ b/BLACS/SRC/dtrrv2d_.c @@ -64,7 +64,7 @@ F_VOID_FUNC dtrrv2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Srecv(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_UpdateBuffs(BLACBUFF *); diff --git a/BLACS/SRC/dtrsd2d_.c b/BLACS/SRC/dtrsd2d_.c index e04fdee7..11039e0f 100644 --- a/BLACS/SRC/dtrsd2d_.c +++ b/BLACS/SRC/dtrsd2d_.c @@ -59,7 +59,7 @@ F_VOID_FUNC dtrsd2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/itrbr2d_.c b/BLACS/SRC/itrbr2d_.c index cec5f753..97748f98 100644 --- a/BLACS/SRC/itrbr2d_.c +++ b/BLACS/SRC/itrbr2d_.c @@ -79,7 +79,7 @@ F_VOID_FUNC itrbr2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, F_CHAR uplo, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/itrbs2d_.c b/BLACS/SRC/itrbs2d_.c index 04f352a2..3b23e6e6 100644 --- a/BLACS/SRC/itrbs2d_.c +++ b/BLACS/SRC/itrbs2d_.c @@ -70,7 +70,7 @@ F_VOID_FUNC itrbs2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, F_CHAR uplo, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/itrrv2d_.c b/BLACS/SRC/itrrv2d_.c index 44cd74e5..e533c529 100644 --- a/BLACS/SRC/itrrv2d_.c +++ b/BLACS/SRC/itrrv2d_.c @@ -64,7 +64,7 @@ F_VOID_FUNC itrrv2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Srecv(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_UpdateBuffs(BLACBUFF *); diff --git a/BLACS/SRC/itrsd2d_.c b/BLACS/SRC/itrsd2d_.c index e1d10055..581a60e4 100644 --- a/BLACS/SRC/itrsd2d_.c +++ b/BLACS/SRC/itrsd2d_.c @@ -59,7 +59,7 @@ F_VOID_FUNC itrsd2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/strbr2d_.c b/BLACS/SRC/strbr2d_.c index 43f3b3e3..b03d8fbe 100644 --- a/BLACS/SRC/strbr2d_.c +++ b/BLACS/SRC/strbr2d_.c @@ -79,7 +79,7 @@ F_VOID_FUNC strbr2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, F_CHAR uplo, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/strbs2d_.c b/BLACS/SRC/strbs2d_.c index 77d072ae..2e67dac2 100644 --- a/BLACS/SRC/strbs2d_.c +++ b/BLACS/SRC/strbs2d_.c @@ -70,7 +70,7 @@ F_VOID_FUNC strbs2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, F_CHAR uplo, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/strrv2d_.c b/BLACS/SRC/strrv2d_.c index 4f24d86f..dfae2133 100644 --- a/BLACS/SRC/strrv2d_.c +++ b/BLACS/SRC/strrv2d_.c @@ -64,7 +64,7 @@ F_VOID_FUNC strrv2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Srecv(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_UpdateBuffs(BLACBUFF *); diff --git a/BLACS/SRC/strsd2d_.c b/BLACS/SRC/strsd2d_.c index 3b566fbf..068bf4d5 100644 --- a/BLACS/SRC/strsd2d_.c +++ b/BLACS/SRC/strsd2d_.c @@ -59,7 +59,7 @@ F_VOID_FUNC strsd2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/ztrbr2d_.c b/BLACS/SRC/ztrbr2d_.c index bb866a4c..336f50ce 100644 --- a/BLACS/SRC/ztrbr2d_.c +++ b/BLACS/SRC/ztrbr2d_.c @@ -79,7 +79,7 @@ F_VOID_FUNC ztrbr2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, F_CHAR uplo, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/ztrbs2d_.c b/BLACS/SRC/ztrbs2d_.c index 25f7fc1b..1cd64bef 100644 --- a/BLACS/SRC/ztrbs2d_.c +++ b/BLACS/SRC/ztrbs2d_.c @@ -70,7 +70,7 @@ F_VOID_FUNC ztrbs2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, F_CHAR uplo, BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/ztrrv2d_.c b/BLACS/SRC/ztrrv2d_.c index f1c04014..994a8edb 100644 --- a/BLACS/SRC/ztrrv2d_.c +++ b/BLACS/SRC/ztrrv2d_.c @@ -64,7 +64,7 @@ F_VOID_FUNC ztrrv2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Srecv(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_UpdateBuffs(BLACBUFF *); diff --git a/BLACS/SRC/ztrsd2d_.c b/BLACS/SRC/ztrsd2d_.c index 10fd7bb3..8a6636c3 100644 --- a/BLACS/SRC/ztrsd2d_.c +++ b/BLACS/SRC/ztrsd2d_.c @@ -59,7 +59,7 @@ F_VOID_FUNC ztrsd2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, - MPI_Datatype, Int *); + MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); void BI_Asend(BLACSCONTEXT *, Int, Int, BLACBUFF *); From 1fbc2bd4ac4bb24279f46658cc9d4672569f9823 Mon Sep 17 00:00:00 2001 From: Davide Del Vento Date: Mon, 3 Nov 2025 14:17:54 -0700 Subject: [PATCH 09/18] using wrapper in MPI_Op_create --- BLACS/SRC/BI_cMPI_sum.c | 2 +- BLACS/SRC/BI_cvvsum.c | 4 ++-- BLACS/SRC/Bconfig.h | 9 +++++++++ BLACS/SRC/cgamn2d_.c | 4 ++-- BLACS/SRC/cgamx2d_.c | 4 ++-- BLACS/SRC/cgsum2d_.c | 4 ++-- BLACS/SRC/dgamn2d_.c | 4 ++-- BLACS/SRC/dgamx2d_.c | 4 ++-- BLACS/SRC/igamn2d_.c | 4 ++-- BLACS/SRC/igamx2d_.c | 4 ++-- BLACS/SRC/sgamn2d_.c | 4 ++-- BLACS/SRC/sgamx2d_.c | 4 ++-- BLACS/SRC/zgamn2d_.c | 4 ++-- BLACS/SRC/zgamx2d_.c | 4 ++-- BLACS/SRC/zgsum2d_.c | 2 +- 15 files changed, 35 insertions(+), 26 deletions(-) diff --git a/BLACS/SRC/BI_cMPI_sum.c b/BLACS/SRC/BI_cMPI_sum.c index 2485ffd6..429c9fa3 100644 --- a/BLACS/SRC/BI_cMPI_sum.c +++ b/BLACS/SRC/BI_cMPI_sum.c @@ -1,6 +1,6 @@ #include "Bdef.h" void BI_cMPI_sum(void *in, void *inout, MpiInt *N, MPI_Datatype *dtype) { - void BI_cvvsum(Int, char *, char *); + void BI_cvvsum(MpiInt, char *, char *); BI_cvvsum(*N, inout, in); } diff --git a/BLACS/SRC/BI_cvvsum.c b/BLACS/SRC/BI_cvvsum.c index b65d601a..f09ae9e5 100644 --- a/BLACS/SRC/BI_cvvsum.c +++ b/BLACS/SRC/BI_cvvsum.c @@ -1,8 +1,8 @@ #include "Bdef.h" -void BI_cvvsum(Int N, char *vec1, char *vec2) +void BI_cvvsum(MpiInt N, char *vec1, char *vec2) { float *v1=(float*)vec1, *v2=(float*)vec2; - Int k; + MpiInt k; // size_t might be more appropriate N *=2; for (k=0; k < N; k++) v1[k] += v2[k]; } diff --git a/BLACS/SRC/Bconfig.h b/BLACS/SRC/Bconfig.h index 85a293b6..0cdce84d 100644 --- a/BLACS/SRC/Bconfig.h +++ b/BLACS/SRC/Bconfig.h @@ -34,6 +34,9 @@ inline int _MPI_Irecv(void *buf, MPI_Count count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request) { return MPIX_Irecv_x (buf, count, datatype, source, tag, comm, request); } +inline int _MPI_Op_create(MPI_User_function_c *user_fn, int commute, MPI_Op *op) { + return BigMPI_Op_create (user_fn, commute, op); +} #else // no BIGMPI /* If there is no BigMPI, but there is * an MPI implementation v4.x use @@ -49,6 +52,9 @@ inline int _MPI_Irecv(void *buf, MPI_Count count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request) { return MPI_Irecv_c (buf, count, datatype, source, tag, comm, request); } +inline int _MPI_Op_create(MPI_User_function_c *user_fn, int commute, MPI_Op *op) { + return MPI_Op_create_c (user_fn, commute, op); +} /* Otherwise default to non-big * transfers */ @@ -58,6 +64,9 @@ inline int _MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request) { return MPI_Irecv (buf, count, datatype, source, tag, comm, request); } +inline int _MPI_Op_create(MPI_User_function *user_fn, int commute, MPI_Op *op) { + return MPI_Op_create (user_fn, commute, op); +} #endif // MPI version #endif // BIGMPI diff --git a/BLACS/SRC/cgamn2d_.c b/BLACS/SRC/cgamn2d_.c index df194912..c7ec6456 100644 --- a/BLACS/SRC/cgamn2d_.c +++ b/BLACS/SRC/cgamn2d_.c @@ -264,11 +264,11 @@ F_VOID_FUNC cgamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, i = 1; if (Mpval(ldia) == -1) { - ierr=MPI_Op_create(BI_cMPI_amn2, i, &BlacComb); + ierr=_MPI_Op_create(BI_cMPI_amn2, i, &BlacComb); } else { - ierr=MPI_Op_create(BI_cMPI_amn, i, &BlacComb); + ierr=_MPI_Op_create(BI_cMPI_amn, i, &BlacComb); BI_AuxBuff.Len = N; /* set this up for the MPI OP wrappers */ } diff --git a/BLACS/SRC/cgamx2d_.c b/BLACS/SRC/cgamx2d_.c index a5cb412e..210ef0b0 100644 --- a/BLACS/SRC/cgamx2d_.c +++ b/BLACS/SRC/cgamx2d_.c @@ -264,11 +264,11 @@ F_VOID_FUNC cgamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, i = 1; if (Mpval(ldia) == -1) { - ierr=MPI_Op_create(BI_cMPI_amx2, i, &BlacComb); + ierr=_MPI_Op_create(BI_cMPI_amx2, i, &BlacComb); } else { - ierr=MPI_Op_create(BI_cMPI_amx, i, &BlacComb); + ierr=_MPI_Op_create(BI_cMPI_amx, i, &BlacComb); BI_AuxBuff.Len = N; /* set this up for the MPI OP wrappers */ } diff --git a/BLACS/SRC/cgsum2d_.c b/BLACS/SRC/cgsum2d_.c index 69e05dad..90f72e64 100644 --- a/BLACS/SRC/cgsum2d_.c +++ b/BLACS/SRC/cgsum2d_.c @@ -70,7 +70,7 @@ F_VOID_FUNC cgsum2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, void BI_TreeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); void BI_BeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR); - void BI_cvvsum(Int, char *, char *); + void BI_cvvsum(MpiInt, char *, char *); void BI_cMPI_sum(void *, void *, MpiInt *, MPI_Datatype *); /* * Variable Declarations @@ -158,7 +158,7 @@ F_VOID_FUNC cgsum2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, { case ' ': /* use MPI's reduction by default */ length = 1; - ierr=MPI_Op_create(BI_cMPI_sum, length, &BlacComb); + ierr=_MPI_Op_create(BI_cMPI_sum, length, &BlacComb); if (dest != -1) { ierr=MPI_Reduce(bp->Buff, bp2->Buff, bp->N, bp->dtype, BlacComb, diff --git a/BLACS/SRC/dgamn2d_.c b/BLACS/SRC/dgamn2d_.c index 2db5b05f..427e007b 100644 --- a/BLACS/SRC/dgamn2d_.c +++ b/BLACS/SRC/dgamn2d_.c @@ -264,11 +264,11 @@ F_VOID_FUNC dgamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, i = 1; if (Mpval(ldia) == -1) { - ierr=MPI_Op_create(BI_dMPI_amn2, i, &BlacComb); + ierr=_MPI_Op_create(BI_dMPI_amn2, i, &BlacComb); } else { - ierr=MPI_Op_create(BI_dMPI_amn, i, &BlacComb); + ierr=_MPI_Op_create(BI_dMPI_amn, i, &BlacComb); BI_AuxBuff.Len = N; /* set this up for the MPI OP wrappers */ } diff --git a/BLACS/SRC/dgamx2d_.c b/BLACS/SRC/dgamx2d_.c index 3b8ec100..ec49ddcb 100644 --- a/BLACS/SRC/dgamx2d_.c +++ b/BLACS/SRC/dgamx2d_.c @@ -264,11 +264,11 @@ F_VOID_FUNC dgamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, i = 1; if (Mpval(ldia) == -1) { - ierr=MPI_Op_create(BI_dMPI_amx2, i, &BlacComb); + ierr=_MPI_Op_create(BI_dMPI_amx2, i, &BlacComb); } else { - ierr=MPI_Op_create(BI_dMPI_amx, i, &BlacComb); + ierr=_MPI_Op_create(BI_dMPI_amx, i, &BlacComb); BI_AuxBuff.Len = N; /* set this up for the MPI OP wrappers */ } diff --git a/BLACS/SRC/igamn2d_.c b/BLACS/SRC/igamn2d_.c index d07694c9..fff99445 100644 --- a/BLACS/SRC/igamn2d_.c +++ b/BLACS/SRC/igamn2d_.c @@ -261,11 +261,11 @@ F_VOID_FUNC igamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, i = 1; if (Mpval(ldia) == -1) { - ierr=MPI_Op_create(BI_iMPI_amn2, i, &BlacComb); + ierr=_MPI_Op_create(BI_iMPI_amn2, i, &BlacComb); } else { - ierr=MPI_Op_create(BI_iMPI_amn, i, &BlacComb); + ierr=_MPI_Op_create(BI_iMPI_amn, i, &BlacComb); BI_AuxBuff.Len = N; /* set this up for the MPI OP wrappers */ } diff --git a/BLACS/SRC/igamx2d_.c b/BLACS/SRC/igamx2d_.c index ec4ced20..1ae912b8 100644 --- a/BLACS/SRC/igamx2d_.c +++ b/BLACS/SRC/igamx2d_.c @@ -261,11 +261,11 @@ F_VOID_FUNC igamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, i = 1; if (Mpval(ldia) == -1) { - ierr=MPI_Op_create(BI_iMPI_amx2, i, &BlacComb); + ierr=_MPI_Op_create(BI_iMPI_amx2, i, &BlacComb); } else { - ierr=MPI_Op_create(BI_iMPI_amx, i, &BlacComb); + ierr=_MPI_Op_create(BI_iMPI_amx, i, &BlacComb); BI_AuxBuff.Len = N; /* set this up for the MPI OP wrappers */ } diff --git a/BLACS/SRC/sgamn2d_.c b/BLACS/SRC/sgamn2d_.c index cccffcc4..21d08ed6 100644 --- a/BLACS/SRC/sgamn2d_.c +++ b/BLACS/SRC/sgamn2d_.c @@ -264,11 +264,11 @@ F_VOID_FUNC sgamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, i = 1; if (Mpval(ldia) == -1) { - ierr=MPI_Op_create(BI_sMPI_amn2, i, &BlacComb); + ierr=_MPI_Op_create(BI_sMPI_amn2, i, &BlacComb); } else { - ierr=MPI_Op_create(BI_sMPI_amn, i, &BlacComb); + ierr=_MPI_Op_create(BI_sMPI_amn, i, &BlacComb); BI_AuxBuff.Len = N; /* set this up for the MPI OP wrappers */ } diff --git a/BLACS/SRC/sgamx2d_.c b/BLACS/SRC/sgamx2d_.c index f0e5728a..d2382268 100644 --- a/BLACS/SRC/sgamx2d_.c +++ b/BLACS/SRC/sgamx2d_.c @@ -264,11 +264,11 @@ F_VOID_FUNC sgamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, i = 1; if (Mpval(ldia) == -1) { - ierr=MPI_Op_create(BI_sMPI_amx2, i, &BlacComb); + ierr=_MPI_Op_create(BI_sMPI_amx2, i, &BlacComb); } else { - ierr=MPI_Op_create(BI_sMPI_amx, i, &BlacComb); + ierr=_MPI_Op_create(BI_sMPI_amx, i, &BlacComb); BI_AuxBuff.Len = N; /* set this up for the MPI OP wrappers */ } diff --git a/BLACS/SRC/zgamn2d_.c b/BLACS/SRC/zgamn2d_.c index b073b037..32a6d788 100644 --- a/BLACS/SRC/zgamn2d_.c +++ b/BLACS/SRC/zgamn2d_.c @@ -264,11 +264,11 @@ F_VOID_FUNC zgamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, i = 1; if (Mpval(ldia) == -1) { - ierr=MPI_Op_create(BI_zMPI_amn2, i, &BlacComb); + ierr=_MPI_Op_create(BI_zMPI_amn2, i, &BlacComb); } else { - ierr=MPI_Op_create(BI_zMPI_amn, i, &BlacComb); + ierr=_MPI_Op_create(BI_zMPI_amn, i, &BlacComb); BI_AuxBuff.Len = N; /* set this up for the MPI OP wrappers */ } diff --git a/BLACS/SRC/zgamx2d_.c b/BLACS/SRC/zgamx2d_.c index 5af2ea02..1f8e1af4 100644 --- a/BLACS/SRC/zgamx2d_.c +++ b/BLACS/SRC/zgamx2d_.c @@ -264,11 +264,11 @@ F_VOID_FUNC zgamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, i = 1; if (Mpval(ldia) == -1) { - ierr=MPI_Op_create(BI_zMPI_amx2, i, &BlacComb); + ierr=_MPI_Op_create(BI_zMPI_amx2, i, &BlacComb); } else { - ierr=MPI_Op_create(BI_zMPI_amx, i, &BlacComb); + ierr=_MPI_Op_create(BI_zMPI_amx, i, &BlacComb); BI_AuxBuff.Len = N; /* set this up for the MPI OP wrappers */ } diff --git a/BLACS/SRC/zgsum2d_.c b/BLACS/SRC/zgsum2d_.c index d86bc83e..e8b26997 100644 --- a/BLACS/SRC/zgsum2d_.c +++ b/BLACS/SRC/zgsum2d_.c @@ -160,7 +160,7 @@ F_VOID_FUNC zgsum2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, { case ' ': /* use MPI's reduction by default */ length = 1; - ierr=MPI_Op_create(BI_zMPI_sum, length, &BlacComb); + ierr=_MPI_Op_create(BI_zMPI_sum, length, &BlacComb); if (dest != -1) { ierr=MPI_Reduce(bp->Buff, bp2->Buff, bp->N, bp->dtype, BlacComb, From 445651884f269d9437f1be0b2d745af521d35407 Mon Sep 17 00:00:00 2001 From: Davide Del Vento Date: Mon, 3 Nov 2025 14:48:24 -0700 Subject: [PATCH 10/18] using wrapper in all reduction sums --- BLACS/SRC/BI_cvvsum.c | 2 +- BLACS/SRC/BI_dvvsum.c | 4 ++-- BLACS/SRC/BI_ivvsum.c | 4 ++-- BLACS/SRC/BI_svvsum.c | 4 ++-- BLACS/SRC/BI_zvvsum.c | 4 ++-- BLACS/SRC/Bdef.h | 2 +- BLACS/SRC/dgsum2d_.c | 2 +- BLACS/SRC/igsum2d_.c | 2 +- BLACS/SRC/sgsum2d_.c | 2 +- BLACS/SRC/zgsum2d_.c | 2 +- 10 files changed, 14 insertions(+), 14 deletions(-) diff --git a/BLACS/SRC/BI_cvvsum.c b/BLACS/SRC/BI_cvvsum.c index f09ae9e5..20a66699 100644 --- a/BLACS/SRC/BI_cvvsum.c +++ b/BLACS/SRC/BI_cvvsum.c @@ -2,7 +2,7 @@ void BI_cvvsum(MpiInt N, char *vec1, char *vec2) { float *v1=(float*)vec1, *v2=(float*)vec2; - MpiInt k; // size_t might be more appropriate + MpiInt k; // size_t might be more appropriate, as in BI_cvvsum.c BI_dvvsum.c BI_ivvsum.c BI_svvsum.c BI_zvvsum.c N *=2; for (k=0; k < N; k++) v1[k] += v2[k]; } diff --git a/BLACS/SRC/BI_dvvsum.c b/BLACS/SRC/BI_dvvsum.c index 51bc59ea..6e06c7ae 100644 --- a/BLACS/SRC/BI_dvvsum.c +++ b/BLACS/SRC/BI_dvvsum.c @@ -1,7 +1,7 @@ #include "Bdef.h" -void BI_dvvsum(Int N, char *vec1, char *vec2) +void BI_dvvsum(MpiInt N, char *vec1, char *vec2) { double *v1=(double*)vec1, *v2=(double*)vec2; - Int k; + MpiInt k; // size_t might be more appropriate, as in BI_cvvsum.c BI_dvvsum.c BI_ivvsum.c BI_svvsum.c BI_zvvsum.c for (k=0; k < N; k++) v1[k] += v2[k]; } diff --git a/BLACS/SRC/BI_ivvsum.c b/BLACS/SRC/BI_ivvsum.c index 596b00ca..9c4eb6ef 100644 --- a/BLACS/SRC/BI_ivvsum.c +++ b/BLACS/SRC/BI_ivvsum.c @@ -1,7 +1,7 @@ #include "Bdef.h" -void BI_ivvsum(Int N, char *vec1, char *vec2) +void BI_ivvsum(MpiInt N, char *vec1, char *vec2) { Int *v1=(Int*)vec1, *v2=(Int*)vec2; - Int k; + MpiInt k; // size_t might be more appropriate, as in BI_cvvsum.c BI_dvvsum.c BI_ivvsum.c BI_svvsum.c BI_zvvsum.c for (k=0; k < N; k++) v1[k] += v2[k]; } diff --git a/BLACS/SRC/BI_svvsum.c b/BLACS/SRC/BI_svvsum.c index 3b455770..c5e7f95e 100644 --- a/BLACS/SRC/BI_svvsum.c +++ b/BLACS/SRC/BI_svvsum.c @@ -1,7 +1,7 @@ #include "Bdef.h" -void BI_svvsum(Int N, char *vec1, char *vec2) +void BI_svvsum(MpiInt N, char *vec1, char *vec2) { float *v1=(float*)vec1, *v2=(float*)vec2; - Int k; + MpiInt k; // size_t might be more appropriate, as in BI_cvvsum.c BI_dvvsum.c BI_ivvsum.c BI_svvsum.c BI_zvvsum.c for (k=0; k < N; k++) v1[k] += v2[k]; } diff --git a/BLACS/SRC/BI_zvvsum.c b/BLACS/SRC/BI_zvvsum.c index 4e002c07..d3bcc78c 100644 --- a/BLACS/SRC/BI_zvvsum.c +++ b/BLACS/SRC/BI_zvvsum.c @@ -1,8 +1,8 @@ #include "Bdef.h" -void BI_zvvsum(Int N, char *vec1, char *vec2) +void BI_zvvsum(MpiInt N, char *vec1, char *vec2) { double *v1=(double*)vec1, *v2=(double*)vec2; - Int k; + MpiInt k; // size_t might be more appropriate, as in BI_cvvsum.c BI_dvvsum.c BI_ivvsum.c BI_svvsum.c BI_zvvsum.c N *=2; for (k=0; k < N; k++) v1[k] += v2[k]; } diff --git a/BLACS/SRC/Bdef.h b/BLACS/SRC/Bdef.h index a9bc5e83..4c49e2e8 100644 --- a/BLACS/SRC/Bdef.h +++ b/BLACS/SRC/Bdef.h @@ -65,7 +65,7 @@ struct bLaCbUfF /* * Pointer to the combine's vector-vector functions */ -typedef void (*VVFUNPTR)(Int, char *, char *); +typedef void (*VVFUNPTR)(MpiInt, char *, char *); typedef void (*SDRVPTR)(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/dgsum2d_.c b/BLACS/SRC/dgsum2d_.c index c08c6306..94caf3bb 100644 --- a/BLACS/SRC/dgsum2d_.c +++ b/BLACS/SRC/dgsum2d_.c @@ -70,7 +70,7 @@ F_VOID_FUNC dgsum2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, void BI_TreeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); void BI_BeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR); - void BI_dvvsum(Int, char *, char *); + void BI_dvvsum(MpiInt, char *, char *); /* * Variable Declarations */ diff --git a/BLACS/SRC/igsum2d_.c b/BLACS/SRC/igsum2d_.c index bd6dd37c..29437ebc 100644 --- a/BLACS/SRC/igsum2d_.c +++ b/BLACS/SRC/igsum2d_.c @@ -70,7 +70,7 @@ F_VOID_FUNC igsum2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, void BI_TreeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); void BI_BeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR); - void BI_ivvsum(Int, char *, char *); + void BI_ivvsum(MpiInt, char *, char *); /* * Variable Declarations */ diff --git a/BLACS/SRC/sgsum2d_.c b/BLACS/SRC/sgsum2d_.c index 5707baaa..784c198f 100644 --- a/BLACS/SRC/sgsum2d_.c +++ b/BLACS/SRC/sgsum2d_.c @@ -70,7 +70,7 @@ F_VOID_FUNC sgsum2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, void BI_TreeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); void BI_BeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR); - void BI_svvsum(Int, char *, char *); + void BI_svvsum(MpiInt, char *, char *); /* * Variable Declarations */ diff --git a/BLACS/SRC/zgsum2d_.c b/BLACS/SRC/zgsum2d_.c index e8b26997..e05dbb40 100644 --- a/BLACS/SRC/zgsum2d_.c +++ b/BLACS/SRC/zgsum2d_.c @@ -70,7 +70,7 @@ F_VOID_FUNC zgsum2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, void BI_TreeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); void BI_BeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR); - void BI_zvvsum(Int, char *, char *); + void BI_zvvsum(MpiInt, char *, char *); void BI_zMPI_sum(void *, void *, MpiInt *, MPI_Datatype *); /* * Variable Declarations From f0c759bec74d30b4ff81f9cc8d37691d5046d040 Mon Sep 17 00:00:00 2001 From: Davide Del Vento Date: Mon, 3 Nov 2025 15:06:26 -0700 Subject: [PATCH 11/18] using wrapper in MPI_Type_create_struct (not sure about BigMPI for that) --- BLACS/SRC/Bconfig.h | 24 ++++++++++++++++++++++++ BLACS/SRC/igamx2d_.c | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/BLACS/SRC/Bconfig.h b/BLACS/SRC/Bconfig.h index 0cdce84d..1a50028c 100644 --- a/BLACS/SRC/Bconfig.h +++ b/BLACS/SRC/Bconfig.h @@ -37,6 +37,13 @@ inline int _MPI_Irecv(void *buf, MPI_Count count, MPI_Datatype datatype, inline int _MPI_Op_create(MPI_User_function_c *user_fn, int commute, MPI_Op *op) { return BigMPI_Op_create (user_fn, commute, op); } +inline int _MPI_Type_create_struct(MPI_Count count, + const MPI_Count array_of_blocklengths[], + const MPI_Count array_of_displacements[], + const MPI_Datatype array_of_types[], + MPI_Datatype *newtype) { + // not sure what to do here +} #else // no BIGMPI /* If there is no BigMPI, but there is * an MPI implementation v4.x use @@ -55,6 +62,15 @@ inline int _MPI_Irecv(void *buf, MPI_Count count, MPI_Datatype datatype, inline int _MPI_Op_create(MPI_User_function_c *user_fn, int commute, MPI_Op *op) { return MPI_Op_create_c (user_fn, commute, op); } +inline int _MPI_Type_create_struct(MPI_Count count, + const MPI_Count array_of_blocklengths[], + const MPI_Count array_of_displacements[], + const MPI_Datatype array_of_types[], + MPI_Datatype *newtype) { + return MPI_Type_create_struct_c(count, array_of_blocklengths, + array_of_displacements, array_of_types, + newtype); +} /* Otherwise default to non-big * transfers */ @@ -67,6 +83,14 @@ inline int _MPI_Irecv(void *buf, int count, MPI_Datatype datatype, inline int _MPI_Op_create(MPI_User_function *user_fn, int commute, MPI_Op *op) { return MPI_Op_create (user_fn, commute, op); } +inline int _MPI_Type_create_struct(int count, const int array_of_blocklengths[], + const MPI_Aint array_of_displacements[], + const MPI_Datatype array_of_types[], + MPI_Datatype *newtype) + return MPI_Type_create_struct(count, array_of_blocklengths, + array_of_displacements, array_of_types, + newtype); +} #endif // MPI version #endif // BIGMPI diff --git a/BLACS/SRC/igamx2d_.c b/BLACS/SRC/igamx2d_.c index 1ae912b8..758261df 100644 --- a/BLACS/SRC/igamx2d_.c +++ b/BLACS/SRC/igamx2d_.c @@ -218,7 +218,7 @@ F_VOID_FUNC igamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, { #endif i = 2; - ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); + ierr=_MPI_Type_create_struct(i, len, disp, dtypes, &MyType); ierr=MPI_Type_commit(&MyType); bp->N = bp2->N = 1; bp->dtype = bp2->dtype = MyType; From d9567627efdafa6442177f23623429272c2602fd Mon Sep 17 00:00:00 2001 From: Davide Del Vento Date: Mon, 3 Nov 2025 16:38:51 -0700 Subject: [PATCH 12/18] using the (newly defined version of) MpiInt in BI_cvvamx and BI_cvvamx2 --- BLACS/SRC/BI_cvvamx.c | 4 ++-- BLACS/SRC/BI_cvvamx2.c | 4 ++-- BLACS/SRC/cgamx2d_.c | 6 +++--- BLACS/SRC/dgamx2d_.c | 6 +++--- BLACS/SRC/igamx2d_.c | 4 ++-- BLACS/SRC/sgamx2d_.c | 6 +++--- BLACS/SRC/zgamx2d_.c | 6 +++--- 7 files changed, 18 insertions(+), 18 deletions(-) diff --git a/BLACS/SRC/BI_cvvamx.c b/BLACS/SRC/BI_cvvamx.c index aedc874a..359f8ecd 100644 --- a/BLACS/SRC/BI_cvvamx.c +++ b/BLACS/SRC/BI_cvvamx.c @@ -1,10 +1,10 @@ #include "Bdef.h" -void BI_cvvamx(Int N, char *vec1, char *vec2) +void BI_cvvamx(MpiInt N, char *vec1, char *vec2) { SCOMPLEX *v1=(SCOMPLEX*)vec1, *v2=(SCOMPLEX*)vec2; float diff; BI_DistType *dist1, *dist2; - Int i, k; + MpiInt i, k; k = N * sizeof(SCOMPLEX); i = k % sizeof(BI_DistType); diff --git a/BLACS/SRC/BI_cvvamx2.c b/BLACS/SRC/BI_cvvamx2.c index f680c9aa..89622336 100644 --- a/BLACS/SRC/BI_cvvamx2.c +++ b/BLACS/SRC/BI_cvvamx2.c @@ -1,7 +1,7 @@ #include "Bdef.h" -void BI_cvvamx2(Int N, char *vec1, char *vec2) +void BI_cvvamx2(MpiInt N, char *vec1, char *vec2) { - Int r, i; + MpiInt r, i; float *v1=(float*)vec1, *v2=(float*)vec2; float diff; diff --git a/BLACS/SRC/cgamx2d_.c b/BLACS/SRC/cgamx2d_.c index 210ef0b0..4513e24b 100644 --- a/BLACS/SRC/cgamx2d_.c +++ b/BLACS/SRC/cgamx2d_.c @@ -94,8 +94,8 @@ F_VOID_FUNC cgamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, void BI_TreeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); void BI_BeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR); - void BI_cvvamx(Int, char *, char *); - void BI_cvvamx2(Int, char *, char *); + void BI_cvvamx(MpiInt, char *, char *); + void BI_cvvamx2(MpiInt, char *, char *); void BI_cMPI_amx(void *, void *, MpiInt *, MPI_Datatype *); void BI_cMPI_amx2(void *, void *, MpiInt *, MPI_Datatype *); /* @@ -221,7 +221,7 @@ F_VOID_FUNC cgamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, { #endif i = 2; - ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); + ierr=_MPI_Type_create_struct(i, len, disp, dtypes, &MyType); ierr=MPI_Type_commit(&MyType); bp->N = bp2->N = 1; bp->dtype = bp2->dtype = MyType; diff --git a/BLACS/SRC/dgamx2d_.c b/BLACS/SRC/dgamx2d_.c index ec49ddcb..8ab76469 100644 --- a/BLACS/SRC/dgamx2d_.c +++ b/BLACS/SRC/dgamx2d_.c @@ -94,8 +94,8 @@ F_VOID_FUNC dgamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, void BI_TreeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); void BI_BeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR); - void BI_dvvamx(Int, char *, char *); - void BI_dvvamx2(Int, char *, char *); + void BI_dvvamx(MpiInt, char *, char *); + void BI_dvvamx2(MpiInt, char *, char *); void BI_dMPI_amx(void *, void *, MpiInt *, MPI_Datatype *); void BI_dMPI_amx2(void *, void *, MpiInt *, MPI_Datatype *); /* @@ -221,7 +221,7 @@ F_VOID_FUNC dgamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, { #endif i = 2; - ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); + ierr=_MPI_Type_create_struct(i, len, disp, dtypes, &MyType); ierr=MPI_Type_commit(&MyType); bp->N = bp2->N = 1; bp->dtype = bp2->dtype = MyType; diff --git a/BLACS/SRC/igamx2d_.c b/BLACS/SRC/igamx2d_.c index 758261df..32c87a7f 100644 --- a/BLACS/SRC/igamx2d_.c +++ b/BLACS/SRC/igamx2d_.c @@ -92,8 +92,8 @@ F_VOID_FUNC igamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, void BI_TreeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); void BI_BeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR); - void BI_ivvamx(Int, char *, char *); - void BI_ivvamx2(Int, char *, char *); + void BI_ivvamx(MpiInt, char *, char *); + void BI_ivvamx2(MpiInt, char *, char *); void BI_iMPI_amx(void *, void *, MpiInt *, MPI_Datatype *); void BI_iMPI_amx2(void *, void *, MpiInt *, MPI_Datatype *); /* diff --git a/BLACS/SRC/sgamx2d_.c b/BLACS/SRC/sgamx2d_.c index d2382268..8378c9eb 100644 --- a/BLACS/SRC/sgamx2d_.c +++ b/BLACS/SRC/sgamx2d_.c @@ -94,8 +94,8 @@ F_VOID_FUNC sgamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, void BI_TreeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); void BI_BeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR); - void BI_svvamx(Int, char *, char *); - void BI_svvamx2(Int, char *, char *); + void BI_svvamx(MpiInt, char *, char *); + void BI_svvamx2(MpiInt, char *, char *); void BI_sMPI_amx(void *, void *, MpiInt *, MPI_Datatype *); void BI_sMPI_amx2(void *, void *, MpiInt *, MPI_Datatype *); /* @@ -221,7 +221,7 @@ F_VOID_FUNC sgamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, { #endif i = 2; - ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); + ierr=_MPI_Type_create_struct(i, len, disp, dtypes, &MyType); ierr=MPI_Type_commit(&MyType); bp->N = bp2->N = 1; bp->dtype = bp2->dtype = MyType; diff --git a/BLACS/SRC/zgamx2d_.c b/BLACS/SRC/zgamx2d_.c index 1f8e1af4..16de6b07 100644 --- a/BLACS/SRC/zgamx2d_.c +++ b/BLACS/SRC/zgamx2d_.c @@ -94,8 +94,8 @@ F_VOID_FUNC zgamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, void BI_TreeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); void BI_BeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR); - void BI_zvvamx(Int, char *, char *); - void BI_zvvamx2(Int, char *, char *); + void BI_zvvamx(MpiInt, char *, char *); + void BI_zvvamx2(MpiInt, char *, char *); void BI_zMPI_amx(void *, void *, MpiInt *, MPI_Datatype *); void BI_zMPI_amx2(void *, void *, MpiInt *, MPI_Datatype *); /* @@ -221,7 +221,7 @@ F_VOID_FUNC zgamx2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, { #endif i = 2; - ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); + ierr=_MPI_Type_create_struct(i, len, disp, dtypes, &MyType); ierr=MPI_Type_commit(&MyType); bp->N = bp2->N = 1; bp->dtype = bp2->dtype = MyType; From 593cc572bb508a709e45d0da93184ebb2633f4da Mon Sep 17 00:00:00 2001 From: Davide Del Vento Date: Mon, 3 Nov 2025 16:45:44 -0700 Subject: [PATCH 13/18] using the (newly defined version of) MpiInt in BI_ivvamn and BI_ivvamn2 --- BLACS/SRC/BI_ivvamn.c | 4 ++-- BLACS/SRC/BI_ivvamn2.c | 4 ++-- BLACS/SRC/cgamn2d_.c | 6 +++--- BLACS/SRC/dgamn2d_.c | 6 +++--- BLACS/SRC/igamn2d_.c | 6 +++--- BLACS/SRC/sgamn2d_.c | 6 +++--- BLACS/SRC/zgamn2d_.c | 6 +++--- 7 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BLACS/SRC/BI_ivvamn.c b/BLACS/SRC/BI_ivvamn.c index c21bf7d5..80fbcdac 100644 --- a/BLACS/SRC/BI_ivvamn.c +++ b/BLACS/SRC/BI_ivvamn.c @@ -1,10 +1,10 @@ #include "Bdef.h" -void BI_ivvamn(Int N, char *vec1, char *vec2) +void BI_ivvamn(MpiInt N, char *vec1, char *vec2) { Int *v1=(Int*)vec1, *v2=(Int*)vec2; Int diff; BI_DistType *dist1, *dist2; - Int i, k; + MpiInt i, k; k = N * sizeof(Int); i = k % sizeof(BI_DistType); diff --git a/BLACS/SRC/BI_ivvamn2.c b/BLACS/SRC/BI_ivvamn2.c index d9a22f75..c89755fa 100644 --- a/BLACS/SRC/BI_ivvamn2.c +++ b/BLACS/SRC/BI_ivvamn2.c @@ -1,8 +1,8 @@ #include "Bdef.h" -void BI_ivvamn2(Int N, char *vec1, char *vec2) +void BI_ivvamn2(MpiInt N, char *vec1, char *vec2) { - Int k; + MpiInt k; Int *v1=(Int*)vec1, *v2=(Int*)vec2; Int diff; diff --git a/BLACS/SRC/cgamn2d_.c b/BLACS/SRC/cgamn2d_.c index c7ec6456..773c1a23 100644 --- a/BLACS/SRC/cgamn2d_.c +++ b/BLACS/SRC/cgamn2d_.c @@ -94,8 +94,8 @@ F_VOID_FUNC cgamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, void BI_TreeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); void BI_BeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR); - void BI_cvvamn(Int, char *, char *); - void BI_cvvamn2(Int, char *, char *); + void BI_cvvamn(MpiInt, char *, char *); + void BI_cvvamn2(MpiInt, char *, char *); void BI_cMPI_amn(void *, void *, MpiInt *, MPI_Datatype *); void BI_cMPI_amn2(void *, void *, MpiInt *, MPI_Datatype *); /* @@ -221,7 +221,7 @@ F_VOID_FUNC cgamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, { #endif i = 2; - ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); + ierr=_MPI_Type_create_struct(i, len, disp, dtypes, &MyType); ierr=MPI_Type_commit(&MyType); bp->N = bp2->N = 1; bp->dtype = bp2->dtype = MyType; diff --git a/BLACS/SRC/dgamn2d_.c b/BLACS/SRC/dgamn2d_.c index 427e007b..d861253c 100644 --- a/BLACS/SRC/dgamn2d_.c +++ b/BLACS/SRC/dgamn2d_.c @@ -94,8 +94,8 @@ F_VOID_FUNC dgamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, void BI_TreeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); void BI_BeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR); - void BI_dvvamn(Int, char *, char *); - void BI_dvvamn2(Int, char *, char *); + void BI_dvvamn(MpiInt, char *, char *); + void BI_dvvamn2(MpiInt, char *, char *); void BI_dMPI_amn(void *, void *, MpiInt *, MPI_Datatype *); void BI_dMPI_amn2(void *, void *, MpiInt *, MPI_Datatype *); /* @@ -221,7 +221,7 @@ F_VOID_FUNC dgamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, { #endif i = 2; - ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); + ierr=_MPI_Type_create_struct(i, len, disp, dtypes, &MyType); ierr=MPI_Type_commit(&MyType); bp->N = bp2->N = 1; bp->dtype = bp2->dtype = MyType; diff --git a/BLACS/SRC/igamn2d_.c b/BLACS/SRC/igamn2d_.c index fff99445..65dfbc48 100644 --- a/BLACS/SRC/igamn2d_.c +++ b/BLACS/SRC/igamn2d_.c @@ -92,8 +92,8 @@ F_VOID_FUNC igamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, void BI_TreeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); void BI_BeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR); - void BI_ivvamn(Int, char *, char *); - void BI_ivvamn2(Int, char *, char *); + void BI_ivvamn(MpiInt, char *, char *); + void BI_ivvamn2(MpiInt, char *, char *); void BI_iMPI_amn(void *, void *, MpiInt *, MPI_Datatype *); void BI_iMPI_amn2(void *, void *, MpiInt *, MPI_Datatype *); /* @@ -218,7 +218,7 @@ F_VOID_FUNC igamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, { #endif i = 2; - ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); + ierr=_MPI_Type_create_struct(i, len, disp, dtypes, &MyType); ierr=MPI_Type_commit(&MyType); bp->N = bp2->N = 1; bp->dtype = bp2->dtype = MyType; diff --git a/BLACS/SRC/sgamn2d_.c b/BLACS/SRC/sgamn2d_.c index 21d08ed6..b536ff9a 100644 --- a/BLACS/SRC/sgamn2d_.c +++ b/BLACS/SRC/sgamn2d_.c @@ -94,8 +94,8 @@ F_VOID_FUNC sgamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, void BI_TreeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); void BI_BeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR); - void BI_svvamn(Int, char *, char *); - void BI_svvamn2(Int, char *, char *); + void BI_svvamn(MpiInt, char *, char *); + void BI_svvamn2(MpiInt, char *, char *); void BI_sMPI_amn(void *, void *, MpiInt *, MPI_Datatype *); void BI_sMPI_amn2(void *, void *, MpiInt *, MPI_Datatype *); /* @@ -221,7 +221,7 @@ F_VOID_FUNC sgamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, { #endif i = 2; - ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); + ierr=_MPI_Type_create_struct(i, len, disp, dtypes, &MyType); ierr=MPI_Type_commit(&MyType); bp->N = bp2->N = 1; bp->dtype = bp2->dtype = MyType; diff --git a/BLACS/SRC/zgamn2d_.c b/BLACS/SRC/zgamn2d_.c index 32a6d788..1f64124a 100644 --- a/BLACS/SRC/zgamn2d_.c +++ b/BLACS/SRC/zgamn2d_.c @@ -94,8 +94,8 @@ F_VOID_FUNC zgamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, void BI_TreeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR, Int, Int); void BI_BeComb(BLACSCONTEXT *, BLACBUFF *, BLACBUFF *, Int, VVFUNPTR); - void BI_zvvamn(Int, char *, char *); - void BI_zvvamn2(Int, char *, char *); + void BI_zvvamn(MpiInt, char *, char *); + void BI_zvvamn2(MpiInt, char *, char *); void BI_zMPI_amn(void *, void *, MpiInt *, MPI_Datatype *); void BI_zMPI_amn2(void *, void *, MpiInt *, MPI_Datatype *); /* @@ -221,7 +221,7 @@ F_VOID_FUNC zgamn2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, { #endif i = 2; - ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); + ierr=_MPI_Type_create_struct(i, len, disp, dtypes, &MyType); ierr=MPI_Type_commit(&MyType); bp->N = bp2->N = 1; bp->dtype = bp2->dtype = MyType; From 97fbdb679f5d7d82e58276df8ffd724c5327a1ed Mon Sep 17 00:00:00 2001 From: Davide Del Vento Date: Mon, 3 Nov 2025 16:55:19 -0700 Subject: [PATCH 14/18] removing Int and MpiInt from places where not appropriate for MPI --- BLACS/SRC/blacs_get_.c | 2 +- BLACS/SRC/blacs_map_.c | 4 ++-- BLACS/SRC/blacs_pinfo_.c | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/BLACS/SRC/blacs_get_.c b/BLACS/SRC/blacs_get_.c index ac59a47f..4a5df248 100644 --- a/BLACS/SRC/blacs_get_.c +++ b/BLACS/SRC/blacs_get_.c @@ -7,7 +7,7 @@ F_VOID_FUNC blacs_get_(Int *ConTxt, Int *what, Int *val) { Int Csys2blacs_handle(MPI_Comm); Int ierr, *iptr; - MpiInt flag; + int flag; Int comm; BLACSCONTEXT *ctxt; diff --git a/BLACS/SRC/blacs_map_.c b/BLACS/SRC/blacs_map_.c index 66394d8f..93eca1fd 100644 --- a/BLACS/SRC/blacs_map_.c +++ b/BLACS/SRC/blacs_map_.c @@ -13,7 +13,7 @@ F_VOID_FUNC blacs_gridmap_(Int *ConTxt, Int *usermap, Int *ldup, Int *nprow0, MPI_Comm Cblacs2sys_handle(Int BlacsCtxt); MPI_Comm BI_TransUserComm(Int, Int, Int *); - MpiInt Iam; + int Iam; Int info, i, j, *iptr; Int myrow, mycol, nprow, npcol, Ng; BLACSCONTEXT *ctxt, **tCTxts; @@ -53,7 +53,7 @@ F_VOID_FUNC blacs_gridmap_(Int *ConTxt, Int *usermap, Int *ldup, Int *nprow0, for (i=0; i < nprow; i++) iptr[i*npcol+j] = usermap[j*Mpval(ldup)+i]; } #if (INTFACE == C_CALL) - MpiInt *miptr = (MpiInt *) malloc(Ng*sizeof(MpiInt)); + int *miptr = (int *) malloc(Ng*sizeof(int)); for (j=0; j < Ng; j++) miptr[j] = iptr[j]; tcomm = Cblacs2sys_handle(*ConTxt); MPI_Comm_group(tcomm, &grp); /* find input comm's group */ diff --git a/BLACS/SRC/blacs_pinfo_.c b/BLACS/SRC/blacs_pinfo_.c index b878e23d..cfb43fca 100644 --- a/BLACS/SRC/blacs_pinfo_.c +++ b/BLACS/SRC/blacs_pinfo_.c @@ -6,10 +6,10 @@ void Cblacs_pinfo(Int *mypnum, Int *nprocs) F_VOID_FUNC blacs_pinfo_(Int *mypnum, Int *nprocs) #endif { - Int ierr; + int ierr; extern Int BI_Iam, BI_Np; - MpiInt flag, Iam = BI_Iam, Np = BI_Np; - MpiInt argc=0; + int flag, Iam = BI_Iam, Np = BI_Np; + int argc=0; char **argv=NULL; if (BI_COMM_WORLD == NULL) { From dfa031dba4ecb266d53f011beb050a7d06e4545f Mon Sep 17 00:00:00 2001 From: Davide Del Vento Date: Mon, 3 Nov 2025 17:00:51 -0700 Subject: [PATCH 15/18] wrappers for MPI_Isend --- BLACS/SRC/Bconfig.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/BLACS/SRC/Bconfig.h b/BLACS/SRC/Bconfig.h index 1a50028c..accd9e4d 100644 --- a/BLACS/SRC/Bconfig.h +++ b/BLACS/SRC/Bconfig.h @@ -30,6 +30,10 @@ */ #ifdef BIGMPI #define MpiInt MPI_Count +inline int _MPI_Isend(const void *buf, MPI_Count count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request *request) { + return MPIX_Isend_x(buf, count, datatype, dest, tag, comm, request); +} inline int _MPI_Irecv(void *buf, MPI_Count count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request) { return MPIX_Irecv_x (buf, count, datatype, source, tag, comm, request); @@ -55,6 +59,10 @@ inline int _MPI_Type_create_struct(MPI_Count count, */ #if MPI_VERSION==4 #define MpiInt MPI_Count +inline int _MPI_Isend(const void *buf, MPI_Count count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request *request) { + return MPI_Isend_c(buf, count, datatype, dest, tag, comm, request); +} inline int _MPI_Irecv(void *buf, MPI_Count count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request) { return MPI_Irecv_c (buf, count, datatype, source, tag, comm, request); @@ -76,6 +84,10 @@ inline int _MPI_Type_create_struct(MPI_Count count, */ #else // no MPI v4 #define MpiInt int +inline int _MPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request *request) { + return MPI_Isend(buf, count, datatype, dest, tag, comm, request); +} inline int _MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request) { return MPI_Irecv (buf, count, datatype, source, tag, comm, request); From 88e10a69cc46441720457191867d7200144c6cc9 Mon Sep 17 00:00:00 2001 From: Davide Del Vento Date: Mon, 3 Nov 2025 17:12:40 -0700 Subject: [PATCH 16/18] removing Int and MpiInt from additional places where not appropriate for MPI --- BLACS/SRC/BI_BuffIsFree.c | 2 +- BLACS/SRC/BI_Pack.c | 3 ++- BLACS/SRC/BI_Unpack.c | 5 ++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/BLACS/SRC/BI_BuffIsFree.c b/BLACS/SRC/BI_BuffIsFree.c index 18565565..71588c2e 100644 --- a/BLACS/SRC/BI_BuffIsFree.c +++ b/BLACS/SRC/BI_BuffIsFree.c @@ -6,7 +6,7 @@ Int BI_BuffIsFree(BLACBUFF *bp, Int Wait) * wait for all async. operations to complete. */ { - MpiInt i, info; + int i, info; extern MPI_Status *BI_Stats; extern Int BI_Np; diff --git a/BLACS/SRC/BI_Pack.c b/BLACS/SRC/BI_Pack.c index fdcc3580..ffa659a0 100644 --- a/BLACS/SRC/BI_Pack.c +++ b/BLACS/SRC/BI_Pack.c @@ -2,7 +2,7 @@ BLACBUFF *BI_Pack(BLACSCONTEXT *ctxt,BVOID *A,BLACBUFF *bp,MPI_Datatype Dtype) { BLACBUFF *BI_GetBuff(Int); - MpiInt i, info, one=1; + int i, info, one=1; MPI_Aint eltsiz; #ifdef ZeroByteTypeBug char *cptr; @@ -38,6 +38,7 @@ BLACBUFF *BI_Pack(BLACSCONTEXT *ctxt,BVOID *A,BLACBUFF *bp,MPI_Datatype Dtype) #endif if (bp == NULL) { + // MPI_Pack_size_c exists but no need to invoke it for a count of one==1 info=MPI_Pack_size(one, Dtype, ctxt->scp->comm, &i); bp = BI_GetBuff(i); } diff --git a/BLACS/SRC/BI_Unpack.c b/BLACS/SRC/BI_Unpack.c index 96bc7296..7bf1e862 100644 --- a/BLACS/SRC/BI_Unpack.c +++ b/BLACS/SRC/BI_Unpack.c @@ -2,7 +2,7 @@ void BI_Unpack(BLACSCONTEXT *ctxt, BVOID *A, BLACBUFF *bp, MPI_Datatype Dtype) { - MpiInt i=0, info, one=1; + int i=0, info, one=1; /* * Some versions of mpich and its derivitives cannot handle 0 byte typedefs, @@ -11,6 +11,9 @@ void BI_Unpack(BLACSCONTEXT *ctxt, BVOID *A, BLACBUFF *bp, MPI_Datatype Dtype) #ifdef ZeroByteTypeBug if (Dtype == MPI_BYTE) return; #endif + // TODO + // MPI_Unpack_c exists but no need to invoke it for a count of one==1 + // however not clear how to handle bp->Len which may be 64-bit, see BLACS/SRC/Bdef.h:54 info=MPI_Unpack(bp->Buff, bp->Len, &i, A, one, Dtype, ctxt->scp->comm); info=MPI_Type_free(&Dtype); } From 3f885e8c128b6eda8364b31c038d24fc3bc392fc Mon Sep 17 00:00:00 2001 From: Davide Del Vento Date: Mon, 3 Nov 2025 17:30:46 -0700 Subject: [PATCH 17/18] wrapper for MPI_Type_indexed and MpiInt for BI_GetMpiTrType --- BLACS/SRC/BI_GetMpiTrType.c | 4 ++-- BLACS/SRC/Bconfig.h | 19 ++++++++++++++++++- BLACS/SRC/ctrbr2d_.c | 2 +- BLACS/SRC/ctrbs2d_.c | 2 +- BLACS/SRC/ctrrv2d_.c | 2 +- BLACS/SRC/ctrsd2d_.c | 2 +- BLACS/SRC/dtrbr2d_.c | 2 +- BLACS/SRC/dtrbs2d_.c | 2 +- BLACS/SRC/dtrrv2d_.c | 2 +- BLACS/SRC/dtrsd2d_.c | 2 +- BLACS/SRC/itrbr2d_.c | 2 +- BLACS/SRC/itrbs2d_.c | 2 +- BLACS/SRC/itrrv2d_.c | 2 +- BLACS/SRC/itrsd2d_.c | 2 +- BLACS/SRC/strbr2d_.c | 2 +- BLACS/SRC/strrv2d_.c | 2 +- BLACS/SRC/strsd2d_.c | 2 +- BLACS/SRC/ztrbr2d_.c | 2 +- BLACS/SRC/ztrbs2d_.c | 2 +- BLACS/SRC/ztrrv2d_.c | 2 +- BLACS/SRC/ztrsd2d_.c | 2 +- 21 files changed, 39 insertions(+), 22 deletions(-) diff --git a/BLACS/SRC/BI_GetMpiTrType.c b/BLACS/SRC/BI_GetMpiTrType.c index 431695f3..c14400e9 100644 --- a/BLACS/SRC/BI_GetMpiTrType.c +++ b/BLACS/SRC/BI_GetMpiTrType.c @@ -1,7 +1,7 @@ #include "Bdef.h" MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *ctxt, char uplo, char diag, - Int m, Int n, Int lda, MPI_Datatype Dtype, + MpiInt m, MpiInt n, Int lda, MPI_Datatype Dtype, MpiInt *N) { BLACBUFF *BI_GetBuff(Int); @@ -116,7 +116,7 @@ MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *ctxt, char uplo, char diag, } #endif - i=MPI_Type_indexed(n, len, disp, Dtype, &TrType); + i=_MPI_Type_indexed(n, len, disp, Dtype, &TrType); i=MPI_Type_commit(&TrType); return(TrType); } diff --git a/BLACS/SRC/Bconfig.h b/BLACS/SRC/Bconfig.h index accd9e4d..8c117c99 100644 --- a/BLACS/SRC/Bconfig.h +++ b/BLACS/SRC/Bconfig.h @@ -46,7 +46,12 @@ inline int _MPI_Type_create_struct(MPI_Count count, const MPI_Count array_of_displacements[], const MPI_Datatype array_of_types[], MPI_Datatype *newtype) { - // not sure what to do here + // TODO not sure what to do here +} +inline int _MPI_Type_indexed(MPI_Count count, const MPI_Count array_of_blocklengths[], + const MPI_Count array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype *newtype) { + // TODO not sure what to do here } #else // no BIGMPI /* If there is no BigMPI, but there is @@ -79,6 +84,12 @@ inline int _MPI_Type_create_struct(MPI_Count count, array_of_displacements, array_of_types, newtype); } +inline int _MPI_Type_indexed(MPI_Count count, const MPI_Count array_of_blocklengths[], + const MPI_Count array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype *newtype) { + return MPI_Type_indexed_c(count, array_of_blocklengths, array_of_displacements, + oldtype, newtype); +} /* Otherwise default to non-big * transfers */ @@ -103,6 +114,12 @@ inline int _MPI_Type_create_struct(int count, const int array_of_blocklengths[], array_of_displacements, array_of_types, newtype); } +int MPI_Type_indexed(int count, const int array_of_blocklengths[], + const int array_of_displacements[], MPI_Datatype oldtype, + MPI_Datatype *newtype) { + return MPI_Type_indexed(count, array_of_blocklengths, array_of_displacements, + oldtype, newtype); +} #endif // MPI version #endif // BIGMPI diff --git a/BLACS/SRC/ctrbr2d_.c b/BLACS/SRC/ctrbr2d_.c index eb7cc3f5..8c2f9972 100644 --- a/BLACS/SRC/ctrbr2d_.c +++ b/BLACS/SRC/ctrbr2d_.c @@ -78,7 +78,7 @@ F_VOID_FUNC ctrbr2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, F_CHAR uplo, void BI_UpdateBuffs(BLACBUFF *); BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); - MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, + MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, MpiInt, MpiInt, Int, MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/ctrbs2d_.c b/BLACS/SRC/ctrbs2d_.c index 3b4a42be..a7bce82d 100644 --- a/BLACS/SRC/ctrbs2d_.c +++ b/BLACS/SRC/ctrbs2d_.c @@ -69,7 +69,7 @@ F_VOID_FUNC ctrbs2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, F_CHAR uplo, void BI_UpdateBuffs(BLACBUFF *); BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); - MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, + MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, MpiInt, MpiInt, Int, MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/ctrrv2d_.c b/BLACS/SRC/ctrrv2d_.c index 75f58c96..8cd02c94 100644 --- a/BLACS/SRC/ctrrv2d_.c +++ b/BLACS/SRC/ctrrv2d_.c @@ -63,7 +63,7 @@ F_VOID_FUNC ctrrv2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, */ void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); - MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, + MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, MpiInt, MpiInt, Int, MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Srecv(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/ctrsd2d_.c b/BLACS/SRC/ctrsd2d_.c index 411ba05e..98288c27 100644 --- a/BLACS/SRC/ctrsd2d_.c +++ b/BLACS/SRC/ctrsd2d_.c @@ -58,7 +58,7 @@ F_VOID_FUNC ctrsd2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, { void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); - MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, + MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, MpiInt, MpiInt, Int, MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/dtrbr2d_.c b/BLACS/SRC/dtrbr2d_.c index 8f150a00..e4a35976 100644 --- a/BLACS/SRC/dtrbr2d_.c +++ b/BLACS/SRC/dtrbr2d_.c @@ -78,7 +78,7 @@ F_VOID_FUNC dtrbr2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, F_CHAR uplo, void BI_UpdateBuffs(BLACBUFF *); BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); - MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, + MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, MpiInt, MpiInt, Int, MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/dtrbs2d_.c b/BLACS/SRC/dtrbs2d_.c index dbf64dd7..c411c874 100644 --- a/BLACS/SRC/dtrbs2d_.c +++ b/BLACS/SRC/dtrbs2d_.c @@ -69,7 +69,7 @@ F_VOID_FUNC dtrbs2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, F_CHAR uplo, void BI_UpdateBuffs(BLACBUFF *); BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); - MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, + MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, MpiInt, MpiInt, Int, MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/dtrrv2d_.c b/BLACS/SRC/dtrrv2d_.c index 202debb5..cd378c74 100644 --- a/BLACS/SRC/dtrrv2d_.c +++ b/BLACS/SRC/dtrrv2d_.c @@ -63,7 +63,7 @@ F_VOID_FUNC dtrrv2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, */ void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); - MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, + MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, MpiInt, MpiInt, Int, MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Srecv(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/dtrsd2d_.c b/BLACS/SRC/dtrsd2d_.c index 11039e0f..9c9d739a 100644 --- a/BLACS/SRC/dtrsd2d_.c +++ b/BLACS/SRC/dtrsd2d_.c @@ -58,7 +58,7 @@ F_VOID_FUNC dtrsd2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, { void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); - MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, + MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, MpiInt, MpiInt, Int, MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/itrbr2d_.c b/BLACS/SRC/itrbr2d_.c index 97748f98..cdf37417 100644 --- a/BLACS/SRC/itrbr2d_.c +++ b/BLACS/SRC/itrbr2d_.c @@ -78,7 +78,7 @@ F_VOID_FUNC itrbr2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, F_CHAR uplo, void BI_UpdateBuffs(BLACBUFF *); BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); - MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, + MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, MpiInt, MpiInt, Int, MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/itrbs2d_.c b/BLACS/SRC/itrbs2d_.c index 3b23e6e6..5018c2c7 100644 --- a/BLACS/SRC/itrbs2d_.c +++ b/BLACS/SRC/itrbs2d_.c @@ -69,7 +69,7 @@ F_VOID_FUNC itrbs2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, F_CHAR uplo, void BI_UpdateBuffs(BLACBUFF *); BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); - MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, + MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, MpiInt, MpiInt, Int, MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/itrrv2d_.c b/BLACS/SRC/itrrv2d_.c index e533c529..f457f7e0 100644 --- a/BLACS/SRC/itrrv2d_.c +++ b/BLACS/SRC/itrrv2d_.c @@ -63,7 +63,7 @@ F_VOID_FUNC itrrv2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, */ void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); - MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, + MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, MpiInt, MpiInt, Int, MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Srecv(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/itrsd2d_.c b/BLACS/SRC/itrsd2d_.c index 581a60e4..a90b0e76 100644 --- a/BLACS/SRC/itrsd2d_.c +++ b/BLACS/SRC/itrsd2d_.c @@ -58,7 +58,7 @@ F_VOID_FUNC itrsd2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, { void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); - MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, + MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, MpiInt, MpiInt, Int, MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/strbr2d_.c b/BLACS/SRC/strbr2d_.c index b03d8fbe..70ae78d2 100644 --- a/BLACS/SRC/strbr2d_.c +++ b/BLACS/SRC/strbr2d_.c @@ -78,7 +78,7 @@ F_VOID_FUNC strbr2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, F_CHAR uplo, void BI_UpdateBuffs(BLACBUFF *); BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); - MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, + MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, MpiInt, MpiInt, Int, MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/strrv2d_.c b/BLACS/SRC/strrv2d_.c index dfae2133..e1d96a17 100644 --- a/BLACS/SRC/strrv2d_.c +++ b/BLACS/SRC/strrv2d_.c @@ -63,7 +63,7 @@ F_VOID_FUNC strrv2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, */ void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); - MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, + MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, MpiInt, MpiInt, Int, MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Srecv(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/strsd2d_.c b/BLACS/SRC/strsd2d_.c index 068bf4d5..410265bf 100644 --- a/BLACS/SRC/strsd2d_.c +++ b/BLACS/SRC/strsd2d_.c @@ -58,7 +58,7 @@ F_VOID_FUNC strsd2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, { void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); - MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, + MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, MpiInt, MpiInt, Int, MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/ztrbr2d_.c b/BLACS/SRC/ztrbr2d_.c index 336f50ce..8597d8f8 100644 --- a/BLACS/SRC/ztrbr2d_.c +++ b/BLACS/SRC/ztrbr2d_.c @@ -78,7 +78,7 @@ F_VOID_FUNC ztrbr2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, F_CHAR uplo, void BI_UpdateBuffs(BLACBUFF *); BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); - MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, + MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, MpiInt, MpiInt, Int, MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/ztrbs2d_.c b/BLACS/SRC/ztrbs2d_.c index 1cd64bef..0e3310c9 100644 --- a/BLACS/SRC/ztrbs2d_.c +++ b/BLACS/SRC/ztrbs2d_.c @@ -69,7 +69,7 @@ F_VOID_FUNC ztrbs2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, F_CHAR uplo, void BI_UpdateBuffs(BLACBUFF *); BLACBUFF *BI_GetBuff(Int); Int BI_BuffIsFree(BLACBUFF *, Int); - MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, + MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, MpiInt, MpiInt, Int, MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/ztrrv2d_.c b/BLACS/SRC/ztrrv2d_.c index 994a8edb..27b59df0 100644 --- a/BLACS/SRC/ztrrv2d_.c +++ b/BLACS/SRC/ztrrv2d_.c @@ -63,7 +63,7 @@ F_VOID_FUNC ztrrv2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, */ void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); - MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, + MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, MpiInt, MpiInt, Int, MPI_Datatype, MpiInt *); void BI_Unpack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Srecv(BLACSCONTEXT *, Int, Int, BLACBUFF *); diff --git a/BLACS/SRC/ztrsd2d_.c b/BLACS/SRC/ztrsd2d_.c index 8a6636c3..684b4efc 100644 --- a/BLACS/SRC/ztrsd2d_.c +++ b/BLACS/SRC/ztrsd2d_.c @@ -58,7 +58,7 @@ F_VOID_FUNC ztrsd2d_(Int *ConTxt, F_CHAR uplo, F_CHAR diag, Int *m, Int *n, { void BI_ArgCheck(Int, Int, char *, char, char, char, Int, Int, Int, Int, Int *, Int *); - MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, Int, Int, Int, + MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *, char, char, MpiInt, MpiInt, Int, MPI_Datatype, MpiInt *); BLACBUFF *BI_Pack(BLACSCONTEXT *, BVOID *, BLACBUFF *, MPI_Datatype); void BI_Ssend(BLACSCONTEXT *, Int, Int, BLACBUFF *); From 51955afb1970eaade699b854ace99c9902b6c861 Mon Sep 17 00:00:00 2001 From: Davide Del Vento Date: Mon, 3 Nov 2025 17:34:56 -0700 Subject: [PATCH 18/18] removing Int and MpiInt from BI_TransUserComm where not appropriate for MPI --- BLACS/SRC/BI_TransUserComm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BLACS/SRC/BI_TransUserComm.c b/BLACS/SRC/BI_TransUserComm.c index 4f35ba48..8aef3da6 100644 --- a/BLACS/SRC/BI_TransUserComm.c +++ b/BLACS/SRC/BI_TransUserComm.c @@ -1,12 +1,12 @@ #include "Bdef.h" -MPI_Comm BI_TransUserComm(Int Ucomm, Int Np, Int *pmap) +MPI_Comm BI_TransUserComm(Int Ucomm, int Np, Int *pmap) { MPI_Comm bcomm, ucomm; MPI_Group bgrp, ugrp; Int i; - MpiInt *mpmap = (MpiInt *)malloc(Np * sizeof(MpiInt)); + int *mpmap = (int *)malloc(Np * sizeof(int)); for (i=0; i