A base class for descriptors of all primitives that have an operation descriptor and that support iteration over multiple implementations. More...
#include <dnnl.hpp>


Public Member Functions | |
| primitive_desc (const_dnnl_op_desc_t desc, const primitive_attr *attr, const engine &engine, const_dnnl_primitive_desc_t hint_fwd_pd, bool allow_empty=false) | |
| Constructs a primitive descriptor. More... | |
| bool | next_impl () |
| Advances the primitive iterator to the next implementation. More... | |
Public Member Functions inherited from dnnl::primitive_desc_base | |
| primitive_desc_base ()=default | |
| Default constructor. Produces an empty object. | |
| engine | get_engine () const |
| Returns the engine of the primitive descriptor. More... | |
| const char * | impl_info_str () const |
| Returns implementation name. More... | |
| memory::dim | query_s64 (query what) const |
| Returns a memory::dim value (same as int64_t). More... | |
| memory::desc | query_md (query what, int idx=0) const |
| Returns a memory descriptor. More... | |
| memory::desc | src_desc (int idx) const |
| Returns a source memory descriptor. More... | |
| memory::desc | dst_desc (int idx) const |
| Returns a destination memory descriptor. More... | |
| memory::desc | weights_desc (int idx) const |
| Returns a weights memory descriptor. More... | |
| memory::desc | diff_src_desc (int idx) const |
| Returns a diff source memory descriptor. More... | |
| memory::desc | diff_dst_desc (int idx) const |
| Returns a diff destination memory descriptor. More... | |
| memory::desc | diff_weights_desc (int idx) const |
| Returns a diff weights memory descriptor. More... | |
| memory::desc | src_desc () const |
| Returns a source memory descriptor. More... | |
| memory::desc | dst_desc () const |
| Returns a destination memory descriptor. More... | |
| memory::desc | weights_desc () const |
| Returns a weights memory descriptor. More... | |
| memory::desc | diff_src_desc () const |
| Returns a diff source memory descriptor. More... | |
| memory::desc | diff_dst_desc () const |
| Returns a diff destination memory descriptor. More... | |
| memory::desc | diff_weights_desc () const |
| Returns a diff weights memory descriptor. More... | |
| memory::desc | workspace_desc () const |
| Returns the workspace memory descriptor. More... | |
| memory::desc | scratchpad_desc () const |
| Returns the scratchpad memory descriptor. More... | |
| engine | scratchpad_engine () const |
| Returns the engine on which the scratchpad memory is located. More... | |
| primitive_attr | get_primitive_attr () const |
| Returns the primitive attributes. More... | |
| dnnl::primitive::kind | get_kind () const |
| Returns the kind of the primitive descriptor. More... | |
Public Member Functions inherited from dnnl::handle< dnnl_primitive_desc_t > | |
| bool | operator== (const handle< dnnl_primitive_desc_t, handle_traits< dnnl_primitive_desc_t > > &other) const |
| Equality operator. More... | |
| bool | operator!= (const handle &other) const |
| Inequality operator. More... | |
| handle ()=default | |
| Constructs an empty handle object. More... | |
| handle (const handle< dnnl_primitive_desc_t, handle_traits< dnnl_primitive_desc_t > > &)=default | |
| Copy constructor. | |
| handle (handle< dnnl_primitive_desc_t, handle_traits< dnnl_primitive_desc_t > > &&)=default | |
| Move constructor. | |
| handle (dnnl_primitive_desc_tt, bool weak=false) | |
| Constructs a handle wrapper object from a C API handle. More... | |
|
handle< dnnl_primitive_desc_t, handle_traits < dnnl_primitive_desc_t > > & | operator= (const handle< dnnl_primitive_desc_t, handle_traits< dnnl_primitive_desc_t > > &)=default |
| Assignment operator. | |
|
handle< dnnl_primitive_desc_t, handle_traits < dnnl_primitive_desc_t > > & | operator= (handle< dnnl_primitive_desc_t, handle_traits< dnnl_primitive_desc_t > > &&)=default |
| Move assignment operator. | |
| void | reset (dnnl_primitive_desc_tt, bool weak=false) |
| Resets the handle wrapper objects to wrap a new C API handle. More... | |
| dnnl_primitive_desc_t | get (bool allow_empty=false) const |
| Returns the underlying C API handle. More... | |
| operator dnnl_primitive_desc_t () const | |
| Converts a handle to the underlying C API handle type. More... | |
| operator bool () const | |
| Checks whether the object is empty. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from dnnl::primitive_desc_base | |
| void | reset_with_clone (const_dnnl_primitive_desc_t pd) |
| Resets the value of the handle to a clone of a C API primitive descriptor. More... | |
| primitive_desc_base (dnnl_primitive_desc_t pd, dnnl::primitive::kind prim_kind) | |
| Constructs a primitive descriptor base object from a clone of a C API primitive descriptor after verifying that it is what the caller expects. More... | |
| primitive_desc_base (dnnl_primitive_desc_t pd, dnnl::primitive::kind prim_kind, dnnl::prop_kind prop_kind) | |
| Constructs a primitive descriptor base object from a clone of a C API primitive descriptor after verifying that it is what the caller expects. More... | |
| primitive_desc_base (dnnl_primitive_desc_t pd, dnnl::primitive::kind prim_kind, dnnl::prop_kind prop_kind1, dnnl::prop_kind prop_kind2) | |
| Constructs a primitive descriptor base object from a clone of a C API primitive descriptor after verifying that it is what the caller expects. More... | |
A base class for descriptors of all primitives that have an operation descriptor and that support iteration over multiple implementations.
|
inline |
Constructs a primitive descriptor.
allow_empty is true, the constructor does not throw if a primitive descriptor cannot be created. But calling next_impl() in this case will throw.| desc | Constant C API operation descriptor. |
| attr | Pointer to primitive attributes. It is safe to pass nullptr to indicate absence of attributes. |
| engine | Engine to use. |
| hint_fwd_pd | C API primitive descriptor for a forward propagation primitive. It is used as a hint for deciding which memory format to use for backward propagation or weights gradient. |
| allow_empty | A flag signifying whether construction is allowed to fail without throwing an exception. In this case an empty object will be produced. This flag is optional and defaults to false. |
|
inline |
Advances the primitive iterator to the next implementation.
true on success, and false if the last implementation reached, and the primitive descriptor itself is kept unchanged