|
|
@ -77,8 +77,8 @@ subroutine psb_zilu_bld(a,desc_a,p,upd,info)
|
|
|
|
real(kind(1.d0)) :: t1,t2,t3,t4,t5,t6,mpi_wtime, t7, t8
|
|
|
|
real(kind(1.d0)) :: t1,t2,t3,t4,t5,t6,mpi_wtime, t7, t8
|
|
|
|
external mpi_wtime
|
|
|
|
external mpi_wtime
|
|
|
|
logical, parameter :: debugprt=.false., debug=.false., aggr_dump=.false.
|
|
|
|
logical, parameter :: debugprt=.false., debug=.false., aggr_dump=.false.
|
|
|
|
integer nztota, nztotb, nztmp, nzl, nnr, ir, err_act, &
|
|
|
|
integer nztota, nztotb, nztmp, nzl, nnr, ir, err_act,&
|
|
|
|
& n_row, nrow_a,n_col, nhalo,lovr, ind, iind
|
|
|
|
& n_row, nrow_a,n_col, nhalo, ind, iind
|
|
|
|
integer :: ictxt,np,me
|
|
|
|
integer :: ictxt,np,me
|
|
|
|
character(len=20) :: name, ch_err
|
|
|
|
character(len=20) :: name, ch_err
|
|
|
|
|
|
|
|
|
|
|
@ -186,6 +186,7 @@ subroutine psb_zilu_bld(a,desc_a,p,upd,info)
|
|
|
|
|
|
|
|
|
|
|
|
nrow_a = desc_a%matrix_data(psb_n_row_)
|
|
|
|
nrow_a = desc_a%matrix_data(psb_n_row_)
|
|
|
|
call psb_spinfo(psb_nztotreq_,a,nztota,info)
|
|
|
|
call psb_spinfo(psb_nztotreq_,a,nztota,info)
|
|
|
|
|
|
|
|
if (info == 0) call psb_spinfo(psb_nztotreq_,blck,nztotb,info)
|
|
|
|
if(info/=0) then
|
|
|
|
if(info/=0) then
|
|
|
|
info=4010
|
|
|
|
info=4010
|
|
|
|
ch_err='psb_spinfo'
|
|
|
|
ch_err='psb_spinfo'
|
|
|
@ -198,13 +199,12 @@ subroutine psb_zilu_bld(a,desc_a,p,upd,info)
|
|
|
|
n_col = desc_a%matrix_data(psb_n_col_)
|
|
|
|
n_col = desc_a%matrix_data(psb_n_col_)
|
|
|
|
nhalo = n_col-nrow_a
|
|
|
|
nhalo = n_col-nrow_a
|
|
|
|
n_row = p%desc_data%matrix_data(psb_n_row_)
|
|
|
|
n_row = p%desc_data%matrix_data(psb_n_row_)
|
|
|
|
lovr = ((nztota+nrow_a-1)/nrow_a)*nhalo*p%iprcparm(n_ovr_)
|
|
|
|
|
|
|
|
p%av(l_pr_)%m = n_row
|
|
|
|
p%av(l_pr_)%m = n_row
|
|
|
|
p%av(l_pr_)%k = n_row
|
|
|
|
p%av(l_pr_)%k = n_row
|
|
|
|
p%av(u_pr_)%m = n_row
|
|
|
|
p%av(u_pr_)%m = n_row
|
|
|
|
p%av(u_pr_)%k = n_row
|
|
|
|
p%av(u_pr_)%k = n_row
|
|
|
|
call psb_sp_all(n_row,n_row,p%av(l_pr_),nztota+lovr,info)
|
|
|
|
call psb_sp_all(n_row,n_row,p%av(l_pr_),nztota+nztotb,info)
|
|
|
|
if (info == 0) call psb_sp_all(n_row,n_row,p%av(u_pr_),nztota+lovr,info)
|
|
|
|
if (info == 0) call psb_sp_all(n_row,n_row,p%av(u_pr_),nztota+nztotb,info)
|
|
|
|
if(info/=0) then
|
|
|
|
if(info/=0) then
|
|
|
|
info=4010
|
|
|
|
info=4010
|
|
|
|
ch_err='psb_sp_all'
|
|
|
|
ch_err='psb_sp_all'
|
|
|
|