Most engineers don't fail at CUDA because it's hard.
They fail because they read the right books in the wrong order.
CUDA has a reputation for breaking people. The usual advice, "just read PMPP", drops a beginner straight into the deepest book in the field and then wonders why they quit by chapter 4.
The book isn't the problem. The sequence is. After going through the whole shelf, here's the order that actually compounds: each book earns the next one:
1️⃣ 𝐂𝐔𝐃𝐀 𝐛𝐲 𝐄𝐱𝐚𝐦𝐩𝐥𝐞 (Sanders & Kandrot): Don't learn kernels yet. Learn to feel the GPU. This builds the intuition that every later book assumes you already have.
2️⃣ 𝐏𝐫𝐨𝐠𝐫𝐚𝐦𝐦𝐢𝐧𝐠 𝐌𝐚𝐬𝐬𝐢𝐯𝐞𝐥𝐲 𝐏𝐚𝐫𝐚𝐥𝐥𝐞𝐥 𝐏𝐫𝐨𝐜𝐞𝐬𝐬𝐨𝐫𝐬 (Hwu, Kirk, El Hajj): The foundation. This is where the mental model gets built: threads, blocks, parallel patterns. Now it lands, because Book 1 gave you something to attach it to.
3️⃣ 𝐏𝐫𝐨𝐟𝐞𝐬𝐬𝐢𝐨𝐧𝐚𝐥 𝐂𝐔𝐃𝐀 𝐂 𝐏𝐫𝐨𝐠𝐫𝐚𝐦𝐦𝐢𝐧𝐠 (Cheng, Grossman, McKercher): The architecture book. Memory hierarchy, streams, and the why behind every performance cliff you're about to hit.
4️⃣ 𝐆𝐏𝐔 𝐏𝐫𝐨𝐠𝐫𝐚𝐦𝐦𝐢𝐧𝐠 𝐰𝐢𝐭𝐡 𝐂++ 𝐚𝐧𝐝 𝐂𝐔𝐃𝐀 (Motta): The modern workflow. Nsight profiling, the full dev loop, packaging kernels into libraries you can call from Python.
5️⃣ 𝐓𝐡𝐞 𝐂𝐔𝐃𝐀 𝐇𝐚𝐧𝐝𝐛𝐨𝐨𝐤 (Wilt): The reference you grow into. You don't read this cover to cover. You reach for it when "works on my machine" stops being enough.
6️⃣ 𝐂𝐔𝐃𝐀 𝐟𝐨𝐫 𝐃𝐞𝐞𝐩 𝐋𝐞𝐚𝐫𝐧𝐢𝐧𝐠 (Arledge): The payoff. Where kernels stop being an exercise and start accelerating the models you actually ship.
The pattern across all six: intuition before theory, theory before architecture, architecture before application.
Most people quit at the wrong book. Almost nobody quits in the wrong order, because nobody told them that order was the thing.
I built an interactive map that drops you onto NYC’s streets the night the Knicks won the championship
already have 75+ wild celebration clips mapped and adding more every day! #knicks2026champs
Un desarrollador chino llamado tw93 se hartó de que sus aplicaciones de escritorio le devoraran la RAM y el disco.
Abría Slack y desaparecían cientos de megabytes. Abría Discord, Notion o cualquier otra app y pasaba lo mismo. ¿La razón? Casi todas son lo mismo por dentro: un sitio web empaquetado con una copia completa del motor de Chrome (Electron).
Decidió que tenía que haber una forma mejor.
En 2022 empezó a construir Pake. Usó Rust + Tauri, que en vez de incluir un navegador completo, aprovecha el WebView nativo del sistema operativo.
El resultado fue brutal:
- Slack con Pake → 8 MB (en vez de 524 MB)
- Discord con Pake → 9 MB (en vez de 265 MB)
- ChatGPT con Pake → 9 MB (en vez de 260 MB)
Cuatro años después, su repositorio tiene más de 51.000 estrellas en GitHub. Tiene builds listos para Grok, ChatGPT, Gemini, Discord, YouTube, Twitter y muchos más. Todo bajo los 10 MB, ligero, rápido y gratis.
Y lo mejor: con un solo comando puedes convertir cualquier página web en una aplicación de escritorio nativa.
No fundó una startup. No levantó inversión. Solo resolvió un problema que molestaba a millones de personas.
A veces el cambio real lo hace una sola persona que se cansa de las cosas como están.
Esta brutal, repo en los comentarios 👇
最近在带入组的本科实习生,发现怎么读论文其实是科研训练里最容易被忽略的一步。
推荐一篇每个科研新人都该读的经典短文:S. Keshav 的 How to Read a Paper。
文章提出了非常实用的“三遍读论文法”:
第一遍,5 到 10 分钟快速扫读:标题、摘要、引言、章节标题、结论和参考文献。
目标是回答 5C:
Category, Context, Correctness, Contributions, Clarity。
也就是判断这篇论文是什么、和谁相关、假设是否合理、贡献是什么、写得清不清楚。
第二遍,认真读论文主线,但先跳过证明细节。重点看图表、实验设置、结果是否清楚、引用了哪些关键工作。
第三遍才进入深度理解:尝试像复现一样重建作者的思路,检查假设、方法、创新点和潜在漏洞。
放在今天看,这个方法和 AI 辅助读论文其实很契合。
第一遍可以让 AI 帮忙快速总结论文的研究问题、核心贡献和主要结论,但自己一定要判断这篇文章是否真的值得继续读。
第二遍可以让 AI 帮忙解释方法、实验设置、图表和不熟悉的概念,但不能只看 AI 总结。关键图表、实验设计和结果数字一定要回到原文核对。
第三遍可以让 AI 扮演 reviewer,帮你追问:这篇文章的假设是否成立?实验是否支持结论?有没有 missing baseline?有没有潜在的数据泄漏、评价偏差或过度 claim?
读论文不是“读完”就行。真正重要的是知道什么时候快速跳过,什么时候认真理解。
尤其在 AI 工具越来越强的情况下,科研新人更需要训练自己的判断力。
AI 可以帮你压缩信息,但不能替你决定一篇论文是否重要、是否可信、是否值得借鉴。
https://t.co/8gUc4HbLwR