『DEV』のカバーアート

DEV

DEV

著者: Eric Lamanna
無料で聴く

Software and AI development podcast. We cover all things software development, including today's advanced AI development tricks and techniques.2026 DEV.co 数学 科学
エピソード
  • Why Custom CUDA Kernels Could Be Your Deep Learning Secret Weapon
    2026/07/15

    GPU hardware is only as useful as the code running on it. For deep learning teams chasing faster training loops and tighter inference times, the bottleneck isn't always the model or the data pipeline — sometimes it's the abstraction layer between your workload and the silicon. This episode of Development explores building custom CUDA kernels for deep learning performance, making the case that going low-level isn't just for systems programmers — it's a practical tool for anyone serious about squeezing the most out of their GPU.

    The episode walks through the full arc of writing, integrating, and optimizing a custom CUDA kernel, covering:

    • What CUDA kernels actually are — functions that execute simultaneously across thousands of GPU threads, each handling a small slice of your data, rather than running once on a single processor.
    • Why built-in library kernels fall short — PyTorch and TensorFlow ship highly tuned kernels for common operations, but those kernels must handle every possible edge case; a custom kernel only has to handle yours, and that specificity is where the speed lives.
    • The GPU execution model — understanding how threads, blocks, shared memory, and grids fit together is the foundation for writing kernels that are actually efficient rather than just correct.
    • Key performance concepts — memory coalescing (keeping consecutive threads on consecutive addresses), shared memory (loading data once for a whole block instead of hitting slow global memory repeatedly), and warp efficiency (minimizing branch divergence so no threads sit idle).
    • Integrating with existing frameworks — both PyTorch and TensorFlow offer real extension mechanisms so a custom kernel can be called from Python just like any native operation, keeping it inside your actual training pipeline.
    • Testing, debugging, and profiling — GPU bugs can be subtle and nearly correct; rigorous output verification and tools like NVIDIA Nsight Systems and Nsight Compute are essential for catching errors and pinpointing the next bottleneck to fix.

    The episode is candid about the trade-off: custom kernels mean taking on memory management, thread organization, and low-level error handling — real costs that generic library calls spare you from. But for teams working with novel architectures, non-standard data transformations, or production latency targets that off-the-shelf ops can't meet, that investment in control pays dividends that compound across every training run. More from the show: What Your Food Truck Website Is Missing — And Why It Matters.

    DEV

    続きを読む 一部表示
    7 分
  • What Your Food Truck Website Is Missing — And Why It Matters
    2026/07/14

    Great food alone doesn't keep customers coming back — they have to be able to find you first, and then stay connected between visits. This episode of Development explores how food truck owners can transform a bare-bones website into a 24/7 business-building tool, drawing on 11 essential elements for a food truck website to help operators close the gap between good food and loyal regulars.

    The conversation covers a wide range of practical, actionable improvements — from the basics that most food truck sites get wrong to the softer touches that quietly build community. Here's what's discussed:

    • Real-time location and schedule visibility — Why an interactive, up-to-date map solves the "I can't find you" problem before it costs you a sale, and how your website and social channels should reinforce rather than duplicate each other.
    • The case for keeping old schedules published — Historical event listings signal consistency and reliability to new visitors, functioning as passive trust-building at zero extra cost.
    • Food photography done right — Why poor photos actively drive customers away, what a professional shoot is actually worth, and how to get strong results with a smartphone when the budget is tight.
    • Frictionless menu access and online ordering — Your menu link should go straight to your menu — not a third-party login page — and integrated ordering options can meaningfully convert browsers into buyers.
    • Authentic behind-the-scenes content and email newsletters — Candid glimpses of truck life build genuine loyalty, while a direct email list remains one of the most algorithm-proof tools a small food business has.
    • Rounding out a professional presence — Visible contact info on every page, embedded social proof, a simple feedback form, and even recipes all contribute to a site that gives visitors reasons to stay, share, and return.

    The throughline of the episode is straightforward: the food trucks that build lasting followings aren't just the ones making the best food — they're the ones making it effortless to stay connected. The episode is based on a piece by Timothy Carter published at dev.co. More from the show: Writing Efficient Memory Allocators for PyTorch Extensions.

    WEB DEV

    続きを読む 一部表示
    6 分
  • Writing Efficient Memory Allocators for PyTorch Extensions
    2026/07/13

    Building a custom PyTorch extension is hard enough — but for engineers targeting specialized hardware or unconventional data pipelines, the default memory management layer can quietly become the biggest performance bottleneck of all. This episode of Development draws on this in-depth guide to writing efficient memory allocators for PyTorch extensions to walk through everything from the fundamentals of PyTorch's memory model to practical pooling strategies, debugging techniques, and the discipline of knowing when not to over-engineer.

    Here's what the episode covers:

    • When custom allocators are actually necessary — the specific scenarios (hardware alignment requirements, repetitive tensor shapes, unusual data structures) where PyTorch's excellent built-in caching still isn't enough.
    • How PyTorch's memory model works under the hood — understanding the C++ Allocator interface and why any custom allocator must cooperate with PyTorch's reference tracking rather than work around it.
    • Alignment and layout as foundational performance levers — why 64-byte CPU alignment and 256-byte GPU alignment can meaningfully reduce overhead, and how data layout choices affect memory streaming speed.
    • Memory pooling to fight fragmentation — how pre-allocating and reusing fixed-size blocks eliminates the repeated cost of malloc/free cycles and keeps performance stable across long training runs.
    • Debugging strategies built in from day one — using canary bytes to detect buffer overruns, verbose logging for allocation events, and PyTorch's own torch.cuda.memory_summary() to monitor custom allocator behavior alongside the default.
    • Hybrid approaches, pinned memory, and the transfer cost dimension — why delegating irregular tensor shapes to PyTorch's default allocator often makes more sense than replacing it entirely, and how pinned memory and batched transfers reduce PCIe overhead.

    The episode closes with a case for restraint: measure real bottlenecks before building complex pooling hierarchies, and let the data — not assumptions — drive how much custom logic you actually need. For more from the show on machine learning engineering in practice, check out the episode AI-Assisted Data Labeling: How Active Learning Loops Change the Game.

    DEV

    続きを読む 一部表示
    9 分
adbl_web_anon_alc_button_suppression_t1
まだレビューはありません