From 5edd786cc64a4787ed477407d7e31f34e64bfa55 Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Mon, 23 May 2016 13:33:15 +0000 Subject: [PATCH] psblas3: krylov/psb_cfcg.F90 krylov/psb_dfcg.F90 krylov/psb_sfcg.F90 krylov/psb_zfcg.F90 test/fileread/runs/dfs.inp test/kernel/d_file_spmv.f90 test/kernel/runs/fspmv.inp test/kernel/s_file_spmv.f90 Take out old variables. --- krylov/psb_cfcg.F90 | 10 ++++------ krylov/psb_dfcg.F90 | 10 ++++------ krylov/psb_sfcg.F90 | 10 ++++------ krylov/psb_zfcg.F90 | 10 ++++------ test/fileread/runs/dfs.inp | 10 +++++----- test/kernel/d_file_spmv.f90 | 2 +- test/kernel/runs/fspmv.inp | 2 +- test/kernel/s_file_spmv.f90 | 6 +++--- 8 files changed, 26 insertions(+), 34 deletions(-) diff --git a/krylov/psb_cfcg.F90 b/krylov/psb_cfcg.F90 index 326699c6..050c7e0c 100644 --- a/krylov/psb_cfcg.F90 +++ b/krylov/psb_cfcg.F90 @@ -123,7 +123,7 @@ subroutine psb_cfcg_vect(a,prec,b,x,eps,desc_a,info,& ! = Local data type(psb_c_vect_type) :: v, w type(psb_c_vect_type), dimension(0:1) :: d - complex(psb_spk_) :: delta_old, alpha, tau, tau1, beta, delta + complex(psb_spk_) :: alpha, tau, tau1, beta, delta real(psb_dpk_) :: derr integer(psb_ipk_) :: i, idx, nc2l, it, itx, istop_, itmax_, itrace_ integer(psb_ipk_) :: n_col, mglob, naux, err_act @@ -239,8 +239,6 @@ subroutine psb_cfcg_vect(a,prec,b,x,eps,desc_a,info,& !Compute w = -Ax + b call psb_geaxpby(-cone, v, cone, w, desc_a, info) - delta = psb_gedot(w, w, desc_a, info) - ! rhs_norm = psb_gedot(b, b, desc_a, info) !Apply the preconditioner @@ -248,7 +246,7 @@ subroutine psb_cfcg_vect(a,prec,b,x,eps,desc_a,info,& call prec%apply(w,d(idx),desc_a,info,work=aux) - delta_old = psb_gedot(d(idx), w, desc_a, info) + delta = psb_gedot(d(idx), w, desc_a, info) !Loop @@ -271,7 +269,7 @@ subroutine psb_cfcg_vect(a,prec,b,x,eps,desc_a,info,& tau = psb_gedot(d(idx), v, desc_a, info) - alpha = delta_old/tau + alpha = delta/tau !Update solution x call psb_geaxpby(alpha, d(idx), cone, x, desc_a, info) !Update residual w @@ -292,7 +290,7 @@ subroutine psb_cfcg_vect(a,prec,b,x,eps,desc_a,info,& call psb_geaxpby(-beta, d(idx + 1), cone, d(idx), desc_a, info) endif - delta_old=psb_gedot(w, d(idx), desc_a, info) + delta = psb_gedot(w, d(idx), desc_a, info) if (psb_check_conv(methdname,itx ,x,w,desc_a,stopdat,info)) exit restart if (info /= psb_success_) Then diff --git a/krylov/psb_dfcg.F90 b/krylov/psb_dfcg.F90 index c5675ae2..0244f5f6 100644 --- a/krylov/psb_dfcg.F90 +++ b/krylov/psb_dfcg.F90 @@ -123,7 +123,7 @@ subroutine psb_dfcg_vect(a,prec,b,x,eps,desc_a,info,& ! = Local data type(psb_d_vect_type) :: v, w type(psb_d_vect_type), dimension(0:1) :: d - real(psb_dpk_) :: delta_old, alpha, tau, tau1, beta, delta + real(psb_dpk_) :: alpha, tau, tau1, beta, delta real(psb_dpk_) :: derr integer(psb_ipk_) :: i, idx, nc2l, it, itx, istop_, itmax_, itrace_ integer(psb_ipk_) :: n_col, mglob, naux, err_act @@ -239,8 +239,6 @@ subroutine psb_dfcg_vect(a,prec,b,x,eps,desc_a,info,& !Compute w = -Ax + b call psb_geaxpby(-done, v, done, w, desc_a, info) - delta = psb_gedot(w, w, desc_a, info) - ! rhs_norm = psb_gedot(b, b, desc_a, info) !Apply the preconditioner @@ -248,7 +246,7 @@ subroutine psb_dfcg_vect(a,prec,b,x,eps,desc_a,info,& call prec%apply(w,d(idx),desc_a,info,work=aux) - delta_old = psb_gedot(d(idx), w, desc_a, info) + delta = psb_gedot(d(idx), w, desc_a, info) !Loop @@ -271,7 +269,7 @@ subroutine psb_dfcg_vect(a,prec,b,x,eps,desc_a,info,& tau = psb_gedot(d(idx), v, desc_a, info) - alpha = delta_old/tau + alpha = delta/tau !Update solution x call psb_geaxpby(alpha, d(idx), done, x, desc_a, info) !Update residual w @@ -292,7 +290,7 @@ subroutine psb_dfcg_vect(a,prec,b,x,eps,desc_a,info,& call psb_geaxpby(-beta, d(idx + 1), done, d(idx), desc_a, info) endif - delta_old=psb_gedot(w, d(idx), desc_a, info) + delta = psb_gedot(w, d(idx), desc_a, info) if (psb_check_conv(methdname,itx ,x,w,desc_a,stopdat,info)) exit restart if (info /= psb_success_) Then diff --git a/krylov/psb_sfcg.F90 b/krylov/psb_sfcg.F90 index f9ce4e0c..72679b38 100644 --- a/krylov/psb_sfcg.F90 +++ b/krylov/psb_sfcg.F90 @@ -123,7 +123,7 @@ subroutine psb_sfcg_vect(a,prec,b,x,eps,desc_a,info,& ! = Local data type(psb_s_vect_type) :: v, w type(psb_s_vect_type), dimension(0:1) :: d - real(psb_spk_) :: delta_old, alpha, tau, tau1, beta, delta + real(psb_spk_) :: alpha, tau, tau1, beta, delta real(psb_dpk_) :: derr integer(psb_ipk_) :: i, idx, nc2l, it, itx, istop_, itmax_, itrace_ integer(psb_ipk_) :: n_col, mglob, naux, err_act @@ -239,8 +239,6 @@ subroutine psb_sfcg_vect(a,prec,b,x,eps,desc_a,info,& !Compute w = -Ax + b call psb_geaxpby(-sone, v, sone, w, desc_a, info) - delta = psb_gedot(w, w, desc_a, info) - ! rhs_norm = psb_gedot(b, b, desc_a, info) !Apply the preconditioner @@ -248,7 +246,7 @@ subroutine psb_sfcg_vect(a,prec,b,x,eps,desc_a,info,& call prec%apply(w,d(idx),desc_a,info,work=aux) - delta_old = psb_gedot(d(idx), w, desc_a, info) + delta = psb_gedot(d(idx), w, desc_a, info) !Loop @@ -271,7 +269,7 @@ subroutine psb_sfcg_vect(a,prec,b,x,eps,desc_a,info,& tau = psb_gedot(d(idx), v, desc_a, info) - alpha = delta_old/tau + alpha = delta/tau !Update solution x call psb_geaxpby(alpha, d(idx), sone, x, desc_a, info) !Update residual w @@ -292,7 +290,7 @@ subroutine psb_sfcg_vect(a,prec,b,x,eps,desc_a,info,& call psb_geaxpby(-beta, d(idx + 1), sone, d(idx), desc_a, info) endif - delta_old=psb_gedot(w, d(idx), desc_a, info) + delta = psb_gedot(w, d(idx), desc_a, info) if (psb_check_conv(methdname,itx ,x,w,desc_a,stopdat,info)) exit restart if (info /= psb_success_) Then diff --git a/krylov/psb_zfcg.F90 b/krylov/psb_zfcg.F90 index 977d6f77..9a8bdd53 100644 --- a/krylov/psb_zfcg.F90 +++ b/krylov/psb_zfcg.F90 @@ -123,7 +123,7 @@ subroutine psb_zfcg_vect(a,prec,b,x,eps,desc_a,info,& ! = Local data type(psb_z_vect_type) :: v, w type(psb_z_vect_type), dimension(0:1) :: d - complex(psb_dpk_) :: delta_old, alpha, tau, tau1, beta, delta + complex(psb_dpk_) :: alpha, tau, tau1, beta, delta real(psb_dpk_) :: derr integer(psb_ipk_) :: i, idx, nc2l, it, itx, istop_, itmax_, itrace_ integer(psb_ipk_) :: n_col, mglob, naux, err_act @@ -239,8 +239,6 @@ subroutine psb_zfcg_vect(a,prec,b,x,eps,desc_a,info,& !Compute w = -Ax + b call psb_geaxpby(-zone, v, zone, w, desc_a, info) - delta = psb_gedot(w, w, desc_a, info) - ! rhs_norm = psb_gedot(b, b, desc_a, info) !Apply the preconditioner @@ -248,7 +246,7 @@ subroutine psb_zfcg_vect(a,prec,b,x,eps,desc_a,info,& call prec%apply(w,d(idx),desc_a,info,work=aux) - delta_old = psb_gedot(d(idx), w, desc_a, info) + delta = psb_gedot(d(idx), w, desc_a, info) !Loop @@ -271,7 +269,7 @@ subroutine psb_zfcg_vect(a,prec,b,x,eps,desc_a,info,& tau = psb_gedot(d(idx), v, desc_a, info) - alpha = delta_old/tau + alpha = delta/tau !Update solution x call psb_geaxpby(alpha, d(idx), zone, x, desc_a, info) !Update residual w @@ -292,7 +290,7 @@ subroutine psb_zfcg_vect(a,prec,b,x,eps,desc_a,info,& call psb_geaxpby(-beta, d(idx + 1), zone, d(idx), desc_a, info) endif - delta_old=psb_gedot(w, d(idx), desc_a, info) + delta = psb_gedot(w, d(idx), desc_a, info) if (psb_check_conv(methdname,itx ,x,w,desc_a,stopdat,info)) exit restart if (info /= psb_success_) Then diff --git a/test/fileread/runs/dfs.inp b/test/fileread/runs/dfs.inp index 2e982f6e..ac241a7e 100644 --- a/test/fileread/runs/dfs.inp +++ b/test/fileread/runs/dfs.inp @@ -1,13 +1,13 @@ 11 Number of inputs -kivap005.mtx This (and others) from: http://math.nist.gov/MatrixMarket/ or +A_Z.mtx kivap005.mtx This (and others) from: http://math.nist.gov/MatrixMarket/ or NONE sherman3_b.mtx http://www.cise.ufl.edu/research/sparse/matrices/index.html MM File format: MM: Matrix Market HB: Harwell-Boeing. -BiCGSTAB Iterative method: BiCGSTAB CGS RGMRES BiCGSTABL BICG CG -BJAC Preconditioner NONE DIAG BJAC +CG BiCGSTAB Iterative method: BiCGSTAB CGS RGMRES BiCGSTABL BICG CG +NONE BJAC Preconditioner NONE DIAG BJAC CSR Storage format CSR COO JAD 2 IPART: Partition method 0: BLK 2: graph (with Metis) 2 ISTOPC -02100 ITMAX +00100 ITMAX -1 ITRACE 002 IRST (restart for RGMRES and -1.d-6 EPS +0.0d0 1.d-9 EPS diff --git a/test/kernel/d_file_spmv.f90 b/test/kernel/d_file_spmv.f90 index 9134a981..22384a47 100644 --- a/test/kernel/d_file_spmv.f90 +++ b/test/kernel/d_file_spmv.f90 @@ -62,7 +62,7 @@ program d_file_spmv character(len=20) :: name character(len=2) :: filefmt integer(psb_ipk_), parameter :: iunit=12 - integer(psb_ipk_), parameter :: times=10 + integer(psb_ipk_), parameter :: times=20 integer(psb_ipk_) :: iparm(20) ! other variables diff --git a/test/kernel/runs/fspmv.inp b/test/kernel/runs/fspmv.inp index 119ce28a..d5a9c425 100644 --- a/test/kernel/runs/fspmv.inp +++ b/test/kernel/runs/fspmv.inp @@ -1,4 +1,4 @@ -ASIC_100ks.mtx +ML_Laplace.mtx MM 0 diff --git a/test/kernel/s_file_spmv.f90 b/test/kernel/s_file_spmv.f90 index e68fc552..1a8e47c1 100644 --- a/test/kernel/s_file_spmv.f90 +++ b/test/kernel/s_file_spmv.f90 @@ -182,7 +182,7 @@ program s_file_spmv ivg(i) = ipv(1) enddo call psb_matdist(aux_a, a, ictxt, & - & desc_a,b_col_glob,b_col,info,fmt=afmt,v=ivg) + & desc_a,info,b_glob=b_col_glob,b=b_col,fmt=afmt,v=ivg) else if (ipart == 2) then if (iam==psb_root_) then @@ -196,12 +196,12 @@ program s_file_spmv call distr_mtpart(psb_root_,ictxt) call getv_mtpart(ivg) call psb_matdist(aux_a, a, ictxt, & - & desc_a,b_col_glob,b_col,info,fmt=afmt,v=ivg) + & desc_a,info,b_glob=b_col_glob,b=b_col,fmt=afmt,v=ivg) else if (iam==psb_root_) write(psb_out_unit,'("Partition type: block")') call psb_matdist(aux_a, a, ictxt, & - & desc_a,b_col_glob,b_col,info,fmt=afmt,parts=part_block) + & desc_a,info,b_glob=b_col_glob,b=b_col,fmt=afmt,parts=part_block) end if call psb_geall(x_col,desc_a,info)