Sara Achour is an assistant professor of computer science and electrical engineering at Stanford and a research fellow and cofounder of Unconventional AI. She develops programming languages, compilers and runtime systems for computing platforms whose physical behavior performs part of the computation.[1][2]
Start with Machine Learning with Dynamics →
Education
Links
WebsiteAssistant Professor of Computer Science and Electrical Engineering · Stanford University
Research Fellow and Cofounder · Unconventional AI
Career
Achour joined Stanford as an assistant professor in 2021. She earned undergraduate degrees in computer science and computational biology at UCLA, followed by a computer-science master’s and PhD at MIT. Her research asks how a programmer can use specialized hardware without manually translating every calculation into the device’s signals, connections and physical constraints.[1][3]
Contributions
Compile equations into a working analog configuration
Achour and Martin Rinard developed Legno for programmable analog hardware. The compiler takes a dynamical-system description and configures computing blocks and connections to reproduce its behavior. It accounts for noise, limited operating ranges, quantization and device variation. Their paper evaluates compiled computations on a physical development board, connecting a high-level mathematical description to an actual circuit’s behavior.[5]
Explore analog designs before committing to a circuit
With Yu-Neng Wang, Glenn Cowan and Ulrich Rührmair, Achour coauthored Ark, a language for describing analog computing approaches. Its validator and compiler let designers introduce physical behaviors progressively and simulate their effects. The work explores a middle ground between a fixed circuit for one purpose and a highly general accelerator, making specialization and imperfect hardware behavior part of the design process.[6]
Ideas
Her Machine Learning with Dynamics tutorial encodes pen-stroke inputs as nudges to simulated gyroscopes and reads their later positions and velocities. Springs connect the elements so information can reach the outputs. Training adjusts both neural encoder/decoder weights and the dynamical system’s parameters through a differentiable simulation. The example explains dynamics-based computation; its simulation results do not establish the performance of a manufactured accelerator.[4]
Tools, writing & talks
Writing, research & talks
Start here
Machine Learning with Dynamicsunconv.aiAn illustrated introduction to training a dynamical system for handwritten-digit classification.
Begin with the gyroscope diagrams and the failed first classifier, then see why springs are needed to transmit information. The opening needs no hardware background; the later equations assume familiarity with differential equations and backpropagation.
Author[2][4]Original source- Noise-Aware Dynamical System Compilation for Analog Devices with Legnopeople.csail.mit.edu
A compiler and physical-hardware evaluation for executing dynamical systems.
Coauthor with Martin Rinard[5] A language and simulation workflow for exploring specialized analog computing designs.
Coauthor[6]