diff --git a/common/cuda_hip/solver/multigrid_kernels.hpp.inc b/common/cuda_hip/solver/multigrid_kernels.hpp.inc index 472187314a6..12ef1d6efb6 100644 --- a/common/cuda_hip/solver/multigrid_kernels.hpp.inc +++ b/common/cuda_hip/solver/multigrid_kernels.hpp.inc @@ -191,8 +191,8 @@ void kcycle_check_stop(std::shared_ptr exec, kernel::kcycle_check_stop_kernel<<get_stream()>>>( nrhs, as_device_type(old_norm->get_const_values()), - as_device_type(new_norm->get_const_values()), rel_tol, - as_device_type(dis_stop.get_data())); + as_device_type(new_norm->get_const_values()), + as_device_type(rel_tol), as_device_type(dis_stop.get_data())); } is_stop = exec->copy_val_to_host(dis_stop.get_const_data()); } diff --git a/include/ginkgo/core/distributed/matrix.hpp b/include/ginkgo/core/distributed/matrix.hpp index c5de9e2dfec..ba81c959660 100644 --- a/include/ginkgo/core/distributed/matrix.hpp +++ b/include/ginkgo/core/distributed/matrix.hpp @@ -302,6 +302,11 @@ class Matrix #if GINKGO_ENABLE_HALF friend class Matrix>, LocalIndexType, GlobalIndexType>; + using ConvertibleTo< + Matrix>, local_index_type, + global_index_type>>::convert_to; + using ConvertibleTo>, + local_index_type, global_index_type>>::move_to; void convert_to( Matrix>, local_index_type, diff --git a/include/ginkgo/core/distributed/vector.hpp b/include/ginkgo/core/distributed/vector.hpp index 5fe7173c2de..4a53b50d9d6 100644 --- a/include/ginkgo/core/distributed/vector.hpp +++ b/include/ginkgo/core/distributed/vector.hpp @@ -198,6 +198,10 @@ class Vector #if GINKGO_ENABLE_HALF friend class Vector>>; + using ConvertibleTo< + Vector>>>::convert_to; + using ConvertibleTo< + Vector>>>::move_to; void convert_to(Vector>>* result) const override; diff --git a/include/ginkgo/core/matrix/coo.hpp b/include/ginkgo/core/matrix/coo.hpp index f7e5d3d5f44..245e08885e2 100644 --- a/include/ginkgo/core/matrix/coo.hpp +++ b/include/ginkgo/core/matrix/coo.hpp @@ -124,6 +124,10 @@ class Coo : public EnableLinOp>, #if GINKGO_ENABLE_HALF friend class Coo>, IndexType>; + using ConvertibleTo< + Coo>, IndexType>>::convert_to; + using ConvertibleTo< + Coo>, IndexType>>::move_to; void convert_to(Coo>, IndexType>* result) const override; diff --git a/include/ginkgo/core/matrix/csr.hpp b/include/ginkgo/core/matrix/csr.hpp index 8015940ced0..d95b438b09a 100644 --- a/include/ginkgo/core/matrix/csr.hpp +++ b/include/ginkgo/core/matrix/csr.hpp @@ -730,6 +730,10 @@ class Csr : public EnableLinOp>, #if GINKGO_ENABLE_HALF friend class Csr>, IndexType>; + using ConvertibleTo< + Csr>, IndexType>>::convert_to; + using ConvertibleTo< + Csr>, IndexType>>::move_to; void convert_to(Csr>, IndexType>* result) const override; diff --git a/include/ginkgo/core/matrix/dense.hpp b/include/ginkgo/core/matrix/dense.hpp index 69fd8abaa1a..acd28fe7d66 100644 --- a/include/ginkgo/core/matrix/dense.hpp +++ b/include/ginkgo/core/matrix/dense.hpp @@ -308,6 +308,10 @@ class Dense #if GINKGO_ENABLE_HALF friend class Dense>>; + using ConvertibleTo< + Dense>>>::convert_to; + using ConvertibleTo< + Dense>>>::move_to; void convert_to(Dense>>* result) const override; diff --git a/include/ginkgo/core/matrix/diagonal.hpp b/include/ginkgo/core/matrix/diagonal.hpp index 3202ea1ef07..d7ff95aa9f1 100644 --- a/include/ginkgo/core/matrix/diagonal.hpp +++ b/include/ginkgo/core/matrix/diagonal.hpp @@ -116,6 +116,10 @@ class Diagonal #if GINKGO_ENABLE_HALF friend class Diagonal>>; + using ConvertibleTo< + Diagonal>>>::convert_to; + using ConvertibleTo< + Diagonal>>>::move_to; void convert_to(Diagonal>>* result) const override; diff --git a/include/ginkgo/core/matrix/ell.hpp b/include/ginkgo/core/matrix/ell.hpp index 6c337a5b634..b696f8418e6 100644 --- a/include/ginkgo/core/matrix/ell.hpp +++ b/include/ginkgo/core/matrix/ell.hpp @@ -125,6 +125,10 @@ class Ell : public EnableLinOp>, #if GINKGO_ENABLE_HALF friend class Ell>, IndexType>; + using ConvertibleTo< + Ell>, IndexType>>::convert_to; + using ConvertibleTo< + Ell>, IndexType>>::move_to; void convert_to(Ell>, IndexType>* result) const override; diff --git a/include/ginkgo/core/matrix/fbcsr.hpp b/include/ginkgo/core/matrix/fbcsr.hpp index 5f9f96ed64a..05aa87833f5 100644 --- a/include/ginkgo/core/matrix/fbcsr.hpp +++ b/include/ginkgo/core/matrix/fbcsr.hpp @@ -189,6 +189,10 @@ class Fbcsr : public EnableLinOp>, #if GINKGO_ENABLE_HALF friend class Fbcsr>, IndexType>; + using ConvertibleTo>, + IndexType>>::convert_to; + using ConvertibleTo< + Fbcsr>, IndexType>>::move_to; void convert_to(Fbcsr>, IndexType>* result) const override; diff --git a/include/ginkgo/core/matrix/hybrid.hpp b/include/ginkgo/core/matrix/hybrid.hpp index 58e72128597..cdb82df16a6 100644 --- a/include/ginkgo/core/matrix/hybrid.hpp +++ b/include/ginkgo/core/matrix/hybrid.hpp @@ -400,6 +400,10 @@ class Hybrid #if GINKGO_ENABLE_HALF friend class Hybrid>, IndexType>; + using ConvertibleTo>, + IndexType>>::convert_to; + using ConvertibleTo< + Hybrid>, IndexType>>::move_to; void convert_to(Hybrid>, IndexType>* result) const override; diff --git a/include/ginkgo/core/matrix/sellp.hpp b/include/ginkgo/core/matrix/sellp.hpp index 9dcfe547734..030301fe830 100644 --- a/include/ginkgo/core/matrix/sellp.hpp +++ b/include/ginkgo/core/matrix/sellp.hpp @@ -116,6 +116,10 @@ class Sellp : public EnableLinOp>, #if GINKGO_ENABLE_HALF friend class Sellp>, IndexType>; + using ConvertibleTo>, + IndexType>>::convert_to; + using ConvertibleTo< + Sellp>, IndexType>>::move_to; void convert_to(Sellp>, IndexType>* result) const override;