Fixed compilation for cdall & friends.

ILmat
Salvatore Filippone 8 years ago
parent 6cd4948ac9
commit d8eff28219

@ -282,7 +282,6 @@ module psb_desc_mod
module procedure psb_cdfree module procedure psb_cdfree
end interface psb_free end interface psb_free
private :: nullify_desc, cd_get_fmt,& private :: nullify_desc, cd_get_fmt,&
& cd_l2gs1, cd_l2gs2, cd_l2gv1, cd_l2gv2, cd_g2ls1,& & cd_l2gs1, cd_l2gs2, cd_l2gv1, cd_l2gv2, cd_g2ls1,&
& cd_g2ls2, cd_g2lv1, cd_g2lv2, cd_g2ls1_ins,& & cd_g2ls2, cd_g2lv1, cd_g2lv2, cd_g2ls1_ins,&
@ -334,11 +333,13 @@ contains
val = cd_large_threshold val = cd_large_threshold
end function psb_cd_get_large_threshold end function psb_cd_get_large_threshold
logical function psb_cd_choose_large_state(ictxt,m) function psb_cd_choose_large_state(ictxt,m) result(val)
use psb_penv_mod use psb_penv_mod
implicit none implicit none
integer(psb_ipk_), intent(in) :: ictxt,m integer(psb_ipk_), intent(in) :: ictxt
integer(psb_lpk_), intent(in) :: m
logical :: val
!locals !locals
integer(psb_ipk_) :: np,me integer(psb_ipk_) :: np,me
@ -348,8 +349,7 @@ contains
! it makes no sense to use them if you don't have at least ! it makes no sense to use them if you don't have at least
! 3 processes, no matter what the size of the process. ! 3 processes, no matter what the size of the process.
! !
psb_cd_choose_large_state = & val = (m > psb_cd_get_large_threshold()) .and. &
& (m > psb_cd_get_large_threshold()) .and. &
& (np > 2) & (np > 2)
end function psb_cd_choose_large_state end function psb_cd_choose_large_state

@ -93,16 +93,18 @@ module psb_cd_tools_mod
interface psb_cdins interface psb_cdins
subroutine psb_cdinsrc(nz,ia,ja,desc_a,info,ila,jla) subroutine psb_cdinsrc(nz,ia,ja,desc_a,info,ila,jla)
import :: psb_ipk_, psb_desc_type import :: psb_ipk_, psb_lpk_, psb_desc_type
type(psb_desc_type), intent(inout) :: desc_a type(psb_desc_type), intent(inout) :: desc_a
integer(psb_ipk_), intent(in) :: nz,ia(:),ja(:) integer(psb_ipk_), intent(in) :: nz
integer(psb_lpk_), intent(in) :: ia(:),ja(:)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(out) :: ila(:), jla(:) integer(psb_ipk_), optional, intent(out) :: ila(:), jla(:)
end subroutine psb_cdinsrc end subroutine psb_cdinsrc
subroutine psb_cdinsc(nz,ja,desc,info,jla,mask,lidx) subroutine psb_cdinsc(nz,ja,desc,info,jla,mask,lidx)
import :: psb_ipk_, psb_desc_type import :: psb_ipk_, psb_lpk_, psb_desc_type
type(psb_desc_type), intent(inout) :: desc type(psb_desc_type), intent(inout) :: desc
integer(psb_ipk_), intent(in) :: nz,ja(:) integer(psb_ipk_), intent(in) :: nz
integer(psb_lpk_), intent(in) :: ja(:)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(out) :: jla(:) integer(psb_ipk_), optional, intent(out) :: jla(:)
logical, optional, target, intent(in) :: mask(:) logical, optional, target, intent(in) :: mask(:)
@ -112,10 +114,10 @@ module psb_cd_tools_mod
interface psb_cdbldext interface psb_cdbldext
Subroutine psb_cd_lstext(desc_a,in_list,desc_ov,info, mask,extype) Subroutine psb_cd_lstext(desc_a,in_list,desc_ov,info, mask,extype)
import :: psb_ipk_, psb_desc_type import :: psb_ipk_, psb_lpk_, psb_desc_type
Implicit None Implicit None
Type(psb_desc_type), Intent(inout), target :: desc_a Type(psb_desc_type), Intent(inout), target :: desc_a
integer(psb_ipk_), intent(in) :: in_list(:) integer(psb_lpk_), intent(in) :: in_list(:)
Type(psb_desc_type), Intent(out) :: desc_ov Type(psb_desc_type), Intent(out) :: desc_ov
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
logical, intent(in), optional, target :: mask(:) logical, intent(in), optional, target :: mask(:)

