Block-Based Parallel Programming - Bryce Adelstein Lelbach - NDC TechTown 2025
This talk was recorded at NDC TechTown in Kongsberg, Norway. #ndctechtown #ndcconferences #developer #softwaredeveloper Attend the next NDC conference near you: https://ndcconferences.com https://ndctechtown.com/ Subscribe to our YouTube channel and learn every day: / @NDC Follow our Social Media! / ndcconferences / ndc_conferences / ndc_conferences #cplusplus #python Parallel programming can be intimidating, but doesn’t need to be! There's a new paradigm for parallel programming that's newcomer-friendly, highly productive, and performant: block-based programming. Block-based programming models divides inputs into local arrays (tiles) that are processed concurrently by groups of threads (blocks). Users write sequential array-centric code, and the framework handles parallelization, synchronization, and data movement behind the scenes. Block-based models have been around for a long time, but in recent years, they've grown in popularity for GPU programming in languages such as [Triton](https://openai.com/index/triton/), [JAX/Pallas](https://docs.jax.dev/en/latest/pallas..., and [Warp](https://nvidia.github.io/warp/modules..., aiming to make parallelism more accessible and increase portability. In this example-driven talk, we'll cover the basics of block-based programming in both Python and C++. We'll present cuTile, NVIDIA's new block-based programming model for Python, C++, and other languages, and Tile IR, the new compiler stack that it is built with. We'll reveal new details about this new technology for the first time in this talk. We'll compare and contrast block-based models with traditional parallel programming models. We'll look at a variety of examples, including a new tile-based [LLAMA3](https://github.com/meta-llama/llama3)... large language model demo, a stencil code, and an FFT solver. In this session, you'll: Learn the best practices for writing block-based parallel applications for CPUs and GPUs. Gain insight into the performance of block-based code and how it actually gets executed. Discover how to reason about and debug block-based applications. Understand the differences between block-based and traditional parallel programming and when each paradigm should be used. By the end of the session, you'll understand how block-based programming enables more intuitive, portable, and efficient development of high-performance, data-parallel applications.

Keynote: Rust is not about memory safety - Helge Penne - NDC TechTown 2025

Keynote: Benchmarking - It's About Time - Matt Godbolt - C++Now 2026

Keynote: After the AI Hype – What’s Real, and What’s Next - Richard Campbell - 2026

The Java Story | The Official Documentary

BeCPP Symposium 2026 - Guy Davidson - Abstraction: The True Superpower of C++

Carbon: graduating from the experiment - Chandler Carruth - NDC Toronto 2026

Modern Architecture 101 for New Engineers & Forgetful Experts - Jerry Nixon - NDC Copenhagen 2025

TypeScript 7 Is Here (And It's 10× Faster)

The Most Powerful Manifestation Technique ... It Works So Fast It's Scary.

Real-Time WebSockets Course | Build a Live Sports Dashboard with Node.js & PostgreSQL

Keynote: Reflection Is Only Half the Story - Barry Revzin - C++Now 2026

URGENT UPDATE - Iran War Expert: A Mass Casualty Attack Is Coming! | Robert Pape

Is This Wish Meant to Be Fulfilled? 🧚🤲 Detailed Pick a Card Tarot Reading ✫・

C++ Memory Model: from C++11 to C++23 - Alex Dathskovsky - CppCon 2023

The Amazing Spider-Man 2: Sony's Greatest Failure

Completing the Rewrite from Hell: Five Years of Technical Debt and How We Escaped - Aaron Stannard

Algorithms & Combinators - Conor Hoekstra - NDC Toronto 2026

This Bassett Hound WAS Trying to Tell me Something…He Was Right | PUPDATE

777 Portal ✨ Manifest Miracles, Abundance & Divine Alignment - Meditation Music

