diff --git a/src/blas.cu b/src/blas.cu index 4f891177..f6f44583 100644 --- a/src/blas.cu +++ b/src/blas.cu @@ -650,7 +650,7 @@ typename Vector::value_type dotc(const Vector &a, const Vector &b, int offset, i const value_type *a_raw = a.raw() + a_first; const value_type *b_raw = b.raw() + b_first; value_type result; - Cublas::dot(size, a_raw, 1, b_raw, 1, &result); + Cublas::dotc(size, a_raw, 1, b_raw, 1, &result); cudaCheckError(); return result; } @@ -684,7 +684,7 @@ typename Vector::value_type dotc(const Vector &a, const Vector &b, int offseta, const value_type *a_raw = a.raw() + a_first; const value_type *b_raw = b.raw() + b_first; value_type result; - Cublas::dot(size, a_raw, 1, b_raw, 1, &result); + Cublas::dotc(size, a_raw, 1, b_raw, 1, &result); cudaCheckError(); return result; } diff --git a/src/solvers/gmres_solver.cu b/src/solvers/gmres_solver.cu index e5851cff..858fbeda 100644 --- a/src/solvers/gmres_solver.cu +++ b/src/solvers/gmres_solver.cu @@ -327,7 +327,7 @@ GMRES_Solver::solve_iteration( VVector &b, VVector &x, bool xIsZero ) for ( int k = 0; k <= i; ++k ) { // H(k,i) = // - m_H(k, i) = dot(A, m_V_vectors[i + 1], m_V_vectors[k]); + m_H(k, i) = dot(A, m_V_vectors[k], m_V_vectors[i + 1]); // V(i+1) -= H(k, i) * V(k) // axpy( m_V_vectors[k], m_V_vectors[i + 1], types::util::invert(m_H(k, i)), offset, size ); }