1#![cfg_attr(not(feature = "std"), no_std)]
22#![deny(missing_docs)]
23#![allow(
24 clippy::needless_range_loop,
25 clippy::let_unit_value,
26 clippy::manual_div_ceil,
27 clippy::manual_is_multiple_of,
28 clippy::assign_op_pattern,
29 clippy::unit_arg
30)]
31
32extern crate alloc;
33
34pub mod align;
35pub mod arch;
36pub mod bitboard;
37pub mod compute;
38pub mod cow;
39pub mod execution;
40pub mod iter;
41pub mod kernel;
42mod kernel_helpers;
43pub mod mask;
44pub mod numa;
45pub mod ops;
46pub mod scalar;
47pub mod sparse;
48pub mod tensor;
49pub mod tiling;
50pub mod vec;
51pub mod view;
52
53#[doc(hidden)]
55pub mod private {
56 pub trait Sealed {}
57}
58
59pub use align::{Aligned, Alignment, Unaligned};
61pub use arch::{IsaFamily, SimdArch};
62pub use bitboard::{BitBoardKernel, BitBoardView};
63pub use compute::ComputeView;
64pub use cow::{ArchivedPacked4Cow, ArchivedSimdCow, Packed4CowResolver, SimdCow, SimdCowResolver};
65pub use execution::{ExecutionMode, Masked, Unmasked};
66pub use iter::{SimdChunks, SimdChunksMut, ZipChunks};
67pub use kernel::SimdKernel;
68pub use mask::BitMask;
69pub use numa::{
70 current_numa_node, refresh_numa_node, verify_numa_locality, MnemosyneNumaAllocator,
71 NumaAllocator, NumaBinding,
72};
73pub use ops::{
74 Abs, AbsMax, AbsSum, Add, BitAnd, BitOr, BitXor, Clamp, Div, Dot, ElementOp, Exclusive, FmaAdd,
75 Inclusive, Max, Min, Mul, Neg, Popcount, Product, RecipSqrt, ReductionOp, ScanAdd, ScanMax,
76 ScanMin, ScanMode, ScanMul, ScanOp, Sqrt, Sub, Sum, UnaryOp,
77};
78pub use scalar::{FloatElement, NumericElement, Scalar};
79pub use sparse::{
80 BlockedCoo, BlockedCooData, Csr, CsrData, DenseWithMask, DenseWithMaskData, SellP, SellPData,
81 SparseFormat, SparseShape, SparseView, Validated, ValidatedData,
82};
83pub use tensor::{ColMajor, RowMajor, TensorCow, TensorError, TensorView};
84pub use tiling::{tiled_dot, tiled_gemm, tiled_gemv, TilingPolicy, TilingStrategy};
85pub use vec::AlignedVec;
86pub use view::{Mask, SimdError, SimdView, TileMatrixMultiply, TileView, Vector};