gnu: superlu-dist: Update to 6.4.0.
* gnu/packages/maths.scm (superlu-dist): Update to 6.4.0 [source]: Use git-fetch, as tarballs are no longer published. * gnu/packages/patches/superlu-dist-awpm-grid.patch: Remove all but the first hunk; they are unnecessary.master
parent
38dd27e866
commit
705af5403b
|
@ -2975,18 +2975,21 @@ also provides threshold-based ILU factorization preconditioners.")
|
|||
(define-public superlu-dist
|
||||
(package
|
||||
(name "superlu-dist")
|
||||
(version "6.2.0")
|
||||
(version "6.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://portal.nersc.gov/project/sparse/superlu/"
|
||||
"superlu_dist_" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/xiaoyeli/superlu_dist")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1ynmwqajc9sc3my2hssa5k9s58ggvizqv9rdss0j7w99pbh5mnvw"))
|
||||
(base32 "0fa29yr72p4yq5ln4rgfsawmi5935n4qcr5niz6864bjladz4lql"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Replace the non-free implementation of MC64 with a stub
|
||||
'(begin
|
||||
(make-file-writable "SRC/mc64ad_dist.c")
|
||||
(call-with-output-file "SRC/mc64ad_dist.c"
|
||||
(lambda (port)
|
||||
(display "
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
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
|
||||
--- a/SRC/dHWPM_CombBLAS.hpp
|
||||
+++ b/SRC/dHWPM_CombBLAS.hpp
|
||||
@@ -52,7 +52,7 @@
|
||||
{
|
||||
printf("AWPM only supports square process grid. Retuning without a permutation.\n");
|
||||
|
@ -12,25 +12,14 @@ This prevents a warning/error from CombBLAS about using MPI_COMM_WORLD.
|
|||
std::vector< std::vector < std::tuple<int_t,int_t,double> > > 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<procs-1; ++i)
|
||||
--- a/SRC/zHWPM_CombBLAS.hpp
|
||||
+++ b/SRC/zHWPM_CombBLAS.hpp
|
||||
@@ -52,7 +52,7 @@
|
||||
{
|
||||
@@ -112,7 +111,7 @@
|
||||
printf("AWPM only supports square process grid. Retuning without a permutation.\n");
|
||||
}
|
||||
int_t *senddata = (int_t *)mateRow2Col.GetLocArr();
|
||||
- combblas::SpParMat < int_t, double, combblas::SpDCCols<int_t,double> > Adcsc;
|
||||
+ combblas::SpParMat < int_t, double, combblas::SpDCCols<int_t,double> > Adcsc(grid->comm);
|
||||
std::vector< std::vector < std::tuple<int_t,int_t,double> > > data(procs);
|
||||
|
||||
- MPI_Allgatherv(senddata, sendcnt, combblas::MPIType<int_t>(), ScalePermstruct->perm_r, recvcnt, rdispls, combblas::MPIType<int_t>(), World);
|
||||
+ MPI_Allgatherv(senddata, sendcnt, combblas::MPIType<int_t>(), ScalePermstruct->perm_r, recvcnt, rdispls, combblas::MPIType<int_t>(), grid->comm);
|
||||
|
||||
delete[] rdispls;
|
||||
delete[] recvcnt;
|
||||
/* ------------------------------------------------------------
|
||||
|
|
Reference in New Issue