mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-19 04:12:09 +00:00
Renaming: moved PSB_DESCASB into PSB_CDOVRBLD
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -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
|
||||
Reference in New Issue
Block a user