Add partition to input for pargen test programs.

ILmat
Salvatore Filippone 8 years ago
parent 6faed403ee
commit 0b4854b6e9

@ -548,7 +548,7 @@ program psb_d_pde2d
integer(psb_ipk_) :: ictxt, iam, np integer(psb_ipk_) :: ictxt, iam, np
! solver parameters ! solver parameters
integer(psb_ipk_) :: iter, itmax,itrace, istopc, irst integer(psb_ipk_) :: iter, itmax,itrace, istopc, irst, ipart
integer(psb_epk_) :: amatsize, precsize, descsize, d2size integer(psb_epk_) :: amatsize, precsize, descsize, d2size
real(psb_dpk_) :: err, eps real(psb_dpk_) :: err, eps
@ -581,14 +581,14 @@ program psb_d_pde2d
! !
! get parameters ! get parameters
! !
call get_parms(ictxt,kmethd,ptype,afmt,idim,istopc,itmax,itrace,irst) call get_parms(ictxt,kmethd,ptype,afmt,idim,istopc,itmax,itrace,irst,ipart)
! !
! allocate and fill in the coefficient matrix, rhs and initial guess ! allocate and fill in the coefficient matrix, rhs and initial guess
! !
call psb_barrier(ictxt) call psb_barrier(ictxt)
t1 = psb_wtime() t1 = psb_wtime()
call psb_gen_pde2d(ictxt,idim,a,bv,xxv,desc_a,afmt,info) call psb_gen_pde2d(ictxt,idim,a,bv,xxv,desc_a,afmt,info,partition=ipart)
call psb_barrier(ictxt) call psb_barrier(ictxt)
t2 = psb_wtime() - t1 t2 = psb_wtime() - t1
if(info /= psb_success_) then if(info /= psb_success_) then
@ -691,10 +691,10 @@ contains
! !
! get iteration parameters from standard input ! get iteration parameters from standard input
! !
subroutine get_parms(ictxt,kmethd,ptype,afmt,idim,istopc,itmax,itrace,irst) subroutine get_parms(ictxt,kmethd,ptype,afmt,idim,istopc,itmax,itrace,irst,ipart)
integer(psb_ipk_) :: ictxt integer(psb_ipk_) :: ictxt
character(len=*) :: kmethd, ptype, afmt character(len=*) :: kmethd, ptype, afmt
integer(psb_ipk_) :: idim, istopc,itmax,itrace,irst integer(psb_ipk_) :: idim, istopc,itmax,itrace,irst,ipart
integer(psb_ipk_) :: np, iam integer(psb_ipk_) :: np, iam
integer(psb_ipk_) :: ip, inp_unit integer(psb_ipk_) :: ip, inp_unit
character(len=1024) :: filename character(len=1024) :: filename
@ -724,21 +724,26 @@ contains
read(inp_unit,*) idim read(inp_unit,*) idim
if (ip >= 4) then if (ip >= 4) then
read(inp_unit,*) ipart
else
ipart = 3
endif
if (ip >= 5) then
read(inp_unit,*) istopc read(inp_unit,*) istopc
else else
istopc=1 istopc=1
endif endif
if (ip >= 5) then if (ip >= 6) then
read(inp_unit,*) itmax read(inp_unit,*) itmax
else else
itmax=500 itmax=500
endif endif
if (ip >= 6) then if (ip >= 7) then
read(inp_unit,*) itrace read(inp_unit,*) itrace
else else
itrace=-1 itrace=-1
endif endif
if (ip >= 7) then if (ip >= 8) then
read(inp_unit,*) irst read(inp_unit,*) irst
else else
irst=1 irst=1
@ -746,8 +751,16 @@ contains
write(psb_out_unit,'("Solving matrix : ell1")') write(psb_out_unit,'("Solving matrix : ell1")')
write(psb_out_unit,'("Grid dimensions : ",i5," x ",i5)')idim,idim write(psb_out_unit,'("Grid dimensions : ",i5," x ",i5)')idim,idim
write(psb_out_unit,'("Number of processors : ",i0)')np write(psb_out_unit,'("Number of processors : ",i0)') np
write(psb_out_unit,'("Data distribution : BLOCK")') select case(ipart)
case(1)
write(psb_out_unit,'("Data distribution : BLOCK")')
case(3)
write(psb_out_unit,'("Data distribution : 2D")')
case default
ipart = 3
write(psb_out_unit,'("Unknown data distrbution, defaulting to 2D")')
end select
write(psb_out_unit,'("Preconditioner : ",a)') ptype write(psb_out_unit,'("Preconditioner : ",a)') ptype
write(psb_out_unit,'("Iterative method : ",a)') kmethd write(psb_out_unit,'("Iterative method : ",a)') kmethd
write(psb_out_unit,'(" ")') write(psb_out_unit,'(" ")')
@ -767,6 +780,7 @@ contains
call psb_bcast(ictxt,afmt) call psb_bcast(ictxt,afmt)
call psb_bcast(ictxt,ptype) call psb_bcast(ictxt,ptype)
call psb_bcast(ictxt,idim) call psb_bcast(ictxt,idim)
call psb_bcast(ictxt,ipart)
call psb_bcast(ictxt,istopc) call psb_bcast(ictxt,istopc)
call psb_bcast(ictxt,itmax) call psb_bcast(ictxt,itmax)
call psb_bcast(ictxt,itrace) call psb_bcast(ictxt,itrace)
@ -782,13 +796,14 @@ contains
integer(psb_ipk_) :: iout integer(psb_ipk_) :: iout
write(iout,*)'incorrect parameter(s) found' write(iout,*)'incorrect parameter(s) found'
write(iout,*)' usage: pde2d90 methd prec dim & write(iout,*)' usage: pde2d90 methd prec dim &
&[istop itmax itrace]' &[ipart istop itmax itrace]'
write(iout,*)' where:' write(iout,*)' where:'
write(iout,*)' methd: cgstab cgs rgmres bicgstabl' write(iout,*)' methd: cgstab cgs rgmres bicgstabl'
write(iout,*)' prec : bjac diag none' write(iout,*)' prec : bjac diag none'
write(iout,*)' dim number of points along each axis' write(iout,*)' dim number of points along each axis'
write(iout,*)' the size of the resulting linear ' write(iout,*)' the size of the resulting linear '
write(iout,*)' system is dim**3' write(iout,*)' system is dim**2'
write(iout,*)' ipart data partition 1 3 '
write(iout,*)' istop stopping criterion 1, 2 ' write(iout,*)' istop stopping criterion 1, 2 '
write(iout,*)' itmax maximum number of iterations [500] ' write(iout,*)' itmax maximum number of iterations [500] '
write(iout,*)' itrace <=0 (no tracing, default) or ' write(iout,*)' itrace <=0 (no tracing, default) or '

