33 #include <cudnn_backend.h> 53 ss <<
"CUDNN_BACKEND_MATMUL_DESCRIPTOR :" 85 m_matMulDesc.math_precision = data_type_;
95 auto status = m_matMulDesc.initialize_managed_backend_pointer(CUDNN_BACKEND_MATMUL_DESCRIPTOR);
96 if (
status != CUDNN_STATUS_SUCCESS) {
98 return std::move(m_matMulDesc);
102 status = cudnnBackendSetAttribute(m_matMulDesc.pointer->get_backend_descriptor(),
103 CUDNN_ATTR_MATMUL_COMP_TYPE,
104 CUDNN_TYPE_DATA_TYPE,
106 &m_matMulDesc.math_precision);
107 if (
status != CUDNN_STATUS_SUCCESS) {
111 "CUDNN_BACKEND_MATMUL_DESCRIPTOR: SetAttribute CUDNN_ATTR_MATMUL_COMP_TYPE Failed");
112 return std::move(m_matMulDesc);
116 status = cudnnBackendFinalize(m_matMulDesc.pointer->get_backend_descriptor());
117 if (
status != CUDNN_STATUS_SUCCESS) {
119 return std::move(m_matMulDesc);
122 getLogger() <<
"[cudnn_frontend] " << m_matMulDesc << std::endl;
123 return std::move(m_matMulDesc);
ConditionalStreamer & getLogger()
static void set_error_and_throw_exception(BackendDescriptor const *desc, cudnnStatus_t status, const char *message)
cudnnDataType_t math_precision
std::string describe() const override
Return a string describing the backend Descriptor.
friend class MatMulDescBuilder_v8
auto setMathPrecision(cudnnDataType_t data_type_) -> MatMulDescBuilder_v8 &
Set Math Precision Data Type for the Matmul Operation.
MatMulDesc_v8 m_matMulDesc
MatMulDesc_v8 & operator=(MatMulDesc_v8 &&from)=default
cudnnStatus_t status
Shared pointer of the OpaqueBackendPointer.