Renaming: moved PSB_DESCASB into PSB_CDOVRBLD

psblas3-type-indexed
Salvatore Filippone 19 years ago
parent 9f3f145928
commit 22384aeb34

@ -126,8 +126,8 @@ Module psb_tools_mod
end interface
interface psb_descasb
Subroutine psb_descasb(n_ovr,desc_p,desc_a,a,&
interface psb_cdovrbld
Subroutine psb_cdovrbld(n_ovr,desc_p,desc_a,a,&
& l_tmp_halo,l_tmp_ovr_idx,lworks,lworkr,info)
use psb_descriptor_type
use psb_spmat_type
@ -138,7 +138,7 @@ Module psb_tools_mod
Integer, Intent(in) :: l_tmp_halo,l_tmp_ovr_idx
Integer, Intent(inout) :: lworks, lworkr
integer, intent(out) :: info
end Subroutine psb_descasb
end Subroutine psb_cdovrbld
end interface

@ -9,7 +9,7 @@ FOBJS = psb_dallc.o psb_dasb.o psb_dcsrp.o psb_cdprt.o \
psb_dspupdate.o psb_glob_to_loc.o psb_ialloc.o psb_iasb.o \
psb_ifree.o psb_iins.o psb_loc_to_glob.o
MPFOBJS = psb_descasb.o psb_dcsrovr.o
MPFOBJS = psb_cdovrbld.o psb_dcsrovr.o
INCDIRS = -I ../../lib -I .
LIBDIR = ../../lib

@ -34,7 +34,7 @@
! This routine takes a matrix A with its descriptor, and builds the
! auxiliary descriptor corresponding to the number of overlap levels
! specified on input. It really is just a size estimation/allocation
! front end for <psb_descasb>.
! front end for <psb_cdovrbld>.
!
! Parameters:
! a - type(<psb_dspmat_type>). The input sparse matrix.
@ -73,8 +73,8 @@ Subroutine psb_cdovr(a,desc_a,novr,desc_ov,info)
end subroutine psb_dsccpy
end interface
interface psb_descasb
subroutine psb_descasb(n_ovr,desc_p,desc_a,a,l_tmp_halo,&
interface psb_cdovrbld
subroutine psb_cdovrbld(n_ovr,desc_p,desc_a,a,l_tmp_halo,&
& l_tmp_ovr_idx,lworks,lworkr,info)
use psb_prec_type
use psb_spmat_type
@ -85,7 +85,7 @@ Subroutine psb_cdovr(a,desc_a,novr,desc_ov,info)
integer, intent(in) :: l_tmp_halo,l_tmp_ovr_idx
integer, intent(inout) :: lworks, lworkr
integer, intent(out) :: info
end subroutine psb_descasb
end subroutine psb_cdovrbld
end interface
@ -202,22 +202,22 @@ Subroutine psb_cdovr(a,desc_a,novr,desc_ov,info)
desc_ov%loc_to_glob(:) = desc_a%loc_to_glob(:)
desc_ov%glob_to_loc(:) = desc_a%glob_to_loc(:)
If(debug)Write(0,*)'Start descasb',me,lworks,lworkr
If(debug)Write(0,*)'Start cdovrbld',me,lworks,lworkr
call blacs_barrier(icontxt,'All')
!
! The real work goes on in here....
!
Call psb_descasb(novr,desc_ov,desc_a,a,&
Call psb_cdovrbld(novr,desc_ov,desc_a,a,&
& l_tmp_halo,l_tmp_ovr_idx,lworks,lworkr,info)
if (info.ne.0) then
info=4010
ch_err='psb_descasb'
ch_err='psb_cdovrbld'
call psb_errpush(info,name,a_err=ch_err)
goto 9999
end if
desc_ov%matrix_data(psb_dec_type_) = psb_desc_asb_
If(debug)Write(0,*)'Done descasb',me,lworks,lworkr
If(debug)Write(0,*)'Done cdovrbld',me,lworks,lworkr
call blacs_barrier(icontxt,'All')
!!$ ierr = MPE_Log_event( idsce, 0, "st DSCASB" )

@ -28,9 +28,9 @@
!!$ POSSIBILITY OF SUCH DAMAGE.
!!$
!!$
! File: psb_descasb.f90
! File: psb_cdovrbld.f90
!
! Subroutine: psb_descasb
! Subroutine: psb_cdovrbld
! This routine takes a matrix A with its descriptor, and builds the
! auxiliary descriptor corresponding to the number of overlap levels
! specified on input. This is the actual worker horse.....
@ -46,7 +46,7 @@
! lworkr - integer. Input estimate for allocation sizes.
! lworks - integer. Input estimate for allocation sizes.
! info - integer. Eventually returns an error code
Subroutine psb_descasb(n_ovr,desc_p,desc_a,a,&
Subroutine psb_cdovrbld(n_ovr,desc_p,desc_a,a,&
& l_tmp_halo,l_tmp_ovr_idx,lworks,lworkr,info)
use psb_descriptor_type
use psb_serial_mod
@ -89,10 +89,10 @@ Subroutine psb_descasb(n_ovr,desc_p,desc_a,a,&
if(psb_get_errstatus().ne.0) return
info=0
name='psb_descasb'
name='psb_cdovrbld'
call psb_erractionsave(err_act)
If(debug) Write(0,*)'descasb begin'
If(debug) Write(0,*)'cdovrbld begin'
icontxt = desc_a%matrix_data(psb_ctxt_)
!!$ call blacs_barrier(icontxt,'All')
Call blacs_gridinfo(icontxt,np,npcol,myrow,mycol)
@ -107,7 +107,7 @@ Subroutine psb_descasb(n_ovr,desc_p,desc_a,a,&
m = desc_a%matrix_data(psb_n_row_)
n_row = desc_a%matrix_data(psb_n_row_)
n_col = desc_a%matrix_data(psb_n_col_)
if (debug) write(0,*) myrow,' On entry to DESCASB n_col:',n_col
if (debug) write(0,*) myrow,' On entry to CDOVRBLD n_col:',n_col
dl_lda=np*5
lwork=5*(5*np+2)*np+10
@ -208,7 +208,7 @@ Subroutine psb_descasb(n_ovr,desc_p,desc_a,a,&
goto 9999
end If
tot_recv=tot_recv+n_elem_recv
if (debug) write(0,*) myrow,' DESCASB tot_recv:',proc,n_elem_recv,tot_recv
if (debug) write(0,*) myrow,' CDOVRBLD tot_recv:',proc,n_elem_recv,tot_recv
!
! While running through the column indices exchanged with other procs
! we have to keep track of which elements actually are overlap and halo
@ -312,7 +312,7 @@ Subroutine psb_descasb(n_ovr,desc_p,desc_a,a,&
counter_e = counter_e + 2
End If
else
write(0,*) myrow, 'Descasb From SearchInsKeyVal: ',info
write(0,*) myrow, 'Cdovrbld From SearchInsKeyVal: ',info
endif
Enddo
if (debug) write(0,*) myrow,'Checktmp_o_i Loop Mid1',tmp_ovr_idx(1:10)
@ -369,7 +369,7 @@ Subroutine psb_descasb(n_ovr,desc_p,desc_a,a,&
counter_e = counter_e + 2
End If
else
write(0,*) myrow,'Descasb From SearchInsKeyVal: ',info
write(0,*) myrow,'Cdovrbld From SearchInsKeyVal: ',info
endif
!
@ -457,7 +457,7 @@ Subroutine psb_descasb(n_ovr,desc_p,desc_a,a,&
counter = counter+n_elem_send+3
if (debug) write(0,*) myrow,'Checktmp_o_i Loop End',tmp_ovr_idx(1:10)
Enddo
if (debug) write(0,*)myrow,'End phase 1 DESCASB', m, n_col, tot_recv
if (debug) write(0,*)myrow,'End phase 1 CDOVRBLD', m, n_col, tot_recv
if (i_ovr < n_ovr) then
!
@ -513,7 +513,7 @@ Subroutine psb_descasb(n_ovr,desc_p,desc_a,a,&
Do i=1,iszr
idx=workr(i)
if (idx <1) then
write(0,*) myrow,'Error in DESCASB ',idx,i,iszr
write(0,*) myrow,'Error in CDOVRBLD ',idx,i,iszr
!!$ write(0,*) myrow, ' WORKR :',workr(1:iszr)
else If (desc_p%glob_to_loc(idx) < -np) Then
!
@ -541,10 +541,10 @@ Subroutine psb_descasb(n_ovr,desc_p,desc_a,a,&
t_halo_in(counter_t+1)=1
t_halo_in(counter_t+2)=n_col
counter_t=counter_t+3
if (debug) write(0,*) myrow,' DESCASB: Added into t_halo_in from recv',&
if (debug) write(0,*) myrow,' CDOVRBLD: Added into t_halo_in from recv',&
&proc_id,n_col,idx
else if (desc_p%glob_to_loc(idx) < 0) Then
if (debug) write(0,*) myrow,'Wrong input to descasb??',&
if (debug) write(0,*) myrow,'Wrong input to cdovrbld??',&
&idx,desc_p%glob_to_loc(idx)
End If
End Do
@ -688,4 +688,4 @@ Subroutine psb_descasb(n_ovr,desc_p,desc_a,a,&
end if
return
End Subroutine psb_descasb
End Subroutine psb_cdovrbld
Loading…
Cancel
Save