//! Print the compute fabric as seen from this process: //! detected local silicon + credential-reachable remote //! members, then a few sample placements. //! //! ```bash //! cargo run --release -p jouleclaw-fabric --example discover //! # with the infrastructure env loaded: //! set -a; source path/to/.env; set +a //! cargo run --release -p jouleclaw-fabric --example discover //! ``` use jouleclaw_fabric::{place, Fabric, OpClass, OpDesc}; fn main() { let fabric = Fabric::discover(); println!("compute fabric, as seen from this process:\n"); for m in &fabric.members { println!( " {:<16} {:?}/{:?} presence={:?} parity={:?}", m.id, m.class, m.locality, m.presence, m.parity, ); println!(" {:<16} {}", "", m.detail); } let serving: Vec<&str> = fabric.serving().map(|m| m.id.as_str()).collect(); println!("\nserving now (detected + local + certified): {serving:?}\n"); println!("sample placements:"); for (label, op) in [ ("decode expert matmul (m=1, 4 MFLOP)", OpDesc { class: OpClass::MatMul, flops: 4e6, m: 1 }), ("prefill projection (m=32, 1 GFLOP)", OpDesc { class: OpClass::MatMul, flops: 1e9, m: 32 }), ("lm_head (m=1, 450 MFLOP)", OpDesc { class: OpClass::MatMul, flops: 4.5e8, m: 1 }), ("SSD recurrence (1 GFLOP, sequential)", OpDesc { class: OpClass::Recurrence, flops: 1e9, m: 1 }), ] { let p = place(&fabric, &op); println!(" {label:<44} → {}", p.because); } }