Updated: October 14, 2024 at 5:09 PM EDT
Asynchronous (clockless) GPUs
Asynchronous circuits are digital circuits that do not rely on a global clock
signal to synchronize their operations. Instead, they use local handshaking signals to coordinate the
flow of data between different parts of the circuit. This allows each component to operate independently
and only when needed, making asynchronous circuits potentially faster, more power-efficient, and better
suited to certain applications like low-power devices.
While the idea of asynchronous circuitry
is interesting and can probably be mapped to modern VLSI and eventually make its way into modern data
centers - many others, including those much smarter than myself, have discovered that doing this
presents very real practical challenges.
What if we remove the clock?
This is a dangerous yet intriguing question that apparently makes its rounds on niche forums across the web every couple years, but mainly for CPUs.
...
The credit for this project (rather, research project)
belongs to my colleague who made an observation about batch processing in software and drew similarities
to asynchronous logic in hardware. We since learned that this was a very active area of research and
quickly began looking into applying asynchronous logic to modern GPUs.
Although, we didn't make it very far; to our credit, we managed to stumble across a debatably promising
area of research, and learned why hardware (as they say) really is so damn hard.
AI's water & carbon footprint
-ChatGPT uses roughly 1 bottle of water for every 40 questions.
-GPT-4's daily power usage is nearly equal to 180,000 U.S. households, each using about twenty-nine
kilowatts.
Article: A bottle of water per email: the hidden environmental costs of using AI chatbots
Greener, Cheaper, Faster
Asynchronous circuitry makes many promises, one being that it's faster
and
more energy efficiency. Being able to compute things more quickly with less energy is pretty
important
to humanity's overarching goals.
Improved Energy Efficiency
Asynchronous circuitry eliminates the need for a global clock, allowing components to operate only when needed, reducing idle power consumption and promising significant improvements in energy efficiency. It turns out this is really ideal for low power applications, but possibly useful for things like model training and inference.
Fab! An extremely simplified plan towards fabrication:
Fabricating a chip is not a walk in the park and quite different from building consumer software. Building an app can be done in a living room over a weekend. To fab a chip at scale this would likely have taken at bare minimum 5 years and easily >$100M. Devouring a whale is done one bite at a time and getting our design onto an FPGA is a couple big first bites.
Existing Research:
Despite asynchronous circuitry being a relatively contrarian area of research, there's been a lot of promising stuff coming out over the past 20 years. People have fabbed chips, made asynchronous FPGAs, and more. From what I understand, a lot of the existing research into asynchronous circuitry is proving useful in neuromorphic computing.
Paper: ULSNAP: An Ultra-Low Power Event-Driven Microcontroller for Sensor Network Nodes
Video: Rajit Manohar (Yale) Asynchronous Logic Design and EDA
The likely reality
While there's a lot of apparent benefits to using asynchronous logic, the challenges of using them in modern systems is enormous. The current EDA tools, fab process, and software are all set up around synchronous logic. The primary problem is with the tooling not supporting this kind of logic and needing to hack your way through it. Secondly, the value proposition isn't enough to shift reality: even a 30x improvement in energy and speed really isn't enough to incentivize the industry to make such a radical change. It's kinda like Thorium and Plutonium Nuclear Reactors - they're promising but Uranium Reactors are already quite established.
Why aren't fully asynchronous circuits more prevalent?
What are the advantages and disadvantages of asynchronous circuits?
Note for the future:
While challenges exist with implementing asynchronous circuitry into modern systems - these challenges while fundamentally technological are also heavily sociological and economic as it will likely take a lot to change the methods of an industry so centered around synchronous logic. If you're interested in fabbing a chip, I encourage you to look into other areas and to have an open mind to different or emerging paradigms.
Brand Design by yours truly
14 is the atomic number for silicon. The intention behind the logo was to create a symbol that mimics a chip, has some nice right angles, is balanced, and unique. For the chip packaging, we're using apple's M1 as a template which was found on figma. I intensified the gradient and added a gold-ish hue to make it look a bit more metallic but not cold. I added a drop shadow to the logo and the chip to give it that extruded look.