1#![warn(clippy::all)]
22#![warn(missing_docs)]
23
24pub mod algorithm_selection;
25pub mod batched;
26pub mod complex_gemm;
27pub mod elementwise;
28pub mod error;
29pub mod handle;
30pub mod level1;
31pub mod level2;
32pub mod level3;
33pub mod precision;
34pub mod reduction;
35pub mod types;
36
37#[cfg(test)]
38mod test_matrices;
39
40pub use algorithm_selection::{
41 AlgorithmConfig, AlgorithmHeuristic, AlgorithmId, AlgorithmSelector, EpiloguePreference,
42 SwizzleMode,
43};
44pub use error::{BlasError, BlasResult};
45pub use handle::BlasHandle;
46pub use types::{
47 DiagType, E4M3, E5M2, FillMode, GpuFloat, Layout, MathMode, MatrixDesc, MatrixDescMut,
48 PointerMode, Side, Transpose, VectorDesc,
49};
50
51pub mod prelude {
57 pub use crate::algorithm_selection::{
59 AlgorithmConfig, AlgorithmHeuristic, AlgorithmId, AlgorithmSelector, EpiloguePreference,
60 SwizzleMode,
61 };
62
63 pub use crate::error::{BlasError, BlasResult};
65 pub use crate::handle::BlasHandle;
66 pub use crate::types::{
67 DiagType, E4M3, E5M2, FillMode, GpuFloat, Layout, MathMode, MatrixDesc, MatrixDescMut,
68 PointerMode, Side, Transpose, VectorDesc,
69 };
70
71 pub use crate::level1::{asum, axpy, copy_vec, dot, iamax, nrm2, scal, swap};
73
74 pub use crate::level2::{gemv, ger, symv, syr, trmv, trsv};
76
77 pub use crate::level3::persistent_gemm::PersistentGemmConfig;
79 pub use crate::level3::stream_k::StreamKConfig;
80 pub use crate::level3::{
81 batched_trsm, gemm_api, persistent_gemm, stream_k, symm, syr2k, syrk, trmm, trsm,
82 };
83
84 pub use crate::complex_gemm::{complex_gemm, complex_gemv};
86
87 pub use crate::batched::{batched_gemm, grouped_gemm, strided_gemm};
89
90 pub use crate::elementwise;
92
93 pub use crate::reduction;
95}