@ -253,7 +253,7 @@ contains
m = (1_psb_lpk_*idim)*idim*idim m = (1_psb_lpk_*idim)*idim*idim
n = m n = m
nnz = ((n*9)/(np)) nnz = ((n*7)/(np))
if(iam == psb_root_) write(psb_out_unit,'("Generating Matrix (size=",i0,")...")')n if(iam == psb_root_) write(psb_out_unit,'("Generating Matrix (size=",i0,")...")')n
t0 = psb_wtime() t0 = psb_wtime()
select case(partition_) select case(partition_)
@ -589,7 +589,7 @@ program psb_d_pde3d
integer(psb_ipk_) :: ictxt, iam, np integer(psb_ipk_) :: ictxt, iam, np
! solver parameters ! solver parameters
integer(psb_ipk_) :: iter, itmax,itrace, istopc, irst integer(psb_ipk_) :: iter, itmax,itrace, istopc, irst, ipart
integer(psb_epk_) :: amatsize, precsize, descsize, d2size integer(psb_epk_) :: amatsize, precsize, descsize, d2size
real(psb_dpk_) :: err, eps real(psb_dpk_) :: err, eps
@ -623,14 +623,14 @@ program psb_d_pde3d
! !
! get parameters ! get parameters
! !
call get_parms(ictxt,kmethd,ptype,afmt,idim,istopc,itmax,itrace,irst) call get_parms(ictxt,kmethd,ptype,afmt,idim,istopc,itmax,itrace,irst,ipart)
! !
! allocate and fill in the coefficient matrix, rhs and initial guess ! allocate and fill in the coefficient matrix, rhs and initial guess
! !
call psb_barrier(ictxt) call psb_barrier(ictxt)
t1 = psb_wtime() t1 = psb_wtime()
call psb_gen_pde3d(ictxt,idim,a,bv,xxv,desc_a,afmt,info) call psb_gen_pde3d(ictxt,idim,a,bv,xxv,desc_a,afmt,info,partition=ipart)
call psb_barrier(ictxt) call psb_barrier(ictxt)
t2 = psb_wtime() - t1 t2 = psb_wtime() - t1
if(info /= psb_success_) then if(info /= psb_success_) then
@ -733,10 +733,10 @@ contains
! !
! get iteration parameters from standard input ! get iteration parameters from standard input
! !
subroutine get_parms(ictxt,kmethd,ptype,afmt,idim,istopc,itmax,itrace,irst) subroutine get_parms(ictxt,kmethd,ptype,afmt,idim,istopc,itmax,itrace,irst,ipart)
integer(psb_ipk_) :: ictxt integer(psb_ipk_) :: ictxt
character(len=*) :: kmethd, ptype, afmt character(len=*) :: kmethd, ptype, afmt
integer(psb_ipk_) :: idim, istopc,itmax,itrace,irst integer(psb_ipk_) :: idim, istopc,itmax,itrace,irst,ipart
integer(psb_ipk_) :: np, iam integer(psb_ipk_) :: np, iam
integer(psb_ipk_) :: ip, inp_unit integer(psb_ipk_) :: ip, inp_unit
character(len=1024) :: filename character(len=1024) :: filename
@ -766,34 +766,45 @@ contains
read(inp_unit,*) idim read(inp_unit,*) idim
if (ip >= 4) then if (ip >= 4) then
read(inp_unit,*) ipart
else
ipart = 3
endif
if (ip >= 5) then
read(inp_unit,*) istopc read(inp_unit,*) istopc
else else
istopc=1 istopc=1
endif endif
if (ip >= 5) then if (ip >= 6) then
read(inp_unit,*) itmax read(inp_unit,*) itmax
else else
itmax=500 itmax=500
endif endif
if (ip >= 6) then if (ip >= 7) then
read(inp_unit,*) itrace read(inp_unit,*) itrace
else else
itrace=-1 itrace=-1
endif endif
if (ip >= 7) then if (ip >= 8) then
read(inp_unit,*) irst read(inp_unit,*) irst
else else
irst=1 irst=1
endif endif
! broadcast parameters to all processors
write(psb_out_unit,'("Solving matrix : ell1")') write(psb_out_unit,'("Solving matrix : ell1")')
write(psb_out_unit,& write(psb_out_unit,&
& '("Grid dimensions : ",i4," x ",i4," x ",i4)') & & '("Grid dimensions : ",i4," x ",i4," x ",i4)') &
& idim,idim,idim & idim,idim,idim
write(psb_out_unit,'("Number of processors : ",i0)')np write(psb_out_unit,'("Number of processors : ",i0)')np
write(psb_out_unit,'("Data distribution : BLOCK")') select case(ipart)
case(1)
write(psb_out_unit,'("Data distribution : BLOCK")')
case(3)
write(psb_out_unit,'("Data distribution : 3D")')
case default
ipart = 3
write(psb_out_unit,'("Unknown data distrbution, defaulting to 3D")')
end select
write(psb_out_unit,'("Preconditioner : ",a)') ptype write(psb_out_unit,'("Preconditioner : ",a)') ptype
write(psb_out_unit,'("Iterative method : ",a)') kmethd write(psb_out_unit,'("Iterative method : ",a)') kmethd
write(psb_out_unit,'(" ")') write(psb_out_unit,'(" ")')
@ -813,6 +824,7 @@ contains
call psb_bcast(ictxt,afmt) call psb_bcast(ictxt,afmt)
call psb_bcast(ictxt,ptype) call psb_bcast(ictxt,ptype)
call psb_bcast(ictxt,idim) call psb_bcast(ictxt,idim)
call psb_bcast(ictxt,ipart)
call psb_bcast(ictxt,istopc) call psb_bcast(ictxt,istopc)
call psb_bcast(ictxt,itmax) call psb_bcast(ictxt,itmax)
call psb_bcast(ictxt,itrace) call psb_bcast(ictxt,itrace)
@ -835,6 +847,7 @@ contains
write(iout,*)' dim number of points along each axis' write(iout,*)' dim number of points along each axis'
write(iout,*)' the size of the resulting linear ' write(iout,*)' the size of the resulting linear '
write(iout,*)' system is dim**3' write(iout,*)' system is dim**3'
write(iout,*)' ipart data partition 1 3 '
write(iout,*)' istop stopping criterion 1, 2 ' write(iout,*)' istop stopping criterion 1, 2 '
write(iout,*)' itmax maximum number of iterations [500] ' write(iout,*)' itmax maximum number of iterations [500] '
write(iout,*)' itrace <=0 (no tracing, default) or ' write(iout,*)' itrace <=0 (no tracing, default) or '

