psblas-3.3-maint:

base/psblas/psb_cspmm.f90
 base/psblas/psb_dspmm.f90
 base/psblas/psb_sspmm.f90
 base/psblas/psb_zspmm.f90

Fix for transpose spmm_vect.
psblas-3.3-maint
Salvatore Filippone 11 years ago
parent e922cc52b4
commit 503f8c2b99

@ -813,8 +813,11 @@ subroutine psb_cspmv_vect(alpha,a,x,beta,y,desc_a,info,&
call psi_ovrl_save(x%v,xvsave,desc_a,info)
if (info == psb_success_) call psi_ovrl_upd(x%v,desc_a,psb_avg_,info)
!!! THIS SHOULD BE FIXED !!! But beta is almost never /= 0
!!$ yp(nrow+1:ncol) = czero
if (beta /= czero) then
call y%sync()
y%v%v(nrow+1:ncol) = czero
call y%v%set_host()
end if
! local Matrix-vector product
if (info == psb_success_) call psb_csmm(alpha,a,x,beta,y,info,trans=trans_)

@ -813,8 +813,11 @@ subroutine psb_dspmv_vect(alpha,a,x,beta,y,desc_a,info,&
call psi_ovrl_save(x%v,xvsave,desc_a,info)
if (info == psb_success_) call psi_ovrl_upd(x%v,desc_a,psb_avg_,info)
!!! THIS SHOULD BE FIXED !!! But beta is almost never /= 0
!!$ yp(nrow+1:ncol) = dzero
if (beta /= dzero) then
call y%sync()
y%v%v(nrow+1:ncol) = dzero
call y%v%set_host()
end if
! local Matrix-vector product
if (info == psb_success_) call psb_csmm(alpha,a,x,beta,y,info,trans=trans_)

@ -813,8 +813,11 @@ subroutine psb_sspmv_vect(alpha,a,x,beta,y,desc_a,info,&
call psi_ovrl_save(x%v,xvsave,desc_a,info)
if (info == psb_success_) call psi_ovrl_upd(x%v,desc_a,psb_avg_,info)
!!! THIS SHOULD BE FIXED !!! But beta is almost never /= 0
!!$ yp(nrow+1:ncol) = szero
if (beta /= szero) then
call y%sync()
y%v%v(nrow+1:ncol) = szero
call y%v%set_host()
end if
! local Matrix-vector product
if (info == psb_success_) call psb_csmm(alpha,a,x,beta,y,info,trans=trans_)

@ -813,8 +813,11 @@ subroutine psb_zspmv_vect(alpha,a,x,beta,y,desc_a,info,&
call psi_ovrl_save(x%v,xvsave,desc_a,info)
if (info == psb_success_) call psi_ovrl_upd(x%v,desc_a,psb_avg_,info)
!!! THIS SHOULD BE FIXED !!! But beta is almost never /= 0
!!$ yp(nrow+1:ncol) = zzero
if (beta /= zzero) then
call y%sync()
y%v%v(nrow+1:ncol) = zzero
call y%v%set_host()
end if
! local Matrix-vector product
if (info == psb_success_) call psb_csmm(alpha,a,x,beta,y,info,trans=trans_)

Loading…
Cancel
Save