tvm
Public Member Functions | Static Public Member Functions | Friends | List of all members
tvm::TargetKindRegEntry Class Reference

Helper structure to register TargetKind. More...

#include <target_kind.h>

Collaboration diagram for tvm::TargetKindRegEntry:

Public Member Functions

template<typename ValueType >
TargetKindRegEntryset_attr (const ffi::String &attr_name, const ValueType &value, int plevel=10)
 Register additional attributes to target_kind. More...
 
TargetKindRegEntryset_default_device_type (int device_type)
 Set DLPack's device_type the target. More...
 
TargetKindRegEntryset_default_keys (std::vector< ffi::String > keys)
 Set DLPack's device_type the target. More...
 
TargetKindRegEntryset_target_canonicalizer (FTargetCanonicalizer canonicalizer)
 Set the canonicalizer function applied upon target creation. More...
 
template<typename ValueType , typename... Traits>
TargetKindRegEntryadd_attr_option (const ffi::String &key, Traits &&... traits)
 Register a valid configuration option and its ValueType for validation. More...
 
TargetKindRegEntryset_name ()
 Set name of the TargetKind to be the same as registry if it is empty. More...
 

Static Public Member Functions

static ffi::Array< ffi::String > ListTargetKinds ()
 List all the entry names in the registry. More...
 
static ffi::Map< ffi::String, ffi::String > ListTargetKindOptions (const TargetKind &kind)
 Get all supported option names and types for a given Target kind. More...
 
static TargetKindRegEntryRegisterOrGet (const ffi::String &target_kind_name)
 Register or get a new entry. More...
 

Friends

template<typename , typename >
class AttrRegistry
 
class TargetKind
 

Detailed Description

Helper structure to register TargetKind.

See also
TVM_REGISTER_TARGET_KIND

Member Function Documentation

◆ add_attr_option()

template<typename ValueType , typename... Traits>
TargetKindRegEntry & tvm::TargetKindRegEntry::add_attr_option ( const ffi::String &  key,
Traits &&...  traits 
)
inline

Register a valid configuration option and its ValueType for validation.

Parameters
keyThe configuration key
traitsOptional traits (e.g. refl::DefaultValue, doc string, or raw default value)
Template Parameters
ValueTypeThe value type to be registered
TraitsOptional trait types

◆ ListTargetKindOptions()

static ffi::Map<ffi::String, ffi::String> tvm::TargetKindRegEntry::ListTargetKindOptions ( const TargetKind kind)
static

Get all supported option names and types for a given Target kind.

Returns
Map of option name to type

◆ ListTargetKinds()

static ffi::Array<ffi::String> tvm::TargetKindRegEntry::ListTargetKinds ( )
static

List all the entry names in the registry.

Returns
The entry names.

◆ RegisterOrGet()

static TargetKindRegEntry& tvm::TargetKindRegEntry::RegisterOrGet ( const ffi::String &  target_kind_name)
static

Register or get a new entry.

Parameters
target_kind_nameThe name of the TargetKind.
Returns
the corresponding entry.

◆ set_attr()

template<typename ValueType >
TargetKindRegEntry & tvm::TargetKindRegEntry::set_attr ( const ffi::String &  attr_name,
const ValueType &  value,
int  plevel = 10 
)
inline

Register additional attributes to target_kind.

Parameters
attr_nameThe name of the attribute.
valueThe value to be set.
plevelThe priority level of this attribute, an higher priority level attribute will replace lower priority level attribute. Must be bigger than 0.

Cannot set with same plevel twice in the code.

Template Parameters
ValueTypeThe type of the value to be set.

◆ set_default_device_type()

TargetKindRegEntry & tvm::TargetKindRegEntry::set_default_device_type ( int  device_type)
inline

Set DLPack's device_type the target.

Parameters
device_typeDevice type

◆ set_default_keys()

TargetKindRegEntry & tvm::TargetKindRegEntry::set_default_keys ( std::vector< ffi::String >  keys)
inline

Set DLPack's device_type the target.

Parameters
keysThe default keys

◆ set_name()

TargetKindRegEntry & tvm::TargetKindRegEntry::set_name ( )
inline

Set name of the TargetKind to be the same as registry if it is empty.

◆ set_target_canonicalizer()

TargetKindRegEntry & tvm::TargetKindRegEntry::set_target_canonicalizer ( FTargetCanonicalizer  canonicalizer)
inline

Set the canonicalizer function applied upon target creation.

Parameters
canonicalizerThe target canonicalizer function.

Friends And Related Function Documentation

◆ AttrRegistry

template<typename , typename >
friend class AttrRegistry
friend

◆ TargetKind

friend class TargetKind
friend

The documentation for this class was generated from the following file: