Class TargetKindDef#
Defined in File target_kind.h
Class Documentation#
-
class TargetKindDef#
Temporary fluent builder for registering a target kind.
The registry retains the canonical kind after this builder is destroyed. Group related definitions inside TVM_FFI_STATIC_INIT_BLOCK():
TVM_FFI_STATIC_INIT_BLOCK() { TargetKindDef("llvm") .set_default_device_type(kDLCPU) .set_default_keys({"cpu"}) .def_option<ffi::String>("mcpu"); }
Public Functions
-
inline explicit TargetKindDef(const ffi::String &name)#
Register or retrieve the canonical kind with this name.
- Parameters:
name – Target kind name.
-
inline TargetKindDef &set_default_device_type(int device_type)#
Set the default DLPack device type.
- Parameters:
device_type – DLPack device type.
- Returns:
This builder for chaining.
-
inline TargetKindDef &set_default_keys(std::vector<ffi::String> keys)#
Set default target keys.
- Parameters:
keys – Default keys in priority order.
- Returns:
This builder for chaining.
-
inline TargetKindDef &set_target_canonicalizer(FTargetCanonicalizer canonicalizer)#
Set the canonicalizer used when constructing targets of this kind.
- Parameters:
canonicalizer – Function from a validated config map to its canonical form.
- Returns:
This builder for chaining. Also updates the kind’s ConfigSchema.
-
template<typename ValueType, typename ...Traits>
inline TargetKindDef &def_option(const ffi::String &key, Traits&&... traits)# Declare a typed target option in the kind’s ConfigSchema.
- Template Parameters:
ValueType – Canonical option value type.
Traits – Optional metadata or validator trait types.
- Parameters:
key – Option name.
traits – Optional traits such as a default value or validator.
- Returns:
This builder for chaining. Duplicate option names raise ValueError.
-
inline explicit TargetKindDef(const ffi::String &name)#