strided-basic
Shared typed CPU primitives and concrete copy, concatenation and reduction
execution. Generic map/zip, SIMD, indexing plans and their validation stay with
the traversal implementation. Concrete ordinary arithmetic/indexing dispatch
lives in strided-kernel; runtime-DAG fusion lives in strided-fused.
Neither of those packages is a dependency of this crate.
use ;
let src = from_fn_col_major;
let mut dst = col_major;
copy_into.unwrap;
assert_eq!;
copy_into_uninit copies into StridedViewMut<MaybeUninit<T>> without first
initializing the destination. Success initializes every logical element, not
unreachable holes.
Every operation that can fan out takes a strided_exec::Exec placement token
as its last parameter (re-exported as strided_basic::Exec, with Pool).
Exec::serial() runs on the calling thread; Exec::new(&pool, budget) splits
the work within budget slots of a pool the caller owns, and an operation below
the repository threshold stays on the calling thread whatever the budget. This
crate starts no task of its own and never reaches a global pool. Narrow a token
with Exec::limit to bound one operation more tightly than its pool.
simd is enabled by default. parallel lets pooled tokens run on a private
pool; without it every token runs inline. Features select implementation
capabilities, not operation families.
use ;
let pool = builder.threads.build.unwrap;
let src = from_fn_col_major;
let mut dst = col_major;
map_into.unwrap;
assert_eq!;
The execution module is a documented low-level kernel-extension contract.
Prevalidated entry points are unsafe, and a layout marker alone does not satisfy
their requirements. Application code should use the checked root APIs.
See kernel boundaries and the packaged
NOTICE / THIRD-PARTY-LICENSES for the Strided.jl lineage.
This new package has not yet been published; use the matching workspace checkout.