Get the latest tech news

Why Are ML Compilers So Hard? « Pete Warden's Blog (2021)


Image from Wikimedia Even before the first version of TensorFlow was released, the XLA project was integrated as a “domain-specific compiler” for its machine learning graphs. Since then…

Layers like convolution, fully-connected, or activations can be written using a math notation and implemented using a comparatively small number of primitives, and they take up the majority of the compute time, so they’re often chosen as the first targets by compiler writers. In this flavor of the future, we’d do something similar for ML, where researchers would use frameworks focused on easy experimentation and flexibility, and the conversion process for production deployments would involve manual engineering into a more portable and optimized representation once it was finalized. There are existing attempts that have had some success, such as ONNX or MLIR’s TOSA dialect, but they’ve all struggled either with coverage or have increased the number of layers they support to a level that makes them tougher for hardware teams to implement.

Get the Android app

Or read this on Hacker News

Read more on:

Photo of blog

blog

Photo of compilers

compilers

Photo of pete warden

pete warden

Related news:

News photo

Breaking Bad: How Compilers Break Constant-Time~Implementations

News photo

Chris.lu: How I Used Next.js and MDX to create a modern, static-first Blog

News photo

How I Built My Blog