Skip to main content

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
Back to top