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.
psblas3-pattern
Salvatore Filippone 9 years ago
parent 4d3b8d95e5
commit 5edd786cc6

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -1,4 +1,4 @@
ASIC_100ks.mtx
ML_Laplace.mtx
MM
0

@ -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)

Loading…
Cancel
Save