What is hardware-software co-design?

Definition

Co-design considers model architecture, numerical formats, kernels, compilers, memory, networking and chip capabilities as one system. Software can expose workloads that hardware should accelerate, while hardware features can enable new model or serving methods.

Tight integration can improve performance and efficiency, but it may reduce portability or create dependence on one platform. Good designs use stable interfaces and measure whether the specialized gains justify the switching and maintenance costs.

ELI5

Hardware-software co-design means designing computer chips and the programs that use them as a team. Instead of building each side separately, engineers adjust both so they work especially well together.

For example, a chip may add a feature for a common AI calculation while the compiler learns how to use that feature automatically. The result can be faster, but the software may become harder to move to different hardware.

Frequently asked questions

What is optimized in hardware-software co-design?

Teams can jointly optimize model operations, numerical formats, kernels, compilers, memory, networking and chip architecture.

What is a risk of hardware-software co-design?

Deep specialization can reduce portability and create long-term dependence on one hardware or software platform.

Videos explaining hardware-software co-design

  1. Why AI Needs New Hardware
    MTS25:05