hardware.HardwareNode
hardware.HardwareNode()Layer B (Hardware Supply): Represents a complete hardware accelerator.
This is the primary object that solvers evaluate against. It encapsulates the compute, memory, IO, and power constraints of a single physical device (e.g., an NVIDIA H100 GPU or a Jetson Orin Nano).
Attributes
| Name | Description |
|---|---|
| embodied_carbon | Attach mass units to the stored manufacturing-carbon estimate. |
Methods
| Name | Description |
|---|---|
| ridge_point | Calculate the peak Roofline arithmetic-intensity crossover. |
ridge_point
hardware.HardwareNode.ridge_point(precision=None)Calculate the peak Roofline arithmetic-intensity crossover.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| precision | str | Precision key for compute.precision_flops, matched case-insensitively. None selects peak_flops; an unknown key warns and falls back to it. | None |
Returns
| Name | Type | Description |
|---|---|---|
| Quantity | Peak compute throughput divided by primary-memory bandwidth, in FLOP/byte. This is not derated by a solver’s efficiency input. |
Notes
Equation: I_ridge = F_peak / BW_primary. At this intensity, the ideal compute and memory-time bounds coincide.
Assumptions: positive primary-memory bandwidth and the declared peak compute rate; peak compute and bandwidth can be compared for the same workload precision and memory traffic boundary.
Excludes: dispatch overhead, SRAM/flash/offload paths, achieved bandwidth, and compute efficiency. A solver’s effective ridge may differ.
References
Williams et al. (2009), “Roofline: An Insightful Visual Performance Model for Multicore Architectures.” https://doi.org/10.1145/1498765.1498785 (bibliography key: williams2009).
Examples
>>> from mlsysim import Hardware
>>> hw = Hardware.Cloud.H100
>>> hw.ridge_point() == (hw.compute.peak_flops / hw.memory.bandwidth).to('flop/byte')
True