12#ifndef _CU_TRACE_ESTIMATOR_CU_ORTHOGONALIZATION_H_
13#define _CU_TRACE_ESTIMATOR_CU_ORTHOGONALIZATION_H_
19#include "../_definitions/types.h"
23 #pragma warning(push, 0)
24 #include <cublas_v2.h>
26#elif defined(__INTEL_LLVM_COMPILER) || defined(__INTEL_COMPILER)
27 #pragma warning(push, 0)
28 #include <cublas_v2.h>
30#elif defined(__GNUC__) || defined(__clang__)
31 #pragma GCC diagnostic push
32 #pragma GCC diagnostic ignored "-Wswitch-enum"
33 #include <cublas_v2.h>
34 #pragma GCC diagnostic pop
36 #include <cublas_v2.h>
52template <
typename DataType>
59 cublasHandle_t cublas_handle,
69 cublasHandle_t cublas_handle,
A static class for orthogonalization of vector bases. This class acts as a templated namespace,...
static void gram_schmidt_process(cublasHandle_t cublas_handle, const DataType *V, const LongIndexType vector_size, const IndexType num_vectors, const IndexType last_vector, const FlagType num_ortho, DataType *r)
Modified Gram-Schmidt orthogonalization process to orthogonalize the vector v against a subset of the...
static void orthogonalize_vectors(cublasHandle_t cublas_handle, DataType *vectors, const LongIndexType vector_size, const IndexType num_vectors)
Orthogonalizes set of vectors mutually using modified Gram-Schmidt process.