CS249r Notes: What We Learned
Weekly recaps and reflections from Harvard’s CS249r: Architecture 2.0
November 14, 2024
• Hardware, eda, benchmarks, datasets
• 15 min read
Note: I wasn’t in class this week, but the papers you read raise fundamental questions about how we evaluate AI systems for chip design. This post uses benchmarking as a lens to understand what makes Phase 3 fundamentally different from the earlier phases of our course.
Read More →
November 12, 2024
• Hardware, eda, chip-design
• 32 min read
Note: This post is being published early to help you all prepare for Phase 3. It will be updated with additional content as we progress through this section of the course.
Read More →
November 05, 2024
• Architecture, systems
• 25 min read
Last week, we examined predictive reasoning: the ability to design systems for patterns you can’t fully observe or characterize. Architects designing memory systems must predict access patterns from sparse signals, across heterogeneous workloads, with fundamentally incomplete information.
Read More →
October 29, 2024
• Architecture, memory
• 27 min read
Last week, we examined co-design reasoning: the ability to reason about interdependent constraints simultaneously, where optimizing one aspect requires considering how it affects everything else. We saw how mapping hardware and software creates circular dependencies that resist sequential decomposition.
Read More →
October 22, 2024
• Architecture, design
• 30 min read
Last week, we confronted an important challenge: architectural knowledge is tacit. It exists in the minds of experienced computer architects, accumulated through decades of building systems. We saw how this creates an epistemological problem for AI agents trying to become co-designers.
Read More →
October 15, 2024
• Architecture, design
• 24 min read
For six weeks, we’ve been optimizing software. The code was right there, waiting to be read. APIs were documented. Performance metrics were measurable. When ECO optimized CPU code at Google, it could analyze the source, identify patterns, and suggest improvements. When Kevin generated GPU kernels, it could iterate on CUDA...
Read More →
October 08, 2024
• Software, systems
• 24 min read
Let’s imagine the following (quite realistic) scenario: You’ve learned how AI can optimize CPU code. You’ve seen AI generate blazingly fast GPU kernels. Your single machine performance is perfect. Now you need to scale to 1,000 GPUs to train your frontier model. Or maybe 200,000 GPUs, like xAI’s Colossus supercomputer,...
Read More →
October 01, 2024
• Software, performance
• 24 min read
Over the past four weeks, we’ve been exploring a central question: can AI systems help us optimize performance at scale? We started with the foundational challenges of Architecture 2.0, examined the software engineering reality gap between AI capabilities and real development tasks, and investigated how Google’s ECO system tackles CPU...
Read More →
September 24, 2024
• Software
• 29 min read
On September 12, 2024, AI models demonstrated stunning capabilities at the International Collegiate Programming Contest (ICPC). OpenAI’s GPT-5 managed to achieve a perfect score, answering 12 out of 12 problems, a performance akin to winning a gold medal. Not to be outdone, Google’s Gemini 2.5 Deep Think solved 10 of...
Read More →
September 17, 2024
• Software
• 16 min read
As we were teaching class this very Wednesday, September 17th, news broke that Google DeepMind’s Gemini achieved gold medal level performance at the 2025 International Collegiate Programming Contest (ICPC) World Finals, solving 10 of 12 complex algorithmic problems in the world’s most prestigious competitive programming competition.Gemini’s ICPC performance builds on...
Read More →
September 08, 2024
• Architecture
• 13 min read
Here’s what nobody tells you about applying AI to computer architecture: it’s not just harder than other domains. It’s fundamentally different in ways that make most AI success stories irrelevant. This week, we confronted why the techniques that conquered vision, language, and games stumble when faced with cache hierarchies and...
Read More →
September 03, 2024
• Architecture
• 11 min read
Moore’s Law is dying. Dennard scaling ended years ago.Dennard scaling, formulated by Robert Dennard at IBM in 1974, observed that as transistors became smaller, their switching voltage and current could be reduced proportionally, keeping power density roughly constant. This meant each new generation delivered faster processors without exponentially increasing power...
Read More →
Follow the Frontier
New posts drop every Monday. Don’t miss the insights:
- 🐦 Follow @aryatschand and @profvjreddi for weekly post announcements and class highlights
- 📧 Subscribe to updates via RSS
- 💬 Join discussions in the comments—this is where the best ideas get refined
These are the conversations that will define the next decade of computer systems. Be part of them.