Webinar Recording

From Seconds to Milliseconds - Mastering Apple Silicon GPUs in Julia

Webinar Recording

From Seconds to Milliseconds - Mastering Apple Silicon GPUs in Julia

Date Published

Share

Date Published

Share


In this JuliaHub webinar, Dr. Tim Besard, Software Engineer and GPU lead at JuliaHub, gives a practical introduction to Metal.jl, the Julia package for programming the GPUs in Apple Silicon Macs.

He starts with high-level array programming and moves on to writing your own GPU kernels. He then covers what makes Apple GPUs different, and how new precompilation work brings first-kernel latency down from seconds to milliseconds in a fresh Julia Session.

What you’ll learn

  • Array programming on the GPU with MtlArray: broadcasting, reductions, linear algebra and FFTs

  • Writing, launching, profiling and debugging custom kernels with @metal

  • Writing portable kernels with KernelAbstractions.jl that also run on NVIDIA, AMD and Intel GPUs

  • Apple Silicon specifics: unified memory, storage modes and floating-point limits

  • Optimising kernels with SIMD groups

  • Precompiling GPU code for fast load times, and the Metal.jl roadmap

Who it’s for

Julia users with intermediate experience. No prior GPU programming experience is needed.

Speakers

Tim Besard is a software engineer at JuliaHub, where he leads GPU support and development for the Julia programming language. He holds a Ph.D. in computer science engineering from Ghent University, Belgium, and has been a key contributor to Julia's GPU ecosystem since 2014. Tim maintains several foundational GPU packages including CUDA.jl, GPUArrays.jl, GPUCompiler.jl, and LLVM.jl, which together form the backbone of GPU computing in Julia.

Speakers

Tim Besard is a software engineer at JuliaHub, where he leads GPU support and development for the Julia programming language. He holds a Ph.D. in computer science engineering from Ghent University, Belgium, and has been a key contributor to Julia's GPU ecosystem since 2014. Tim maintains several foundational GPU packages including CUDA.jl, GPUArrays.jl, GPUCompiler.jl, and LLVM.jl, which together form the backbone of GPU computing in Julia.

Speakers

Tim Besard is a software engineer at JuliaHub, where he leads GPU support and development for the Julia programming language. He holds a Ph.D. in computer science engineering from Ghent University, Belgium, and has been a key contributor to Julia's GPU ecosystem since 2014. Tim maintains several foundational GPU packages including CUDA.jl, GPUArrays.jl, GPUCompiler.jl, and LLVM.jl, which together form the backbone of GPU computing in Julia.

Contact Us

Want to get enterprise support, schedule a demo, or learn about how we can help build a custom solution? We are here to help.

/

/

From Seconds to Milliseconds - Mastering Apple Silicon GPUs in Julia