1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//! # kwaai-compression
//!
//! Compression utilities for KwaaiNet distributed ML operations.
//!
//! This crate provides compression algorithms for efficient gradient
//! and tensor transfer, including:
//!
//! - **Blockwise 8-bit Quantization**: ~4x compression with minimal accuracy loss
//! - **Sparse Gradient Compression**: Top-K selection for bandwidth efficiency
//! - **Delta Encoding**: Only transfer changes
//!
//! ## Example
//!
//! ```rust,no_run
//! use kwaai_compression::{BlockwiseQuantizer, CompressedData, Compressor};
//! use candle_core::Tensor;
//!
//! let quantizer = BlockwiseQuantizer::new(64);
//! let tensor = Tensor::zeros(&[1024], candle_core::DType::F32, &candle_core::Device::Cpu)?;
//!
//! let compressed = quantizer.compress(&tensor)?;
//! println!("Compression ratio: {:.2}x", compressed.compression_ratio());
//!
//! let decompressed = quantizer.decompress(&compressed)?;
//! # let _ = decompressed;
//! # Ok::<(), Box<dyn std::error::Error>>(())
//! ```
pub use ;
pub use ;
pub use ;
use Tensor;
/// Core trait for compression operations
/// Trait for compressed data