Share

cover art for GPU Programming and Language Design with Chris Lattner

Software Unscripted

GPU Programming and Language Design with Chris Lattner

Ep. 109

Richard talks with Swift, LLVM, Clang, and Mojo creator Chris Lattner about programming on the GPU and on the CPU, as well as a number of programming language design topics.


  • Chris's "Democratizing AI Compute" blog series - https://www.modular.com/blog/democratizing-compute-part-1-deepseeks-impact-on-ai
  • Mojo https://www.modular.com/mojo
  • Roc https://www.roc-lang.org
  • Software Unscripted episode with Futhark language creator https://pod.link/1602572955/episode/00564b1774ebe0e4225a630825ed3dee
  • Claude 4 https://www.anthropic.com/news/claude-4

More episodes

View all episodes

  • Jonathan Blow on Programming Language Design

    01:41:42|
    Jonathan Blow, creator of popular games Braid and The Witness, talks with Richard about programming language design - including the design of the programming language he's been building for game developers.Keynote & Tech Demo - https://youtu.be/IdpD5QIVOKQECS and Rust's Borrow Checker - https://youtu.be/4t1K66dMhWk"The 30 Million Line Problem" - https://youtu.be/kZRE7HIO3vk"A New Programming Language for Games" - https://youtu.be/TH9VCN6UkyQ?si=Z5cqazo4QU7AibzBRoc Programming Language - https://roc-lang.orgCasey Muratori's "Performance-Aware Programming" Course - https://www.computerenhance.com/p/welcome-to-the-performance-awareFile Pilot File Explorer - https://filepilot.tech/Ghostty Terminal - https://ghostty.org/Language Server Protocol - https://microsoft.github.io/language-server-protocol/WebAssembly Integer Sizes - https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Numeric/ConstCliff Click's Sea of Nodes Compiler IR - https://github.com/SeaOfNodes/Chapters00:00 The Programming Establishment02:04 Metaprogramming05:04 Compile-Time Execution08:05 Language Feature Interoperability10:53 Compile Time Execution27:52 Cross-Compiling and FFI31:04 Determinism in Programming35:07 Balancing Power and Safety40:11 Memory Safety vs. Performance50:15 The Evolution of Software Performance55:32 Performance Awareness01:03:56 Dependencies and Version Control01:14:54 Dependency Availability Risk01:18:42 Memory Management01:24:51 Sandboxing01:30:23 Operating Systems
  • Zig Creator Andrew Kelley

    01:49:14|
    Richard talks with Zig Creator Andrew Kelley.- Support Zig - https://ziglang.org/zsf/- Zig's "Writergate" - https://ziglang.org/download/0.15.1/release-notes.html#Writergate- "What Color is Your Function?" by Robert Nystrom - https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/- "Asynchrony is not Concurrency" by Loris Cro - https://kristoff.it/blog/asynchrony-is-not-concurrency/- "Data alignment for speed: myth or reality?" by Daniel Lemire - https://lemire.me/blog/2012/05/31/data-alignment-for-speed-myth-or-reality/
  • Securing Evolving Software with Noah Hall

    59:50|
    xz vulnerability: https://en.wikipedia.org/wiki/XZ_Utils_backdoorSpectre: https://en.wikipedia.org/wiki/Spectre_(security_vulnerability)Meltdown: https://en.wikipedia.org/wiki/Meltdown_(security_vulnerability)Heartbleed: https://en.wikipedia.org/wiki/HeartbleedNoah on GitHub https://github.com/eeue56 - Substack https://substack.com/@eeue56 - BlueSky https://bsky.app/profile/derw-lang.com
  • Andreas Kling on Ladybird Browser, SerenityOS, and Powerlifting

    01:20:08|
    Ladybird Browser - https://ladybird.orgSerenityOS - https://serenityos.orgStory of the man who used powerlifting to recover after falling off a roof https://startingstrength.com/articles/brian_jones_story.pdfStrongLifts 5x5 - https://stronglifts.com/stronglifts-5x5/Starting Strength - https://startingstrength.com/
  • 108. Broken AI Discourse with Steve Klabnik

    01:19:43||Season 1, Ep. 108
    Longtime Rust contributor Steve Klabnik talks with Richard about the broken state of AI discourse, from excessive hype to excessive hate, and reasonable alternatives we could pursue instead.Steve's blog post: "I am disappointed in the AI discourse" - https://steveklabnik.com/writing/i-am-disappointed-in-the-ai-discourse/Deep dive into why Rust's compile times are slow: https://www.pingcap.com/blog/rust-compilation-model-calamity/Y Combinator partners on "100x productivity" claims: https://www.youtube.com/watch?v=IACHfKmZMr8&t=155s
  • 107. Language Design Deep Dive with Elixir Creator José Valim

    02:26:12||Season 1, Ep. 107
    Elixir creator José Valim goes into a very deep dive on language design with Richard, centered around some upcoming major design changes to the Roc programming language.- https://elixir-lang.org- https://roc-lang.org- Unison's algebraic effects: https://www.unison-lang.org/docs/fundamentals/abilities/- Koka's algebraic effects: https://koka-lang.github.io/koka/doc/book.html#why-effects- OCaml's algebraic effects: https://ocaml.org/manual/5.3/effects.html
  • 106. From Scala to Roc with Monica McGuigan

    01:07:42||Season 1, Ep. 106
    Monica McGuigan, a Scala programmer at JP Morgan, talks with Richard about her experiences learning Roc with a Scala background. They get into topics like how language design affects beginners and experts, what parts of functional programming are easier and harder to learn than others, and how language designers inform their design decisions.Support Software Unscripted on Patreon: https://patreon.com/SoftwareUnscriptedMonica's chapter on JSON decoders: https://github.com/roc-lang/book-of-examples/pull/68Grapheme clusters: https://unicode.org/glossary/#extended_grapheme_clusterRoc's string operations: https://www.roc-lang.org/builtins/StrTalk: The Functional Purity Inference Plan: https://youtu.be/42TUAKhzlRI?si=TwxYoqMgh0UXQLfn
  • 105. Testing in Production with Mike Bryzek

    01:17:50||Season 1, Ep. 105
    Mike Bryzek has been a technical cofounder of two very successful companies using some very unorthodox technical strategies that have worked out very well for him and his teams! These include testing in production, spending the first few months of a brand-new company's life investing in automation and tooling before shipping a product, and microservices - but not done in the way I've usually heard them described.Support Software Unscripted on Patreon: https://patreon.com/SoftwareUnscripted