pub struct KernelMetadata {
pub id: String,
pub mode: KernelMode,
pub domain: Domain,
pub description: String,
pub expected_throughput: u64,
pub target_latency_us: f64,
pub requires_gpu_native: bool,
pub version: u32,
}Expand description
Kernel metadata (mirrors C# [GpuKernel] attribute).
Contains all configuration and performance expectations for a kernel.
Fields§
§id: StringUnique kernel identifier (e.g., “graph/pagerank”).
mode: KernelModeKernel execution mode.
domain: DomainBusiness domain for licensing and organization.
description: StringHuman-readable description.
expected_throughput: u64Expected throughput in operations per second.
target_latency_us: f64Target latency in microseconds.
requires_gpu_native: boolWhether this kernel requires GPU-native execution.
If true, CPU fallback is not available.
version: u32Version of the kernel implementation.
Implementations§
Source§impl KernelMetadata
impl KernelMetadata
Sourcepub fn batch(id: impl Into<String>, domain: Domain) -> Self
pub fn batch(id: impl Into<String>, domain: Domain) -> Self
Create a new batch kernel metadata.
Sourcepub fn with_description(self, description: impl Into<String>) -> Self
pub fn with_description(self, description: impl Into<String>) -> Self
Set the description.
Sourcepub fn with_throughput(self, ops_per_sec: u64) -> Self
pub fn with_throughput(self, ops_per_sec: u64) -> Self
Set the expected throughput.
Sourcepub fn with_latency_us(self, latency_us: f64) -> Self
pub fn with_latency_us(self, latency_us: f64) -> Self
Set the target latency.
Sourcepub fn with_gpu_native(self, required: bool) -> Self
pub fn with_gpu_native(self, required: bool) -> Self
Set whether GPU-native execution is required.
Sourcepub fn with_version(self, version: u32) -> Self
pub fn with_version(self, version: u32) -> Self
Set the version.
Sourcepub fn feature_string(&self) -> String
pub fn feature_string(&self) -> String
Returns the feature string for licensing.
Format: Domain.KernelName where KernelName is extracted from the ID.
Trait Implementations§
Source§impl Clone for KernelMetadata
impl Clone for KernelMetadata
Source§fn clone(&self) -> KernelMetadata
fn clone(&self) -> KernelMetadata
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for KernelMetadata
impl Debug for KernelMetadata
Source§impl Default for KernelMetadata
impl Default for KernelMetadata
Source§impl<'de> Deserialize<'de> for KernelMetadata
impl<'de> Deserialize<'de> for KernelMetadata
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for KernelMetadata
impl RefUnwindSafe for KernelMetadata
impl Send for KernelMetadata
impl Sync for KernelMetadata
impl Unpin for KernelMetadata
impl UnwindSafe for KernelMetadata
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.