pub enum HostClass {
X86_64Avx512,
X86_64Avx2,
X86_64Scalar,
Aarch64Apple,
Aarch64,
Generic,
}Expand description
The class of the machine, keyed by the kernel dispatch it will take.
threadteam::HostClass re-exported, so the enum and its detect are the
ones the placement token uses and cannot drift from them. The upstream doc
below still names strided-rs among the crates that keep a hand-synced copy;
this crate no longer does.
§Compatibility
This is a type-identity change, not a rename: strided_perm::HostClass
is now the same type as threadteam::HostClass instead of a distinct copy.
A downstream crate that implemented its own trait for both types compiles
against the old pair and fails with E0119 (conflicting implementations)
against this one. Code that names the type, compares it, or matches on its
variants is unaffected.
The class of the machine, keyed by the kernel dispatch it will take, not by
the CPU model. Detected once per process by HostClass::detect.
The same enum and the same detect are kept in sync by hand in
strided-rs, tcontract-rs and faer’s cost tables: each crate owns a
table of its own kernels keyed by this class.
Variants§
X86_64Avx512
x86_64 with AVX-512F at run time (x86_64-avx512).
X86_64Avx2
x86_64 with AVX2 and FMA, without AVX-512F (x86_64-avx2).
X86_64Scalar
Any other x86_64 (x86_64-scalar).
Aarch64Apple
aarch64 on macOS (aarch64-apple).
Aarch64
Any other aarch64 (aarch64).
Generic
Everything else (generic).