cbtop/grammar/
composition.rs1#[derive(Debug, Clone, PartialEq, Default)]
5pub enum CompositionMode {
6 #[default]
8 None,
9 DataParallel { shards: usize },
11 ModelParallel { stages: usize },
13 Pipeline { depth: usize, overlap: bool },
15 Batch { batch_size: usize, prefetch: usize },
17}
18
19impl CompositionMode {
20 pub fn data_parallel(shards: usize) -> Self {
22 CompositionMode::DataParallel { shards }
23 }
24
25 pub fn batch(size: usize) -> Self {
27 CompositionMode::Batch {
28 batch_size: size,
29 prefetch: 2,
30 }
31 }
32
33 pub fn pipeline(depth: usize) -> Self {
35 CompositionMode::Pipeline {
36 depth,
37 overlap: true,
38 }
39 }
40}