Struct SchedulerWarpConfig
pub struct SchedulerWarpConfig {
pub scheduler_warp_id: u32,
pub scheduler: SchedulerConfig,
pub work_queue_capacity: usize,
pub poll_interval_ns: u32,
}Expand description
Configuration for the scheduler warp pattern in CUDA codegen.
This controls how the scheduler warp (warp 0 by default) is generated within each persistent kernel thread block. When enabled, the codegen produces a split: warp 0 handles work distribution, remaining warps do message processing.
Fields§
§scheduler_warp_id: u32Which warp handles scheduling (default: 0).
scheduler: SchedulerConfigThe scheduling parameters.
work_queue_capacity: usizeSize of the global work queue (number of WorkItem slots). Must be power of 2. Used for round-robin and priority strategies.
poll_interval_ns: u32Polling interval in nanoseconds for the scheduler warp when no work is available (default: 1000ns).
Implementations§
§impl SchedulerWarpConfig
impl SchedulerWarpConfig
pub fn new(scheduler: SchedulerConfig) -> SchedulerWarpConfig
pub fn new(scheduler: SchedulerConfig) -> SchedulerWarpConfig
Create a new scheduler warp config with the given strategy.
pub fn disabled() -> SchedulerWarpConfig
pub fn disabled() -> SchedulerWarpConfig
Create a static (disabled) scheduler warp config. Codegen will produce the original non-split kernel.
pub fn with_scheduler_warp(self, warp_id: u32) -> SchedulerWarpConfig
pub fn with_scheduler_warp(self, warp_id: u32) -> SchedulerWarpConfig
Set the scheduler warp ID.
pub fn with_work_queue_capacity(self, capacity: usize) -> SchedulerWarpConfig
pub fn with_work_queue_capacity(self, capacity: usize) -> SchedulerWarpConfig
Set the global work queue capacity.
pub fn with_poll_interval_ns(self, ns: u32) -> SchedulerWarpConfig
pub fn with_poll_interval_ns(self, ns: u32) -> SchedulerWarpConfig
Set the poll interval for the scheduler warp.
pub fn is_enabled(&self) -> bool
pub fn is_enabled(&self) -> bool
Check if the scheduler warp pattern should be generated.
Trait Implementations§
§impl Clone for SchedulerWarpConfig
impl Clone for SchedulerWarpConfig
§fn clone(&self) -> SchedulerWarpConfig
fn clone(&self) -> SchedulerWarpConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for SchedulerWarpConfig
impl Debug for SchedulerWarpConfig
§impl Default for SchedulerWarpConfig
impl Default for SchedulerWarpConfig
§fn default() -> SchedulerWarpConfig
fn default() -> SchedulerWarpConfig
Auto Trait Implementations§
impl Freeze for SchedulerWarpConfig
impl RefUnwindSafe for SchedulerWarpConfig
impl Send for SchedulerWarpConfig
impl Sync for SchedulerWarpConfig
impl Unpin for SchedulerWarpConfig
impl UnwindSafe for SchedulerWarpConfig
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more