@ -61,10 +61,11 @@ subroutine psb_cd_inloc(v, ictxt, desc, info, globalcheck,idx)
& loc_col,nprocs,k,glx,nlu,& & loc_col,nprocs,k,glx,nlu,&
& flag_, err_act, novrl, norphan,& & flag_, err_act, novrl, norphan,&
& npr_ov, itmpov, i_pnt & npr_ov, itmpov, i_pnt
integer(psb_lpk) :: m, n, nrt integer(psb_lpk_) :: m, n, nrt
integer(psb_ipk_) :: int_err(5),exch(3) integer(psb_ipk_) :: int_err(5),exch(3)
integer(psb_ipk_), allocatable :: temp_ovrlap(:), tmpgidx(:,:), vl(:),& integer(psb_ipk_), allocatable :: temp_ovrlap(:), tmpgidx(:,:), &
& nov(:), ov_idx(:,:), ix(:) & nov(:), ov_idx(:,:)
integer(psb_lpk_), allocatable :: vl(:), ix(:)
integer(psb_ipk_) :: debug_level, debug_unit integer(psb_ipk_) :: debug_level, debug_unit
integer(psb_mpk_) :: iictxt integer(psb_mpk_) :: iictxt
logical :: check_, islarge logical :: check_, islarge
@ -84,15 +85,11 @@ subroutine psb_cd_inloc(v, ictxt, desc, info, globalcheck,idx)
iictxt = ictxt iictxt = ictxt
loc_row = size(v) loc_row = size(v)
if (.false.) then m = maxval(v)
m = loc_row nrt = loc_row
call psb_sum(ictxt,m) call psb_sum(ictxt,nrt)
else call psb_max(ictxt,m)
m = maxval(v)
nrt = loc_row
call psb_sum(ictxt,nrt)
call psb_max(ictxt,m)
end if
if (present(globalcheck)) then if (present(globalcheck)) then
check_ = globalcheck check_ = globalcheck
else else

@ -38,7 +38,7 @@ Subroutine psb_cd_lstext(desc_a,in_list,desc_ov,info, mask,extype)
! .. Array Arguments .. ! .. Array Arguments ..
Type(psb_desc_type), Intent(inout), target :: desc_a Type(psb_desc_type), Intent(inout), target :: desc_a
integer(psb_ipk_), intent(in) :: in_list(:) integer(psb_lpk_), intent(in) :: in_list(:)
Type(psb_desc_type), Intent(out) :: desc_ov Type(psb_desc_type), Intent(out) :: desc_ov
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
logical, intent(in), optional, target :: mask(:) logical, intent(in), optional, target :: mask(:)

@ -57,9 +57,10 @@ subroutine psb_cdalv(v, ictxt, desc, info, flag)
type(psb_desc_type), intent(out) :: desc type(psb_desc_type), intent(out) :: desc
!locals !locals
integer(psb_ipk_) :: counter,i,j,np,me,loc_row,err,& integer(psb_ipk_) :: counter,j,np,me,loc_row,err,&
& loc_col,nprocs,m,n,itmpov, k,glx,& & loc_col,nprocs,itmpov, k,glx,&
& l_ov_ix,l_ov_el,idx, flag_, err_act & l_ov_ix,l_ov_el,idx, flag_, err_act
integer(psb_lpk_) :: m,n,i
integer(psb_ipk_) :: int_err(5),exch(3) integer(psb_ipk_) :: int_err(5),exch(3)
integer(psb_ipk_), allocatable :: temp_ovrlap(:) integer(psb_ipk_), allocatable :: temp_ovrlap(:)
integer(psb_ipk_) :: debug_level, debug_unit integer(psb_ipk_) :: debug_level, debug_unit

