From c75350463a187974486df85aa0b164a7b01d3745 Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Wed, 22 May 2019 11:40:09 +0100 Subject: [PATCH] Aux space spspmm estimate was wrong, reverted. --- base/serial/impl/psb_c_csr_impl.f90 | 9 +-------- base/serial/impl/psb_d_csr_impl.f90 | 9 +-------- base/serial/impl/psb_s_csr_impl.f90 | 9 +-------- base/serial/impl/psb_z_csr_impl.f90 | 9 +-------- 4 files changed, 4 insertions(+), 32 deletions(-) diff --git a/base/serial/impl/psb_c_csr_impl.f90 b/base/serial/impl/psb_c_csr_impl.f90 index 6885be6a..e248c5e1 100644 --- a/base/serial/impl/psb_c_csr_impl.f90 +++ b/base/serial/impl/psb_c_csr_impl.f90 @@ -3360,7 +3360,7 @@ subroutine psb_ccsrspspmm(a,b,c,info) class(psb_c_csr_sparse_mat), intent(in) :: a,b type(psb_c_csr_sparse_mat), intent(out) :: c integer(psb_ipk_), intent(out) :: info - integer(psb_ipk_) :: ma,na,mb,nb, nzc, nza, nzb, nze, nzeb + integer(psb_ipk_) :: ma,na,mb,nb, nzc, nza, nzb character(len=20) :: name integer(psb_ipk_) :: err_act name='psb_csrspspmm' @@ -3387,13 +3387,6 @@ subroutine psb_ccsrspspmm(a,b,c,info) nza = a%get_nzeros() nzb = b%get_nzeros() nzc = 2*(nza+nzb) - ma = max(ma,1) - ma = max(na,1) - mb = max(mb,1) - nb = max(nb,1) - nze = max(1,ma*(((nza+ma-1)/ma)*((nzb+mb-1)/mb) )) - nzeb = max(1,(((nza+na-1)/na)*((nzb+nb-1)/nb))*nb) - nzc = min(nzc, nze+nzeb) call c%allocate(ma,nb,nzc) call csr_spspmm(a,b,c,info) diff --git a/base/serial/impl/psb_d_csr_impl.f90 b/base/serial/impl/psb_d_csr_impl.f90 index f1f496a6..a6fb0b18 100644 --- a/base/serial/impl/psb_d_csr_impl.f90 +++ b/base/serial/impl/psb_d_csr_impl.f90 @@ -3360,7 +3360,7 @@ subroutine psb_dcsrspspmm(a,b,c,info) class(psb_d_csr_sparse_mat), intent(in) :: a,b type(psb_d_csr_sparse_mat), intent(out) :: c integer(psb_ipk_), intent(out) :: info - integer(psb_ipk_) :: ma,na,mb,nb, nzc, nza, nzb, nze, nzeb + integer(psb_ipk_) :: ma,na,mb,nb, nzc, nza, nzb character(len=20) :: name integer(psb_ipk_) :: err_act name='psb_csrspspmm' @@ -3387,13 +3387,6 @@ subroutine psb_dcsrspspmm(a,b,c,info) nza = a%get_nzeros() nzb = b%get_nzeros() nzc = 2*(nza+nzb) - ma = max(ma,1) - ma = max(na,1) - mb = max(mb,1) - nb = max(nb,1) - nze = max(1,ma*(((nza+ma-1)/ma)*((nzb+mb-1)/mb) )) - nzeb = max(1,(((nza+na-1)/na)*((nzb+nb-1)/nb))*nb) - nzc = min(nzc, nze+nzeb) call c%allocate(ma,nb,nzc) call csr_spspmm(a,b,c,info) diff --git a/base/serial/impl/psb_s_csr_impl.f90 b/base/serial/impl/psb_s_csr_impl.f90 index b283d93f..a5bca393 100644 --- a/base/serial/impl/psb_s_csr_impl.f90 +++ b/base/serial/impl/psb_s_csr_impl.f90 @@ -3360,7 +3360,7 @@ subroutine psb_scsrspspmm(a,b,c,info) class(psb_s_csr_sparse_mat), intent(in) :: a,b type(psb_s_csr_sparse_mat), intent(out) :: c integer(psb_ipk_), intent(out) :: info - integer(psb_ipk_) :: ma,na,mb,nb, nzc, nza, nzb, nze, nzeb + integer(psb_ipk_) :: ma,na,mb,nb, nzc, nza, nzb character(len=20) :: name integer(psb_ipk_) :: err_act name='psb_csrspspmm' @@ -3387,13 +3387,6 @@ subroutine psb_scsrspspmm(a,b,c,info) nza = a%get_nzeros() nzb = b%get_nzeros() nzc = 2*(nza+nzb) - ma = max(ma,1) - ma = max(na,1) - mb = max(mb,1) - nb = max(nb,1) - nze = max(1,ma*(((nza+ma-1)/ma)*((nzb+mb-1)/mb) )) - nzeb = max(1,(((nza+na-1)/na)*((nzb+nb-1)/nb))*nb) - nzc = min(nzc, nze+nzeb) call c%allocate(ma,nb,nzc) call csr_spspmm(a,b,c,info) diff --git a/base/serial/impl/psb_z_csr_impl.f90 b/base/serial/impl/psb_z_csr_impl.f90 index a1849c8e..b258eaac 100644 --- a/base/serial/impl/psb_z_csr_impl.f90 +++ b/base/serial/impl/psb_z_csr_impl.f90 @@ -3360,7 +3360,7 @@ subroutine psb_zcsrspspmm(a,b,c,info) class(psb_z_csr_sparse_mat), intent(in) :: a,b type(psb_z_csr_sparse_mat), intent(out) :: c integer(psb_ipk_), intent(out) :: info - integer(psb_ipk_) :: ma,na,mb,nb, nzc, nza, nzb, nze, nzeb + integer(psb_ipk_) :: ma,na,mb,nb, nzc, nza, nzb character(len=20) :: name integer(psb_ipk_) :: err_act name='psb_csrspspmm' @@ -3387,13 +3387,6 @@ subroutine psb_zcsrspspmm(a,b,c,info) nza = a%get_nzeros() nzb = b%get_nzeros() nzc = 2*(nza+nzb) - ma = max(ma,1) - ma = max(na,1) - mb = max(mb,1) - nb = max(nb,1) - nze = max(1,ma*(((nza+ma-1)/ma)*((nzb+mb-1)/mb) )) - nzeb = max(1,(((nza+na-1)/na)*((nzb+nb-1)/nb))*nb) - nzc = min(nzc, nze+nzeb) call c%allocate(ma,nb,nzc) call csr_spspmm(a,b,c,info)