Files
cs249r_book/mlsysim/docs/api/engine.solver.TopologyModel.qmd
Vijay Janapa Reddi cb0ae4082f docs(mlsysim): regenerate quartodoc API stubs for the new module layout
Run quartodoc build against the refactored package (engine/ extracted from core/,
infra->infrastructure): regenerate the API reference so every stub points at the new
paths. Adds engine.*/infrastructure.* stubs, removes the 41 stale core.solver.* /
core.engine.* / core.scenarios.* / core.config.* / core.evaluation.* / infra*.qmd
orphans, and refreshes the package pages (core now primitives-only) + index.

Verified: all 47 documented symbols resolve in the new package; every index link
resolves; zero stale mlsysim.core.<engine-mod> / mlsysim.infra references anywhere in
docs/. (objects.json inventory is gitignored -- regenerated at build.)
2026-05-29 21:35:39 -04:00

49 lines
2.1 KiB
Plaintext

# engine.solver.TopologyModel { #mlsysim.engine.solver.TopologyModel }
```python
engine.solver.TopologyModel()
```
Models bisection bandwidth for different network topologies (Wall 10).
This model calculates the effective bandwidth available to collective
communication operations based on the physical network topology. Different
topologies trade cost against bisection bandwidth — the minimum bandwidth
across any cut that divides the network in half.
Literature Source:
1. Leiserson (1985), "Fat-Trees: Universal Networks for Hardware-Efficient
Supercomputing." (Fat-tree bisection bandwidth.)
2. Kim et al. (2008), "Technology-Driven, Highly-Scalable Dragonfly Topology."
(Dragonfly topology model.)
3. Dally & Towles (2003), "Principles and Practices of Interconnection
Networks." (Torus and ring analysis.)
## Methods
| Name | Description |
| --- | --- |
| [solve](#mlsysim.engine.solver.TopologyModel.solve) | Solves for effective network bandwidth under a given topology. |
### solve { #mlsysim.engine.solver.TopologyModel.solve }
```python
engine.solver.TopologyModel.solve(fabric, topology='fat_tree', num_nodes=64)
```
Solves for effective network bandwidth under a given topology.
#### Parameters {.doc-section .doc-section-parameters}
| Name | Type | Description | Default |
|-----------|---------------|----------------------------------------------------------------------|--------------|
| fabric | NetworkFabric | The network fabric specification (link bandwidth, oversubscription). | _required_ |
| topology | str | Network topology ('fat_tree', 'dragonfly', 'torus_3d', 'ring'). | `'fat_tree'` |
| num_nodes | int | Number of nodes in the network. | `64` |
#### Returns {.doc-section .doc-section-returns}
| Name | Type | Description |
|--------|------------------|------------------------------------------------------------|
| | Dict\[str, Any\] | Effective bandwidth, bisection fraction, and average hops. |