Expand description
Named kernel arguments for enhanced debuggability and type safety.
This module provides NamedKernelArgs, a trait that extends
KernelArgs with human-readable argument names, and ArgBuilder,
a builder that constructs argument pointer arrays with associated
names for logging and debugging.
§Motivation
Standard kernel arguments are positional tuples with no names. When
debugging kernel launches, it is helpful to know which argument
corresponds to which kernel parameter. NamedKernelArgs bridges
this gap by associating names with arguments.
§Example
use oxicuda_launch::named_args::ArgBuilder;
let a_ptr: u64 = 0x1000;
let n: u32 = 1024;
let mut builder = ArgBuilder::new();
builder.add("a_ptr", &a_ptr).add("n", &n);
assert_eq!(builder.names(), &["a_ptr", "n"]);
let ptrs = builder.build();
assert_eq!(ptrs.len(), 2);Structs§
- ArgBuilder
- A builder for constructing named kernel argument arrays.
- Fixed
Named Args - A const-generic, stack-allocated array of named kernel arguments.
- Named
ArgEntry - A single named argument entry: a static string name paired with a raw const pointer to the argument value (already on the stack in the caller).
Traits§
- Named
Kernel Args - Extension of
KernelArgsthat provides argument metadata.