baracuda_kernels/sort/
mod.rs1pub mod argsort;
29pub mod bincount;
30pub mod histogram;
31pub mod histogramdd;
32pub mod kthvalue;
33pub mod kthvalue_backward;
34pub mod msort;
35pub mod searchsorted;
36pub mod sort;
37pub mod sort_backward;
38pub mod topk;
39pub mod topk_backward;
40pub mod unique;
41pub mod unique_consecutive;
42
43pub use argsort::{ArgsortArgs, ArgsortDescriptor, ArgsortPlan};
44pub use bincount::{BincountArgs, BincountDescriptor, BincountPlan};
45pub use histogram::{HistogramArgs, HistogramDescriptor, HistogramPlan};
46pub use histogramdd::{HistogramddArgs, HistogramddDescriptor, HistogramddPlan};
47pub use kthvalue::{KthvalueArgs, KthvalueDescriptor, KthvaluePlan};
48pub use kthvalue_backward::{
49 KthvalueBackwardArgs, KthvalueBackwardDescriptor, KthvalueBackwardPlan,
50};
51pub use msort::{MsortArgs, MsortBackwardArgs, MsortBackwardDescriptor, MsortBackwardPlan,
52 MsortDescriptor, MsortPlan};
53pub use searchsorted::{SearchsortedArgs, SearchsortedDescriptor, SearchsortedPlan};
54pub use sort::{SortArgs, SortDescriptor, SortPlan};
55pub use sort_backward::{SortBackwardArgs, SortBackwardDescriptor, SortBackwardPlan};
56pub use topk::{TopkArgs, TopkDescriptor, TopkPlan};
57pub use topk_backward::{TopkBackwardArgs, TopkBackwardDescriptor, TopkBackwardPlan};
58pub use unique::{UniqueArgs, UniqueDescriptor, UniquePlan};
59pub use unique_consecutive::{
60 UniqueConsecutiveArgs, UniqueConsecutiveDescriptor, UniqueConsecutivePlan,
61};
62
63use baracuda_cutlass::{Error, Result};
64
65pub const SORT_MAX_ROW: i32 = 1024;
68pub const TOPK_MAX_K: i32 = 64;
71
72pub(crate) fn map_status(code: i32) -> Result<()> {
74 match code {
75 0 => Ok(()),
76 1 => Err(Error::MisalignedOperand),
77 2 => Err(Error::InvalidProblem(
78 "baracuda-kernels-sys::sort reported invalid problem",
79 )),
80 3 => Err(Error::Unsupported(
81 "baracuda-kernels-sys::sort reported unsupported configuration \
82 (e.g. row_len > 1024 or k > 64)",
83 )),
84 4 => Err(Error::WorkspaceTooSmall { needed: 0, got: 0 }),
85 n => Err(Error::CutlassInternal(n)),
86 }
87}