From 6161141e9181ca82f151779f8048b28e093a025f Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 31 Oct 2018 14:58:51 -0500 Subject: superlu-dist: Upgrade to 6.1.0. * gnu/packages/patches/superlu-dist-awpm-grid.patch: New file. * gnu/packages/maths.scm (superlu-dist)[source]: Upgrade to 6.0.0. Remove extraneous 'use-modules' in snippet. [build-system]: Change to cmake-build-system. [propagated-inputs]: Replace pt-scotch with pt-scotch32 to match integer sizes. Add "parmetis" input, from pt-scotch32. Move lapack to ... [inputs]: ...here. Add openblas and combinatorial-blas. [arguments]: Replace 'configure' phase with #:configure-flags. Add 'set-c++-standard' and 'omp-setup' phases. Remove 'create-install-directories, 'check', and 'install' phases, which are now handled by cmake. * gnu/local.mk (dist_patch_DATA): Add patch. --- gnu/packages/patches/superlu-dist-awpm-grid.patch | 36 +++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 gnu/packages/patches/superlu-dist-awpm-grid.patch (limited to 'gnu/packages/patches/superlu-dist-awpm-grid.patch') diff --git a/gnu/packages/patches/superlu-dist-awpm-grid.patch b/gnu/packages/patches/superlu-dist-awpm-grid.patch new file mode 100644 index 0000000000..d6cb8e521d --- /dev/null +++ b/gnu/packages/patches/superlu-dist-awpm-grid.patch @@ -0,0 +1,36 @@ +Create the CombBLAS::SpParMat with the MPI_Comm from the input 'gridinfo_t'. +This prevents a warning/error from CombBLAS about using MPI_COMM_WORLD. + +--- a/SRC/AWPM_CombBLAS.hpp ++++ b/SRC/AWPM_CombBLAS.hpp +@@ -52,7 +52,7 @@ + { + printf("AWPM only supports square process grid. Retuning without a permutation.\n"); + } +- combblas::SpParMat < int_t, double, combblas::SpDCCols > Adcsc; ++ combblas::SpParMat < int_t, double, combblas::SpDCCols > Adcsc(grid->comm); + std::vector< std::vector < std::tuple > > data(procs); + + /* ------------------------------------------------------------ +@@ -100,11 +100,10 @@ + combblas::AWPM(Adcsc, mateRow2Col, mateCol2Row,true); + + // now gather the matching vector +- MPI_Comm World = mateRow2Col.getcommgrid()->GetWorld(); + int * rdispls = new int[procs]; + int sendcnt = mateRow2Col.LocArrSize(); + int * recvcnt = new int[procs]; +- MPI_Allgather(&sendcnt, 1, MPI_INT, recvcnt, 1, MPI_INT, World); ++ MPI_Allgather(&sendcnt, 1, MPI_INT, recvcnt, 1, MPI_INT, grid->comm); + rdispls[0] = 0; + for(int i=0; i(), ScalePermstruct->perm_r, recvcnt, rdispls, combblas::MPIType(), World); ++ MPI_Allgatherv(senddata, sendcnt, combblas::MPIType(), ScalePermstruct->perm_r, recvcnt, rdispls, combblas::MPIType(), grid->comm); + + delete[] rdispls; + delete[] recvcnt; -- cgit v1.2.3