@ -548,7 +548,7 @@ program psb_s_pde2d
integer(psb_ipk_) :: ictxt, iam, np integer(psb_ipk_) :: ictxt, iam, np
! solver parameters ! solver parameters
integer(psb_ipk_) :: iter, itmax,itrace, istopc, irst integer(psb_ipk_) :: iter, itmax,itrace, istopc, irst, ipart
integer(psb_epk_) :: amatsize, precsize, descsize, d2size integer(psb_epk_) :: amatsize, precsize, descsize, d2size
real(psb_spk_) :: err, eps real(psb_spk_) :: err, eps
@ -581,14 +581,14 @@ program psb_s_pde2d
! !
! get parameters ! get parameters
! !
call get_parms(ictxt,kmethd,ptype,afmt,idim,istopc,itmax,itrace,irst) call get_parms(ictxt,kmethd,ptype,afmt,idim,istopc,itmax,itrace,irst,ipart)
! !
! allocate and fill in the coefficient matrix, rhs and initial guess ! allocate and fill in the coefficient matrix, rhs and initial guess
! !
call psb_barrier(ictxt) call psb_barrier(ictxt)
t1 = psb_wtime() t1 = psb_wtime()
call psb_gen_pde2d(ictxt,idim,a,bv,xxv,desc_a,afmt,info) call psb_gen_pde2d(ictxt,idim,a,bv,xxv,desc_a,afmt,info,partition=ipart)
call psb_barrier(ictxt) call psb_barrier(ictxt)
t2 = psb_wtime() - t1 t2 = psb_wtime() - t1
if(info /= psb_success_) then if(info /= psb_success_) then
@ -691,10 +691,10 @@ contains
! !
! get iteration parameters from standard input ! get iteration parameters from standard input
! !
subroutine get_parms(ictxt,kmethd,ptype,afmt,idim,istopc,itmax,itrace,irst) subroutine get_parms(ictxt,kmethd,ptype,afmt,idim,istopc,itmax,itrace,irst,ipart)
integer(psb_ipk_) :: ictxt integer(psb_ipk_) :: ictxt
character(len=*) :: kmethd, ptype, afmt character(len=*) :: kmethd, ptype, afmt
integer(psb_ipk_) :: idim, istopc,itmax,itrace,irst integer(psb_ipk_) :: idim, istopc,itmax,itrace,irst,ipart
integer(psb_ipk_) :: np, iam integer(psb_ipk_) :: np, iam
integer(psb_ipk_) :: ip, inp_unit integer(psb_ipk_) :: ip, inp_unit
character(len=1024) :: filename character(len=1024) :: filename
@ -724,21 +724,26 @@ contains
read(inp_unit,*) idim read(inp_unit,*) idim
if (ip >= 4) then if (ip >= 4) then
read(inp_unit,*) ipart
else
ipart = 3
endif
if (ip >= 5) then
read(inp_unit,*) istopc read(inp_unit,*) istopc
else else
istopc=1 istopc=1
endif endif
if (ip >= 5) then if (ip >= 6) then
read(inp_unit,*) itmax read(inp_unit,*) itmax
else else
itmax=500 itmax=500
endif endif
if (ip >= 6) then if (ip >= 7) then
read(inp_unit,*) itrace read(inp_unit,*) itrace
else else
itrace=-1 itrace=-1
endif endif
if (ip >= 7) then if (ip >= 8) then
read(inp_unit,*) irst read(inp_unit,*) irst
else else
irst=1 irst=1
@ -746,8 +751,16 @@ contains
write(psb_out_unit,'("Solving matrix : ell1")') write(psb_out_unit,'("Solving matrix : ell1")')
write(psb_out_unit,'("Grid dimensions : ",i5," x ",i5)')idim,idim write(psb_out_unit,'("Grid dimensions : ",i5," x ",i5)')idim,idim
write(psb_out_unit,'("Number of processors : ",i0)')np write(psb_out_unit,'("Number of processors : ",i0)') np
write(psb_out_unit,'("Data distribution : BLOCK")') select case(ipart)
case(1)
write(psb_out_unit,'("Data distribution : BLOCK")')
case(3)
write(psb_out_unit,'("Data distribution : 2D")')
case default
ipart = 3
write(psb_out_unit,'("Unknown data distrbution, defaulting to 2D")')
end select
write(psb_out_unit,'("Preconditioner : ",a)') ptype write(psb_out_unit,'("Preconditioner : ",a)') ptype
write(psb_out_unit,'("Iterative method : ",a)') kmethd write(psb_out_unit,'("Iterative method : ",a)') kmethd
write(psb_out_unit,'(" ")') write(psb_out_unit,'(" ")')
@ -767,6 +780,7 @@ contains
call psb_bcast(ictxt,afmt) call psb_bcast(ictxt,afmt)
call psb_bcast(ictxt,ptype) call psb_bcast(ictxt,ptype)
call psb_bcast(ictxt,idim) call psb_bcast(ictxt,idim)
call psb_bcast(ictxt,ipart)
call psb_bcast(ictxt,istopc) call psb_bcast(ictxt,istopc)
call psb_bcast(ictxt,itmax) call psb_bcast(ictxt,itmax)
call psb_bcast(ictxt,itrace) call psb_bcast(ictxt,itrace)
@ -782,13 +796,14 @@ contains
integer(psb_ipk_) :: iout integer(psb_ipk_) :: iout
write(iout,*)'incorrect parameter(s) found' write(iout,*)'incorrect parameter(s) found'
write(iout,*)' usage: pde2d90 methd prec dim & write(iout,*)' usage: pde2d90 methd prec dim &
&[istop itmax itrace]' &[ipart istop itmax itrace]'
write(iout,*)' where:' write(iout,*)' where:'
write(iout,*)' methd: cgstab cgs rgmres bicgstabl' write(iout,*)' methd: cgstab cgs rgmres bicgstabl'
write(iout,*)' prec : bjac diag none' write(iout,*)' prec : bjac diag none'
write(iout,*)' dim number of points along each axis' write(iout,*)' dim number of points along each axis'
write(iout,*)' the size of the resulting linear ' write(iout,*)' the size of the resulting linear '
write(iout,*)' system is dim**3' write(iout,*)' system is dim**2'
write(iout,*)' ipart data partition 1 3 '
write(iout,*)' istop stopping criterion 1, 2 ' write(iout,*)' istop stopping criterion 1, 2 '
write(iout,*)' itmax maximum number of iterations [500] ' write(iout,*)' itmax maximum number of iterations [500] '
write(iout,*)' itrace <=0 (no tracing, default) or ' write(iout,*)' itrace <=0 (no tracing, default) or '