@ -52,7 +52,8 @@ subroutine psb_cdinsrc(nz,ia,ja,desc_a,info,ila,jla)
!....PARAMETERS... !....PARAMETERS...
Type(psb_desc_type), intent(inout) :: desc_a Type(psb_desc_type), intent(inout) :: desc_a
integer(psb_ipk_), intent(in) :: nz,ia(:),ja(:) integer(psb_ipk_), intent(in) :: nz
integer(psb_lpk_), intent(in) :: ia(:),ja(:)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(out) :: ila(:), jla(:) integer(psb_ipk_), optional, intent(out) :: ila(:), jla(:)
!LOCALS..... !LOCALS.....
@ -133,8 +134,7 @@ subroutine psb_cdinsrc(nz,ia,ja,desc_a,info,ila,jla)
end if end if
call desc_a%indxmap%g2l(ia(1:nz),ila_(1:nz),info,owned=.true.) call desc_a%indxmap%g2l(ia(1:nz),ila_(1:nz),info,owned=.true.)
if (info == psb_success_) then if (info == psb_success_) then
jla_(1:nz) = ja(1:nz) call desc_a%indxmap%g2l_ins(ja(1:nz),jla_(1:nz),info,mask=(ila_(1:nz)>0))
call desc_a%indxmap%g2lip_ins(jla_(1:nz),info,mask=(ila_(1:nz)>0))
end if end if
deallocate(ila_,jla_,stat=info) deallocate(ila_,jla_,stat=info)
end if end if
@ -170,7 +170,8 @@ subroutine psb_cdinsc(nz,ja,desc,info,jla,mask,lidx)
!....PARAMETERS... !....PARAMETERS...
Type(psb_desc_type), intent(inout) :: desc Type(psb_desc_type), intent(inout) :: desc
integer(psb_ipk_), intent(in) :: nz,ja(:) integer(psb_ipk_), intent(in) :: nz
integer(psb_lpk_), intent(in) :: ja(:)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(out) :: jla(:) integer(psb_ipk_), optional, intent(out) :: jla(:)
logical, optional, target, intent(in) :: mask(:) logical, optional, target, intent(in) :: mask(:)

@ -129,7 +129,7 @@ contains
integer(psb_ipk_) :: ip, nerv, nesd, totxch,idxr,idxs integer(psb_ipk_) :: ip, nerv, nesd, totxch,idxr,idxs
integer(psb_ipk_) :: ictxt, me, np, data_, info, verb_ integer(psb_ipk_) :: ictxt, me, np, data_, info, verb_
integer(psb_ipk_), allocatable :: gidx(:) integer(psb_lpk_), allocatable :: gidx(:)
class(psb_i_base_vect_type), pointer :: vpnt class(psb_i_base_vect_type), pointer :: vpnt
ictxt = desc_p%get_ctxt() ictxt = desc_p%get_ctxt()

@ -107,12 +107,14 @@ subroutine psb_cdrep(m, ictxt, desc, info)
use psb_repl_map_mod use psb_repl_map_mod
implicit None implicit None
!....Parameters... !....Parameters...
integer(psb_ipk_), intent(in) :: m,ictxt integer(psb_lpk_), intent(in) :: m
integer(psb_ipk_), intent(in) :: ictxt
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
Type(psb_desc_type), intent(out) :: desc Type(psb_desc_type), intent(out) :: desc
!locals !locals
integer(psb_ipk_) :: i,np,me,err,n,err_act integer(psb_ipk_) :: i,np,me,err,err_act
integer(psb_lpk_) :: n
integer(psb_ipk_) :: int_err(5),exch(2), thalo(1), tovr(1), text(1) integer(psb_ipk_) :: int_err(5),exch(2), thalo(1), tovr(1), text(1)
integer(psb_ipk_) :: debug_level, debug_unit integer(psb_ipk_) :: debug_level, debug_unit
integer(psb_mpk_) :: iictxt integer(psb_mpk_) :: iictxt

Loading…
Cancel
Save