You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
psblas3/base/modules/blacs_env.F90

54 lines
1.3 KiB
Fortran

subroutine psb_set_coher(ictxt,isvch)
integer :: ictxt, isvch
! Ensure global coherence for convergence checks.
#ifdef NETLIB_BLACS
Call blacs_get(ictxt,16,isvch)
Call blacs_set(ictxt,16,1)
#endif
#ifdef ESSL_BLACS
! Do nothing: ESSL does coherence by default,
! and does not handle req=16
#endif
end subroutine psb_set_coher
subroutine psb_restore_coher(ictxt,isvch)
integer :: ictxt, isvch
! Ensure global coherence for convergence checks.
#ifdef NETLIB_BLACS
Call blacs_set(ictxt,16,isvch)
#endif
#ifdef ESSL_BLACS
! Do nothing: ESSL does coherence by default,
! and does not handle req=16
#endif
end subroutine psb_restore_coher
subroutine psb_get_mpicomm(ictxt,comm)
integer :: ictxt, comm
call blacs_get(ictxt,10,comm)
end subroutine psb_get_mpicomm
subroutine psb_get_rank(rank,ictxt,id)
integer :: rank,ictxt, id
integer :: blacs_pnum
rank = blacs_pnum(ictxt,id,0)
end subroutine psb_get_rank
#ifdef ESSL_BLACS
!
! Need these, as they are not in the ESSL implementation
! of the BLACS.
!
integer function krecvid(contxt,proc_to_comm,myrow)
integer contxt,proc_to_comm,myrow
krecvid=32766
return
end function krecvid
integer function ksendid(contxt,proc_to_comm,myrow)
integer contxt,proc_to_comm,myrow
ksendid=32766
return
end function ksendid
#endif