35 cudnnBackendDescriptor_t
m_desc =
nullptr;
36 cudnnStatus_t
status = CUDNN_STATUS_SUCCESS;
48 OpaqueBackendPointer(cudnnBackendDescriptorType_t type) { status = cudnnBackendCreateDescriptor(type, &m_desc); }
59 cudnnBackendDescriptor_t
const&
77 return status == CUDNN_STATUS_SUCCESS;
87 return std::make_shared<OpaqueBackendPointer>(type);
101 describe()
const = 0;
105 cudnnBackendDescriptor_t
107 return pointer->get_backend_descriptor();
131 return err_msg.c_str();
144 return pointer->get_status();
153 : pointer(pointer_),
status(status_), err_msg(err_msg_) {}
158 mutable cudnnStatus_t
status = CUDNN_STATUS_SUCCESS;
OpaqueBackendPointer(const OpaqueBackendPointer &)=delete
Delete the copy constructor to prevent bad copies.
void set_status(cudnnStatus_t const status_) const
Set status of the descriptor.
cudnnStatus_t initialize_managed_backend_pointer(cudnnBackendDescriptorType_t type)
Initializes the underlying managed descriptor.
cudnnBackendDescriptor_t m_desc
Raw void pointer.
static ManagedOpaqueDescriptor make_shared_backend_pointer(cudnnBackendDescriptorType_t type)
cudnnBackendDescriptor_t get_raw_desc() const
ManagedOpaqueDescriptor get_desc() const
Returns a copy of underlying managed descriptor.
cudnnStatus_t status
status of creation of the Descriptor
OpaqueBackendPointer & operator=(const OpaqueBackendPointer &)=delete
cudnnBackendDescriptor_t const & get_backend_descriptor() const
cudnnStatus_t get_status() const
OpaqueBackendPointer(cudnnBackendDescriptorType_t type)
cudnnStatus_t get_status() const
Current status of the descriptor.
std::shared_ptr< OpaqueBackendPointer > ManagedOpaqueDescriptor
const char * get_error() const
Diagonistic error message if any.
void set_error(const char *message) const
Set Diagonistic error message.
BackendDescriptor(ManagedOpaqueDescriptor pointer_, cudnnStatus_t status_, std::string err_msg_)
std::string err_msg
Error message if any being set.
ManagedOpaqueDescriptor pointer