@ -253,7 +253,7 @@ contains
m = (1_psb_lpk_*idim)*idim*idim m = (1_psb_lpk_*idim)*idim*idim
n = m n = m
nnz = ((n*9)/(np)) nnz = ((n*7)/(np))
if(iam == psb_root_) write(psb_out_unit,'("Generating Matrix (size=",i0,")...")')n if(iam == psb_root_) write(psb_out_unit,'("Generating Matrix (size=",i0,")...")')n
t0 = psb_wtime() t0 = psb_wtime()
select case(partition_) select case(partition_)
@ -589,7 +589,7 @@ program psb_s_pde3d
integer(psb_ipk_) :: ictxt, iam, np integer(psb_ipk_) :: ictxt, iam, np
! solver parameters ! solver parameters
integer(psb_ipk_) :: iter, itmax,itrace, istopc, irst integer(psb_ipk_) :: iter, itmax,itrace, istopc, irst, ipart
integer(psb_epk_) :: amatsize, precsize, descsize, d2size integer(psb_epk_) :: amatsize, precsize, descsize, d2size
real(psb_spk_) :: err, eps real(psb_spk_) :: err, eps
@ -623,14 +623,14 @@ program psb_s_pde3d
! !
! get parameters ! get parameters
! !
call get_parms(ictxt,kmethd,ptype,afmt,idim,istopc,itmax,itrace,irst) call get_parms(ictxt,kmethd,ptype,afmt,idim,istopc,itmax,itrace,irst,ipart)
! !
! allocate and fill in the coefficient matrix, rhs and initial guess ! allocate and fill in the coefficient matrix, rhs and initial guess
! !
call psb_barrier(ictxt) call psb_barrier(ictxt)
t1 = psb_wtime() t1 = psb_wtime()
call psb_gen_pde3d(ictxt,idim,a,bv,xxv,desc_a,afmt,info) call psb_gen_pde3d(ictxt,idim,a,bv,xxv,desc_a,afmt,info,partition=ipart)
call psb_barrier(ictxt) call psb_barrier(ictxt)
t2 = psb_wtime() - t1 t2 = psb_wtime() - t1
if(info /= psb_success_) then if(info /= psb_success_) then
@ -733,10 +733,10 @@ contains
! !
! get iteration parameters from standard input ! get iteration parameters from standard input
! !
subroutine get_parms(ictxt,kmethd,ptype,afmt,idim,istopc,itmax,itrace,irst) subroutine get_parms(ictxt,kmethd,ptype,afmt,idim,istopc,itmax,itrace,irst,ipart)
integer(psb_ipk_) :: ictxt integer(psb_ipk_) :: ictxt
character(len=*) :: kmethd, ptype, afmt character(len=*) :: kmethd, ptype, afmt
integer(psb_ipk_) :: idim, istopc,itmax,itrace,irst integer(psb_ipk_) :: idim, istopc,itmax,itrace,irst,ipart
integer(psb_ipk_) :: np, iam integer(psb_ipk_) :: np, iam
integer(psb_ipk_) :: ip, inp_unit integer(psb_ipk_) :: ip, inp_unit
character(len=1024) :: filename character(len=1024) :: filename
@ -766,34 +766,45 @@ contains
read(inp_unit,*) idim read(inp_unit,*) idim
if (ip >= 4) then if (ip >= 4) then
read(inp_unit,*) ipart
else
ipart = 3
endif
if (ip >= 5) then
read(inp_unit,*) istopc read(inp_unit,*) istopc
else else
istopc=1 istopc=1
endif endif
if (ip >= 5) then if (ip >= 6) then
read(inp_unit,*) itmax read(inp_unit,*) itmax
else else
itmax=500 itmax=500
endif endif
if (ip >= 6) then if (ip >= 7) then
read(inp_unit,*) itrace read(inp_unit,*) itrace
else else
itrace=-1 itrace=-1
endif endif
if (ip >= 7) then if (ip >= 8) then
read(inp_unit,*) irst read(inp_unit,*) irst
else else
irst=1 irst=1
endif endif
! broadcast parameters to all processors
write(psb_out_unit,'("Solving matrix : ell1")') write(psb_out_unit,'("Solving matrix : ell1")')
write(psb_out_unit,& write(psb_out_unit,&
& '("Grid dimensions : ",i4," x ",i4," x ",i4)') & & '("Grid dimensions : ",i4," x ",i4," x ",i4)') &
& idim,idim,idim & idim,idim,idim
write(psb_out_unit,'("Number of processors : ",i0)')np write(psb_out_unit,'("Number of processors : ",i0)')np
write(psb_out_unit,'("Data distribution : BLOCK")') select case(ipart)
case(1)
write(psb_out_unit,'("Data distribution : BLOCK")')
case(3)
write(psb_out_unit,'("Data distribution : 3D")')
case default
ipart = 3
write(psb_out_unit,'("Unknown data distrbution, defaulting to 3D")')
end select
write(psb_out_unit,'("Preconditioner : ",a)') ptype write(psb_out_unit,'("Preconditioner : ",a)') ptype
write(psb_out_unit,'("Iterative method : ",a)') kmethd write(psb_out_unit,'("Iterative method : ",a)') kmethd
write(psb_out_unit,'(" ")') write(psb_out_unit,'(" ")')
@ -813,6 +824,7 @@ contains
call psb_bcast(ictxt,afmt) call psb_bcast(ictxt,afmt)
call psb_bcast(ictxt,ptype) call psb_bcast(ictxt,ptype)
call psb_bcast(ictxt,idim) call psb_bcast(ictxt,idim)
call psb_bcast(ictxt,ipart)
call psb_bcast(ictxt,istopc) call psb_bcast(ictxt,istopc)
call psb_bcast(ictxt,itmax) call psb_bcast(ictxt,itmax)
call psb_bcast(ictxt,itrace) call psb_bcast(ictxt,itrace)
@ -835,6 +847,7 @@ contains
write(iout,*)' dim number of points along each axis' write(iout,*)' dim number of points along each axis'
write(iout,*)' the size of the resulting linear ' write(iout,*)' the size of the resulting linear '
write(iout,*)' system is dim**3' write(iout,*)' system is dim**3'
write(iout,*)' ipart data partition 1 3 '
write(iout,*)' istop stopping criterion 1, 2 ' write(iout,*)' istop stopping criterion 1, 2 '
write(iout,*)' itmax maximum number of iterations [500] ' write(iout,*)' itmax maximum number of iterations [500] '
write(iout,*)' itrace <=0 (no tracing, default) or ' write(iout,*)' itrace <=0 (no tracing, default) or '

@ -1,8 +1,9 @@
7 Number of entries below this 8 Number of entries below this
BICGSTAB Iterative method BICGSTAB CGS BICG BICGSTABL RGMRES FCG CGR BICGSTAB Iterative method BICGSTAB CGS BICG BICGSTABL RGMRES FCG CGR
BJAC Preconditioner NONE DIAG BJAC BJAC Preconditioner NONE DIAG BJAC
CSR Storage format for matrix A: CSR COO CSR Storage format for matrix A: CSR COO
040 Domain size (acutal system is this**3 (pde3d) or **2 (pde2d) ) 004 Domain size (acutal system is this**3 (pde3d) or **2 (pde2d) )
1 Partition: 1 BLOCK 3 3D
2 Stopping criterion 1 2 2 Stopping criterion 1 2
1000 MAXIT 1000 MAXIT
-1 ITRACE -1 ITRACE

Loading…
Cancel
Save