diff --git a/cuda/impl/psb_c_cuda_elg_vect_mv.F90 b/cuda/impl/psb_c_cuda_elg_vect_mv.F90 index 21d7b4b2..df679deb 100644 --- a/cuda/impl/psb_c_cuda_elg_vect_mv.F90 +++ b/cuda/impl/psb_c_cuda_elg_vect_mv.F90 @@ -126,15 +126,15 @@ subroutine psb_c_cuda_elg_multivect_mv(alpha,a,x,beta,y,info,trans) use elldev_mod use psb_vectordev_mod use psb_c_cuda_elg_mat_mod, psb_protect_name => psb_c_cuda_elg_multivect_mv - use psb_c_cuda_vect_mod + use psb_c_cuda_multivect_mod implicit none class(psb_c_cuda_elg_sparse_mat), intent(in) :: a complex(psb_spk_), intent(in) :: alpha, beta - class(psb_c_base_vect_type), intent(inout) :: x - class(psb_c_base_vect_type), intent(inout) :: y + class(psb_c_base_multivect_type), intent(inout) :: x + class(psb_c_base_multivect_type), intent(inout) :: y integer(psb_ipk_), intent(out) :: info character, optional, intent(in) :: trans - complex(psb_spk_), allocatable :: rx(:), ry(:) + complex(psb_spk_), allocatable :: rx(:,:), ry(:,:) logical :: tra character :: trans_ Integer(Psb_ipk_) :: err_act @@ -168,9 +168,9 @@ subroutine psb_c_cuda_elg_multivect_mv(alpha,a,x,beta,y,info,trans) else if (a%is_host()) call a%sync() select type (xx => x) - type is (psb_c_vect_cuda) + type is (psb_c_multivect_cuda) select type(yy => y) - type is (psb_c_vect_cuda) + type is (psb_c_multivect_cuda) if (a%is_host()) call a%sync() if (xx%is_host()) call xx%sync() if (beta /= czero) then diff --git a/cuda/impl/psb_c_cuda_hlg_vect_mv.F90 b/cuda/impl/psb_c_cuda_hlg_vect_mv.F90 index 6ddbe0fd..b0499602 100644 --- a/cuda/impl/psb_c_cuda_hlg_vect_mv.F90 +++ b/cuda/impl/psb_c_cuda_hlg_vect_mv.F90 @@ -124,15 +124,15 @@ subroutine psb_c_cuda_hlg_multivect_mv(alpha,a,x,beta,y,info,trans) use hlldev_mod use psb_vectordev_mod use psb_c_cuda_hlg_mat_mod, psb_protect_name => psb_c_cuda_hlg_multivect_mv - use psb_c_cuda_vect_mod + use psb_c_cuda_multivect_mod implicit none class(psb_c_cuda_hlg_sparse_mat), intent(in) :: a complex(psb_spk_), intent(in) :: alpha, beta - class(psb_c_base_vect_type), intent(inout) :: x - class(psb_c_base_vect_type), intent(inout) :: y + class(psb_c_base_multivect_type), intent(inout) :: x + class(psb_c_base_multivect_type), intent(inout) :: y integer(psb_ipk_), intent(out) :: info character, optional, intent(in) :: trans - complex(psb_spk_), allocatable :: rx(:), ry(:) + complex(psb_spk_), allocatable :: rx(:,:), ry(:,:) logical :: tra character :: trans_ Integer(Psb_ipk_) :: err_act @@ -165,9 +165,9 @@ subroutine psb_c_cuda_hlg_multivect_mv(alpha,a,x,beta,y,info,trans) else if (a%is_host()) call a%sync() select type (xx => x) - type is (psb_c_vect_cuda) + type is (psb_c_multivect_cuda) select type(yy => y) - type is (psb_c_vect_cuda) + type is (psb_c_multivect_cuda) if (xx%is_host()) call xx%sync() if (beta /= dzero) then if (yy%is_host()) call yy%sync() diff --git a/cuda/impl/psb_s_cuda_elg_vect_mv.F90 b/cuda/impl/psb_s_cuda_elg_vect_mv.F90 index 1a753db1..247e135a 100644 --- a/cuda/impl/psb_s_cuda_elg_vect_mv.F90 +++ b/cuda/impl/psb_s_cuda_elg_vect_mv.F90 @@ -126,15 +126,15 @@ subroutine psb_s_cuda_elg_multivect_mv(alpha,a,x,beta,y,info,trans) use elldev_mod use psb_vectordev_mod use psb_s_cuda_elg_mat_mod, psb_protect_name => psb_s_cuda_elg_multivect_mv - use psb_s_cuda_vect_mod + use psb_s_cuda_multivect_mod implicit none class(psb_s_cuda_elg_sparse_mat), intent(in) :: a real(psb_spk_), intent(in) :: alpha, beta - class(psb_s_base_vect_type), intent(inout) :: x - class(psb_s_base_vect_type), intent(inout) :: y + class(psb_s_base_multivect_type), intent(inout) :: x + class(psb_s_base_multivect_type), intent(inout) :: y integer(psb_ipk_), intent(out) :: info character, optional, intent(in) :: trans - real(psb_spk_), allocatable :: rx(:), ry(:) + real(psb_spk_), allocatable :: rx(:,:), ry(:,:) logical :: tra character :: trans_ Integer(Psb_ipk_) :: err_act @@ -168,9 +168,9 @@ subroutine psb_s_cuda_elg_multivect_mv(alpha,a,x,beta,y,info,trans) else if (a%is_host()) call a%sync() select type (xx => x) - type is (psb_s_vect_cuda) + type is (psb_s_multivect_cuda) select type(yy => y) - type is (psb_s_vect_cuda) + type is (psb_s_multivect_cuda) if (a%is_host()) call a%sync() if (xx%is_host()) call xx%sync() if (beta /= szero) then diff --git a/cuda/impl/psb_s_cuda_hlg_vect_mv.F90 b/cuda/impl/psb_s_cuda_hlg_vect_mv.F90 index 3c4974c2..b257cae5 100644 --- a/cuda/impl/psb_s_cuda_hlg_vect_mv.F90 +++ b/cuda/impl/psb_s_cuda_hlg_vect_mv.F90 @@ -124,15 +124,15 @@ subroutine psb_s_cuda_hlg_multivect_mv(alpha,a,x,beta,y,info,trans) use hlldev_mod use psb_vectordev_mod use psb_s_cuda_hlg_mat_mod, psb_protect_name => psb_s_cuda_hlg_multivect_mv - use psb_s_cuda_vect_mod + use psb_s_cuda_multivect_mod implicit none class(psb_s_cuda_hlg_sparse_mat), intent(in) :: a real(psb_spk_), intent(in) :: alpha, beta - class(psb_s_base_vect_type), intent(inout) :: x - class(psb_s_base_vect_type), intent(inout) :: y + class(psb_s_base_multivect_type), intent(inout) :: x + class(psb_s_base_multivect_type), intent(inout) :: y integer(psb_ipk_), intent(out) :: info character, optional, intent(in) :: trans - real(psb_spk_), allocatable :: rx(:), ry(:) + real(psb_spk_), allocatable :: rx(:,:), ry(:,:) logical :: tra character :: trans_ Integer(Psb_ipk_) :: err_act @@ -156,7 +156,7 @@ subroutine psb_s_cuda_hlg_multivect_mv(alpha,a,x,beta,y,info,trans) tra = (psb_toupper(trans_) == 'T').or.(psb_toupper(trans_)=='C') if (tra) then if (.not.x%is_host()) call x%sync() - if (beta /= szero) then + if (beta /= dzero) then if (.not.y%is_host()) call y%sync() end if if (a%is_dev()) call a%sync() @@ -165,9 +165,9 @@ subroutine psb_s_cuda_hlg_multivect_mv(alpha,a,x,beta,y,info,trans) else if (a%is_host()) call a%sync() select type (xx => x) - type is (psb_s_vect_cuda) + type is (psb_s_multivect_cuda) select type(yy => y) - type is (psb_s_vect_cuda) + type is (psb_s_multivect_cuda) if (xx%is_host()) call xx%sync() if (beta /= dzero) then if (yy%is_host()) call yy%sync() diff --git a/cuda/impl/psb_z_cuda_elg_vect_mv.F90 b/cuda/impl/psb_z_cuda_elg_vect_mv.F90 index f25713cb..416a60e8 100644 --- a/cuda/impl/psb_z_cuda_elg_vect_mv.F90 +++ b/cuda/impl/psb_z_cuda_elg_vect_mv.F90 @@ -126,15 +126,15 @@ subroutine psb_z_cuda_elg_multivect_mv(alpha,a,x,beta,y,info,trans) use elldev_mod use psb_vectordev_mod use psb_z_cuda_elg_mat_mod, psb_protect_name => psb_z_cuda_elg_multivect_mv - use psb_z_cuda_vect_mod + use psb_z_cuda_multivect_mod implicit none class(psb_z_cuda_elg_sparse_mat), intent(in) :: a complex(psb_dpk_), intent(in) :: alpha, beta - class(psb_z_base_vect_type), intent(inout) :: x - class(psb_z_base_vect_type), intent(inout) :: y + class(psb_z_base_multivect_type), intent(inout) :: x + class(psb_z_base_multivect_type), intent(inout) :: y integer(psb_ipk_), intent(out) :: info character, optional, intent(in) :: trans - complex(psb_dpk_), allocatable :: rx(:), ry(:) + complex(psb_dpk_), allocatable :: rx(:,:), ry(:,:) logical :: tra character :: trans_ Integer(Psb_ipk_) :: err_act @@ -168,9 +168,9 @@ subroutine psb_z_cuda_elg_multivect_mv(alpha,a,x,beta,y,info,trans) else if (a%is_host()) call a%sync() select type (xx => x) - type is (psb_z_vect_cuda) + type is (psb_z_multivect_cuda) select type(yy => y) - type is (psb_z_vect_cuda) + type is (psb_z_multivect_cuda) if (a%is_host()) call a%sync() if (xx%is_host()) call xx%sync() if (beta /= zzero) then diff --git a/cuda/impl/psb_z_cuda_hlg_vect_mv.F90 b/cuda/impl/psb_z_cuda_hlg_vect_mv.F90 index d09326bd..de8362af 100644 --- a/cuda/impl/psb_z_cuda_hlg_vect_mv.F90 +++ b/cuda/impl/psb_z_cuda_hlg_vect_mv.F90 @@ -124,15 +124,15 @@ subroutine psb_z_cuda_hlg_multivect_mv(alpha,a,x,beta,y,info,trans) use hlldev_mod use psb_vectordev_mod use psb_z_cuda_hlg_mat_mod, psb_protect_name => psb_z_cuda_hlg_multivect_mv - use psb_z_cuda_vect_mod + use psb_z_cuda_multivect_mod implicit none class(psb_z_cuda_hlg_sparse_mat), intent(in) :: a complex(psb_dpk_), intent(in) :: alpha, beta - class(psb_z_base_vect_type), intent(inout) :: x - class(psb_z_base_vect_type), intent(inout) :: y + class(psb_z_base_multivect_type), intent(inout) :: x + class(psb_z_base_multivect_type), intent(inout) :: y integer(psb_ipk_), intent(out) :: info character, optional, intent(in) :: trans - complex(psb_dpk_), allocatable :: rx(:), ry(:) + complex(psb_dpk_), allocatable :: rx(:,:), ry(:,:) logical :: tra character :: trans_ Integer(Psb_ipk_) :: err_act @@ -165,9 +165,9 @@ subroutine psb_z_cuda_hlg_multivect_mv(alpha,a,x,beta,y,info,trans) else if (a%is_host()) call a%sync() select type (xx => x) - type is (psb_z_vect_cuda) + type is (psb_z_multivect_cuda) select type(yy => y) - type is (psb_z_vect_cuda) + type is (psb_z_multivect_cuda) if (xx%is_host()) call xx%sync() if (beta /= dzero) then if (yy%is_host()) call yy%sync()