这篇访谈聊的是编程语言和芯片设计的未来。嘉宾Chris Lattner(LLVM、Swift的发明人)认为,编译器自动让代码变快是“海市蜃楼”,因为性能不稳定;真正的并行需要程序员自己设计架构。他非常看好RISC-V这个开源芯片指令集,因为它不会被一家公司绑架,生态更安全。提到的标的:SiFive(他所在的公司,做最好的RISC-V芯片)、Apple的Swift(他设计的语言,强调安全又高效)、Google的TensorFlow(机器学习社区在自动并行上做得好)。
Chris Lattner在Lex Fridman播客中讨论了计算和编程语言的未来,重点回顾了他对LLVM编译器基础设施、Clang编译器、Swift编程语言的核心贡献,以及在Google参与TensorFlow和TPU项目、在Tesla担任Autopilot软件副总裁、在Apple领导软件创新、在SiFive担任平台工程高级副总裁致力于芯片设计革命。核心观点是计算架构与编程语言需协同进化,LLVM和Swift等开源工具降低了开发门槛,而RISC-V(SiFive)等开放硬件架构将推动更快、更便宜、更高效的芯片设计。重要结论:未来计算性能提升将更多依赖硬件-软件协同设计,编程语言需更安全、高效
好的,这是对 Lex Fridman 播客 #131 期(Chris Lattner 访谈)的解读报告。
嘉宾 Chris Lattner(LLVM、Swift、MLIR 创建者,现任 SiFive 平台工程高级副总裁)与主持人 Lex Fridman 探讨了编程语言设计的核心哲学、硬件与软件的协同进化,以及编译器技术的未来。全片最有分量的判断:Chris Lattner 认为,编译器自动并行化是一种“海市蜃楼”,其承诺的“无需修改代码即可获得性能提升”在现实中因性能不可预测而失败;真正的并行化必须由程序员通过显式的架构模式(如 Actors)来控制,以获得可预测的性能。
Chris Lattner 认为,编程语言的设计核心是用户界面(UI)设计,而非语法(如花括号、缩进)的争论。
Chris Lattner 详细阐述了 Swift 的“值语义”(Value Semantics)如何解决其他语言(如 Python、Java)中因引用语义导致的隐蔽 bug。
Chris Lattner 对编译器“自动并行化”持批判态度,认为其性能不可预测,对开发者是灾难。他主张开发者应通过显式架构模型来控制并行。
Chris Lattner 基于其在 SiFive 的视角,阐述了 RISC-V 作为开源标准如何改变芯片设计行业,尤其是当摩尔定律放缓时。
| 标的 | 嘉宾态度(看好/风险提示/中性) | 关键数据 |
|---|---|---|
| SiFive | 看好 | 拥有世界最好的 RISC-V 核心,正在通过“编译器化”的 EDA 工具降低芯片设计成本。 |
| RISC-V (指令集) | 非常看好 | 作为开放标准,解决了 X86/ARM 等的“供应商锁定”风险,可扩展性强(从嵌入式到高性能计算)。 |
| Apple (Swift/SwiftUI) | 看好(技术层面) | Swift 的“值语义”、“渐进式披露”等设计是成功的;SwiftUI 是证明其价值的范例。 |
| Google (TensorFlow/TPU) | 中性/积极 | 帮助构建了 MLIR 和 XLA,认为机器学习社区在自动并行化方面取得了编译器社区未曾做到的突破。 |
| Tesla | 中性(背景提及) | 作为前 Autopilot 软件副总裁,提到其“统一愿景”是强大的领导力工具。 |
1. “编程语言是自行车,不是辩经工具。” (Chris Lattner)—— 语言的价值不在于语法喜好,而在于它能让人(开发者)多快、多好地到达目的地。好的设计是为“生产力”服务的,而非为“正确性”理论服务的。
2. “编译器自动并行化是海市蜃楼,因为性能不可预测。” (Chris Lattner)—— 承诺“不改代码,自动快10倍”的编译器,一旦代码因业务需求而改变,其性能可能暴跌,导致开发者陷入“代码冻结”的困境。真正的并行化需要开发者通过显式架构(如 Actors)来控制。
3. “你必须热爱你做的事,因为当项目进入艰难时期时,只有热爱才能让你坚持下去。” (Chris Lattner)—— 对职业选择的核心建议。早期职业生涯应广泛尝试,找到与自己大脑“共鸣”的领域,然后准备好投入“艰苦的工作”。
4. “RISC-V 解决的是‘供应商锁定’问题,而非仅仅是技术问题。” (Chris Lattner)—— 历史上 SPARC、PA-RISC 等指令集因公司战略调整而消亡,客户数十亿投资被锁定。RISC-V 作为开放标准,保证了无论 SiFive 如何,客户的生态投资都是安全的,这才是其最大的价值。
5. “机器学习的自动并行化不是编程语言社区搞定的,而是机器学习社区搞定的。” (Chris Lattner)—— 他指出了传统编译器的局限与机器学习社区的突破:TensorFlow/PyTorch 通过计算图这一高层抽象,使得编译器(如 XLA)能自动将模型并行分发到数千个节点,这一点是传统 C/C++ 编译器做不到的。
6. “软件 2.0(数据驱动编程)是新的编程范式,而非替代品。” (Chris Lattner)—— 他不同意 Andrej Karpathy 的“软件 2.0 将取代一切”的观点,认为这是一个“范式多元化”的问题。深度学习擅长处理感官输入、生成类人内容等“难以用代码表征”的问题,但无法替代用于编写启动加载器(bootloader)的、对能量效率敏感的指令式代码。
7. “领导力不是知道正确答案,而是获取正确答案。” (Chris Lattner)—— 通过“问愚蠢的问题”来学习新领域(如芯片设计),并创造一个让团队成员敢于“坦露脆弱”的安全环境,是领导大型团队的关键。