pub mod segment_max;
pub mod segment_max_backward;
pub mod segment_mean;
pub mod segment_mean_backward;
pub mod segment_min;
pub mod segment_min_backward;
pub mod segment_prod;
pub mod segment_prod_backward;
pub mod segment_sum;
pub mod segment_sum_backward;
pub mod unsorted_segment_max;
pub mod unsorted_segment_max_backward;
pub mod unsorted_segment_mean;
pub mod unsorted_segment_mean_backward;
pub mod unsorted_segment_min;
pub mod unsorted_segment_min_backward;
pub mod unsorted_segment_prod;
pub mod unsorted_segment_prod_backward;
pub mod unsorted_segment_sum;
pub mod unsorted_segment_sum_backward;
pub use segment_max::{SegmentMaxArgs, SegmentMaxDescriptor, SegmentMaxPlan};
pub use segment_max_backward::{
SegmentMaxBackwardArgs, SegmentMaxBackwardDescriptor, SegmentMaxBackwardPlan,
};
pub use segment_mean::{SegmentMeanArgs, SegmentMeanDescriptor, SegmentMeanPlan};
pub use segment_mean_backward::{
SegmentMeanBackwardArgs, SegmentMeanBackwardDescriptor, SegmentMeanBackwardPlan,
};
pub use segment_min::{SegmentMinArgs, SegmentMinDescriptor, SegmentMinPlan};
pub use segment_min_backward::{
SegmentMinBackwardArgs, SegmentMinBackwardDescriptor, SegmentMinBackwardPlan,
};
pub use segment_prod::{SegmentProdArgs, SegmentProdDescriptor, SegmentProdPlan};
pub use segment_prod_backward::{
SegmentProdBackwardArgs, SegmentProdBackwardDescriptor, SegmentProdBackwardPlan,
};
pub use segment_sum::{SegmentSumArgs, SegmentSumDescriptor, SegmentSumPlan};
pub use segment_sum_backward::{
SegmentSumBackwardArgs, SegmentSumBackwardDescriptor, SegmentSumBackwardPlan,
};
pub use unsorted_segment_max::{
UnsortedSegmentMaxArgs, UnsortedSegmentMaxDescriptor, UnsortedSegmentMaxPlan,
};
pub use unsorted_segment_max_backward::{
UnsortedSegmentMaxBackwardArgs, UnsortedSegmentMaxBackwardDescriptor,
UnsortedSegmentMaxBackwardPlan,
};
pub use unsorted_segment_mean::{
UnsortedSegmentMeanArgs, UnsortedSegmentMeanDescriptor, UnsortedSegmentMeanPlan,
};
pub use unsorted_segment_mean_backward::{
UnsortedSegmentMeanBackwardArgs, UnsortedSegmentMeanBackwardDescriptor,
UnsortedSegmentMeanBackwardPlan,
};
pub use unsorted_segment_min::{
UnsortedSegmentMinArgs, UnsortedSegmentMinDescriptor, UnsortedSegmentMinPlan,
};
pub use unsorted_segment_min_backward::{
UnsortedSegmentMinBackwardArgs, UnsortedSegmentMinBackwardDescriptor,
UnsortedSegmentMinBackwardPlan,
};
pub use unsorted_segment_prod::{
UnsortedSegmentProdArgs, UnsortedSegmentProdDescriptor, UnsortedSegmentProdPlan,
};
pub use unsorted_segment_prod_backward::{
UnsortedSegmentProdBackwardArgs, UnsortedSegmentProdBackwardDescriptor,
UnsortedSegmentProdBackwardPlan,
};
pub use unsorted_segment_sum::{
UnsortedSegmentSumArgs, UnsortedSegmentSumDescriptor, UnsortedSegmentSumPlan,
};
pub use unsorted_segment_sum_backward::{
UnsortedSegmentSumBackwardArgs, UnsortedSegmentSumBackwardDescriptor,
UnsortedSegmentSumBackwardPlan,
};
use baracuda_cutlass::{Error, Result};
pub(crate) fn map_status(code: i32) -> Result<()> {
match code {
0 => Ok(()),
1 => Err(Error::MisalignedOperand),
2 => Err(Error::InvalidProblem(
"baracuda-kernels-sys reported invalid problem",
)),
3 => Err(Error::Unsupported(
"baracuda-kernels-sys reported unsupported configuration",
)),
4 => Err(Error::WorkspaceTooSmall { needed: 0, got: 0 }),
n => Err(Error::CutlassInternal(n)),
}
}