Redefined interface(s) of sort_dl

unify_aggr_bld
Salvatore Filippone 5 years ago
parent 003b3fd75d
commit c2621c6b28

@ -134,7 +134,7 @@ subroutine psi_i_crea_index(desc_a,index_in,index_out,nxch,nsnd,nrcv,info)
!!$ ! ....now i can sort dependency lists. !!$ ! ....now i can sort dependency lists.
if (do_timings) call psb_toc(idx_phase21) if (do_timings) call psb_toc(idx_phase21)
if (do_timings) call psb_tic(idx_phase22) if (do_timings) call psb_tic(idx_phase22)
call psi_sort_dl(dl_ptr,c_dep_list,length_dl,ictxt,info) call psi_sort_dl(me,np,dl_ptr,c_dep_list,length_dl,info)
if (info /= 0) then if (info /= 0) then
write(0,*) me,trim(name),' From sort_dl ',info write(0,*) me,trim(name),' From sort_dl ',info
end if end if

@ -77,8 +77,8 @@
! node in the dependency list for the current one * ! node in the dependency list for the current one *
! * ! *
!********************************************************************** !**********************************************************************
subroutine psi_i_csr_sort_dl(dl_ptr,c_dep_list,l_dep_list,ictxt,info) subroutine psi_i_csr_sort_dl_ctxt(dl_ptr,c_dep_list,l_dep_list,ictxt,info)
use psi_mod, psb_protect_name => psi_i_csr_sort_dl use psi_mod, psb_protect_name => psi_i_csr_sort_dl_ctxt
use psb_const_mod use psb_const_mod
use psb_error_mod use psb_error_mod
use psb_sort_mod use psb_sort_mod
@ -97,6 +97,29 @@ subroutine psi_i_csr_sort_dl(dl_ptr,c_dep_list,l_dep_list,ictxt,info)
info = 0 info = 0
call psb_info(ictxt,me,np) call psb_info(ictxt,me,np)
call psi_sort_dl(me,np,dl_ptr,c_dep_list,l_dep_list,info)
end subroutine psi_i_csr_sort_dl_ctxt
subroutine psi_i_csr_sort_dl_np(me,np,dl_ptr,c_dep_list,l_dep_list,info)
use psi_mod, psb_protect_name => psi_i_csr_sort_dl_np
use psb_const_mod
use psb_error_mod
use psb_sort_mod
implicit none
integer(psb_ipk_), intent(inout) :: c_dep_list(:), dl_ptr(0:), l_dep_list(0:)
integer(psb_ipk_), intent(in) :: me,np
integer(psb_ipk_), intent(out) :: info
! Local variables
integer(psb_ipk_), allocatable :: dg(:), dgp(:),&
& idx(:), upd(:), edges(:,:), ich(:)
integer(psb_ipk_) :: i, j, nedges, ip1, ip2, nch, ip, iedge,&
& i1, ix, ist, iswap(2)
logical :: internal_error
nedges = size(c_dep_list) nedges = size(c_dep_list)
allocate(dg(0:np-1),dgp(nedges),edges(2,nedges),upd(0:np-1),& allocate(dg(0:np-1),dgp(nedges),edges(2,nedges),upd(0:np-1),&
@ -234,4 +257,4 @@ subroutine psi_i_csr_sort_dl(dl_ptr,c_dep_list,l_dep_list,ictxt,info)
end if end if
end do end do
end subroutine psi_i_csr_sort_dl end subroutine psi_i_csr_sort_dl_np

@ -95,14 +95,22 @@ module psi_i_mod
end interface end interface
interface psi_sort_dl interface psi_sort_dl
subroutine psi_i_csr_sort_dl(dl_ptr,c_dep_list,l_dep_list,ictxt,info) subroutine psi_i_csr_sort_dl_ctxt(dl_ptr,c_dep_list,l_dep_list,ictxt,info)
import import
implicit none implicit none
integer(psb_ipk_), intent(in) :: c_dep_list(:), dl_ptr(0:) integer(psb_ipk_), intent(in) :: c_dep_list(:), dl_ptr(0:)
integer(psb_ipk_), intent(inout) :: l_dep_list(0:) integer(psb_ipk_), intent(inout) :: l_dep_list(0:)
integer(psb_ipk_) :: ictxt integer(psb_ipk_) :: ictxt
integer(psb_ipk_) :: info integer(psb_ipk_) :: info
end subroutine psi_i_csr_sort_dl end subroutine psi_i_csr_sort_dl_ctxt
subroutine psi_i_csr_sort_dl_np(me,np,dl_ptr,c_dep_list,l_dep_list,info)
import
implicit none
integer(psb_ipk_), intent(in) :: c_dep_list(:), dl_ptr(0:)
integer(psb_ipk_), intent(inout) :: l_dep_list(0:)
integer(psb_ipk_) :: me,np
integer(psb_ipk_) :: info
end subroutine psi_i_csr_sort_dl_np
end interface end interface
interface psi_extract_dep_list interface psi_extract_dep_list

Loading…
Cancel
Save