diff --git a/science/hypre/Makefile b/science/hypre/Makefile index 9f220b712de7c..b941e7dc90537 100644 --- a/science/hypre/Makefile +++ b/science/hypre/Makefile @@ -13,8 +13,6 @@ LICENSE_COMB= dual LICENSE_FILE_APACHE20= ${WRKSRC}/../LICENSE-APACHE LICENSE_FILE_MIT= ${WRKSRC}/../LICENSE-MIT -BROKEN_powerpc64= fails to compile: ./DistributedMatrixPilutSolver.h:97:20: expected ')' before '->' token - USES= blaslapack cmake:testing fortran localbase USE_LDCONFIG= yes diff --git a/science/hypre/files/patch-distributed__ls_pilut_DistributedMatrixPilutSolver.h b/science/hypre/files/patch-distributed__ls_pilut_DistributedMatrixPilutSolver.h new file mode 100644 index 0000000000000..02cda72afd71b --- /dev/null +++ b/science/hypre/files/patch-distributed__ls_pilut_DistributedMatrixPilutSolver.h @@ -0,0 +1,11 @@ +--- distributed_ls/pilut/DistributedMatrixPilutSolver.h.orig 2021-11-07 01:57:53 UTC ++++ distributed_ls/pilut/DistributedMatrixPilutSolver.h +@@ -86,7 +86,7 @@ HYPRE_Int Ul_timer; + #define jr (globals->_jr) + #define jw (globals->_jw) + #define lastjr (globals->_lastjr) +-#define lr (globals->_lr) ++#define hypre_lr (globals->_lr) + #define lastlr (globals->_lastlr) + #define w (globals->_w) + #define firstrow (globals->_firstrow) diff --git a/science/hypre/files/patch-distributed__ls_pilut_HYPRE__DistributedMatrixPilutSolver.c b/science/hypre/files/patch-distributed__ls_pilut_HYPRE__DistributedMatrixPilutSolver.c new file mode 100644 index 0000000000000..6de1489c42269 --- /dev/null +++ b/science/hypre/files/patch-distributed__ls_pilut_HYPRE__DistributedMatrixPilutSolver.c @@ -0,0 +1,11 @@ +--- distributed_ls/pilut/HYPRE_DistributedMatrixPilutSolver.c.orig 2021-11-07 12:02:36 UTC ++++ distributed_ls/pilut/HYPRE_DistributedMatrixPilutSolver.c +@@ -39,7 +39,7 @@ HYPRE_Int HYPRE_NewDistributedMatrixPilutSolver( + (hypre_PilutSolverGlobals *) hypre_CTAlloc( hypre_PilutSolverGlobals, 1 , HYPRE_MEMORY_HOST); + + jr = NULL; +- lr = NULL; ++ hypre_lr = NULL; + jw = NULL; + w = NULL; + diff --git a/science/hypre/files/patch-distributed__ls_pilut_parilut.c b/science/hypre/files/patch-distributed__ls_pilut_parilut.c new file mode 100644 index 0000000000000..9ac4c1cab52c0 --- /dev/null +++ b/science/hypre/files/patch-distributed__ls_pilut_parilut.c @@ -0,0 +1,79 @@ +--- distributed_ls/pilut/parilut.c.orig 2021-11-07 12:05:55 UTC ++++ distributed_ls/pilut/parilut.c +@@ -145,7 +145,7 @@ void hypre_ParILUT(DataDistType *ddist, FactorMatType + newperm, newiperm, vrowdist, -1);*/ + hypre_TFree(jr, HYPRE_MEMORY_HOST); + hypre_TFree(jw, HYPRE_MEMORY_HOST); +- hypre_TFree(lr, HYPRE_MEMORY_HOST); ++ hypre_TFree(hypre_lr, HYPRE_MEMORY_HOST); + hypre_TFree(w, HYPRE_MEMORY_HOST); + hypre_TFree(pilut_map, HYPRE_MEMORY_HOST); + hypre_TFree(nrmat.rmat_rnz, HYPRE_MEMORY_HOST); +@@ -167,7 +167,7 @@ void hypre_ParILUT(DataDistType *ddist, FactorMatType + + jr = NULL; + jw = NULL; +- lr = NULL; ++ hypre_lr = NULL; + w = NULL; + + #ifdef HYPRE_DEBUG +@@ -651,9 +651,9 @@ void hypre_ComputeRmat(FactorMatType *ldu, ReduceMatTy + /* record L elements */ + if (IsInMIS(pilut_map[rcolind[lastjr]])) { + if (rcolind[lastjr] >= firstrow && rcolind[lastjr] < lastrow) +- lr[lastlr] = (newiperm[rcolind[lastjr]-firstrow] << 1); ++ hypre_lr[lastlr] = (newiperm[rcolind[lastjr]-firstrow] << 1); + else { +- lr[lastlr] = pilut_map[rcolind[lastjr]]; /* map[] == (l<<1) | 1 */ ++ hypre_lr[lastlr] = pilut_map[rcolind[lastjr]]; /* map[] == (l<<1) | 1 */ + hypre_assert(incolind[StripMIS(pilut_map[rcolind[lastjr]])+1] == + rcolind[lastjr]); + } +@@ -696,7 +696,7 @@ void hypre_ComputeRmat(FactorMatType *ldu, ReduceMatTy + /* record L elements -- these must be local */ + if (IsInMIS(pilut_map[ucolind[l]])) { + hypre_assert(ucolind[l] >= firstrow && ucolind[l] < lastrow); +- lr[lastlr] = (newiperm[ucolind[l]-firstrow] << 1); ++ hypre_lr[lastlr] = (newiperm[ucolind[l]-firstrow] << 1); + lastlr++; + } + +@@ -736,7 +736,7 @@ void hypre_ComputeRmat(FactorMatType *ldu, ReduceMatTy + /* record L elements -- these must be remote */ + if (IsInMIS(pilut_map[incolind[l]])) { + hypre_assert(incolind[l] < firstrow || incolind[l] >= lastrow); +- lr[lastlr] = pilut_map[incolind[l]]; /* map[] == (l<<1) | 1 */ ++ hypre_lr[lastlr] = pilut_map[incolind[l]]; /* map[] == (l<<1) | 1 */ + lastlr++; + } + +@@ -834,7 +834,7 @@ void hypre_FactorLocal(FactorMatType *ldu, ReduceMatTy + if (rcolind[lastjr] >= firstrow && + rcolind[lastjr] < lastrow && + newiperm[rcolind[lastjr]-firstrow] < diag) { +- lr[lastlr] = newiperm[rcolind[lastjr]-firstrow]; ++ hypre_lr[lastlr] = newiperm[rcolind[lastjr]-firstrow]; + lastlr++; + } + +@@ -873,7 +873,7 @@ void hypre_FactorLocal(FactorMatType *ldu, ReduceMatTy + ucolind[l] < lastrow && + newiperm[ucolind[l]-firstrow] < diag) { + hypre_assert(IsInMIS(pilut_map[ucolind[l]])); +- lr[lastlr] = newiperm[ucolind[l]-firstrow]; ++ hypre_lr[lastlr] = newiperm[ucolind[l]-firstrow]; + lastlr++; + } + +@@ -1353,8 +1353,8 @@ void hypre_ParINIT( ReduceMatType *nrmat, CommInfoType + /* Allocate work space */ + hypre_TFree(jr, HYPRE_MEMORY_HOST); + jr = hypre_idx_malloc_init(nrows, -1, "hypre_ParILUT: jr"); +- hypre_TFree(lr, HYPRE_MEMORY_HOST); +- lr = hypre_idx_malloc_init(nleft, -1, "hypre_ParILUT: lr"); ++ hypre_TFree(hypre_lr, HYPRE_MEMORY_HOST); ++ hypre_lr = hypre_idx_malloc_init(nleft, -1, "hypre_ParILUT: lr"); + hypre_TFree(jw, HYPRE_MEMORY_HOST); + jw = hypre_idx_malloc(nleft, "hypre_ParILUT: jw"); + hypre_TFree(w, HYPRE_MEMORY_HOST); diff --git a/science/hypre/files/patch-distributed__ls_pilut_serilut.c b/science/hypre/files/patch-distributed__ls_pilut_serilut.c new file mode 100644 index 0000000000000..359c1faa1fe11 --- /dev/null +++ b/science/hypre/files/patch-distributed__ls_pilut_serilut.c @@ -0,0 +1,63 @@ +--- distributed_ls/pilut/serilut.c.orig 2021-11-07 12:06:04 UTC ++++ distributed_ls/pilut/serilut.c +@@ -70,8 +70,8 @@ HYPRE_Int hypre_SerILUT(DataDistType *ddist, HYPRE_Dis + /* Allocate work space */ + hypre_TFree(jr, HYPRE_MEMORY_HOST); + jr = hypre_idx_malloc_init(nrows, -1, "hypre_SerILUT: jr"); +- hypre_TFree(lr, HYPRE_MEMORY_HOST); +- lr = hypre_idx_malloc_init(nrows, -1, "hypre_SerILUT: lr"); ++ hypre_TFree(hypre_lr, HYPRE_MEMORY_HOST); ++ hypre_lr = hypre_idx_malloc_init(nrows, -1, "hypre_SerILUT: lr"); + hypre_TFree(jw, HYPRE_MEMORY_HOST); + jw = hypre_idx_malloc(nrows, "hypre_SerILUT: jw"); + hypre_TFree(w, HYPRE_MEMORY_HOST); +@@ -158,7 +158,7 @@ HYPRE_Int hypre_SerILUT(DataDistType *ddist, HYPRE_Dis + + for (lastjr=1, lastlr=0, j=0, diag_present=0; j= firstrow && + col_ind[j] < lastrow && + iperm[col_ind[j]-firstrow] < nlocal) +- lr[lastlr++] = iperm[col_ind[j]-firstrow]; /* Copy the L elements separately */ ++ hypre_lr[lastlr++] = iperm[col_ind[j]-firstrow]; /* Copy the L elements separately */ + + if (col_ind[j] != i+firstrow) { /* Off-diagonal element */ + jr[col_ind[j]] = lastjr; +@@ -304,7 +304,7 @@ HYPRE_Int hypre_SerILUT(DataDistType *ddist, HYPRE_Dis + if (m == -1) { /* Create fill */ + hypre_CheckBounds(firstrow, ucolind[l], lastrow, globals); + if (iperm[ucolind[l]-firstrow] < nlocal) +- lr[lastlr++] = iperm[ucolind[l]-firstrow]; /* Copy the L elements separately */ ++ hypre_lr[lastlr++] = iperm[ucolind[l]-firstrow]; /* Copy the L elements separately */ + + jr[ucolind[l]] = lastjr; + jw[lastjr] = ucolind[l]; +@@ -330,11 +330,11 @@ HYPRE_Int hypre_SerILUT(DataDistType *ddist, HYPRE_Dis + /*hypre_free_multi(jr, jw, lr, w, -1);*/ + hypre_TFree(jr, HYPRE_MEMORY_HOST); + hypre_TFree(jw, HYPRE_MEMORY_HOST); +- hypre_TFree(lr, HYPRE_MEMORY_HOST); ++ hypre_TFree(hypre_lr, HYPRE_MEMORY_HOST); + hypre_TFree(w, HYPRE_MEMORY_HOST); + jr = NULL; + jw = NULL; +- lr = NULL; ++ hypre_lr = NULL; + w = NULL; + + return(ierr); diff --git a/science/hypre/files/patch-distributed__ls_pilut_util.c b/science/hypre/files/patch-distributed__ls_pilut_util.c new file mode 100644 index 0000000000000..e6ecf98bc4451 --- /dev/null +++ b/science/hypre/files/patch-distributed__ls_pilut_util.c @@ -0,0 +1,21 @@ +--- distributed_ls/pilut/util.c.orig 2021-11-07 12:06:10 UTC ++++ distributed_ls/pilut/util.c +@@ -28,15 +28,15 @@ HYPRE_Int hypre_ExtractMinLR( hypre_PilutSolverGlobals + HYPRE_Int i, j=0 ; + + for (i=1; i