GPGPU Programming with Metal
summary
Apple introduces Metal in 2014 and enables true GPGPU on iPhone; the compute path uses kernel functions written in the Metal Shading Language, dispatched as thread groups with device-specific max sizes. Metal 2 adds external GPU support. Apple ships Metal Performance Shaders for image-processing and neural-network inference (not on-device training — ImageNet is ~180 GB), plus optimized primitives like Gaussian blur. Example: a hot-dog classifier is feasible for inference on-device, improving latency and user data privacy by avoiding cloud uploads.
AI-written summary · about
chapters (23)
- 0:00Intro
- 0:17Janie Clayton
- 1:28The Stone Ages (before 1996)
- 2:28John Carmack and Quake
- 3:56OpenGL
- 5:23General Purpose GPU
- 6:36Next Generation Graphics Frameworks
- 7:41Algorithm Logic Unit (ALU)
- 8:27Parallel Processing
- 10:10GPU Tasks
- 12:53Metal Encoder Types
- 13:48How Work is sent to the GPU . Data is converted to a MTL Resource type
- 14:53Threads and Threadgroups
- 16:18Shader/Function Types
- 16:50Metal Shading Language
- 18:11CPU/GPU Communication
- 20:16Why Include MPS?
- 21:21Types of MPS
- 21:40Image Processing
- 23:22Relocate to San Francisco
- 24:54Weights and Biases
- 27:05Cocoa Frameworks
- 27:38Takeaways
related talks
01h 02mWorkshop: Tools and Techniques for Working with Apple Metal
52mThe Real Performance Characteristics of Mobile Devices
34mWhat WebGPU means for Web platform?
39mSwiftUI Meets Metal - Elevate Your UI Game
40mThe WebGPU Revolution: Full GPU Power on the Web and Beyond
50mFrom Magic to Mechanics: Demystifying GPU Programming
32mGPU.JS - GPU Accelerated JavaScript
30mGeneral Purpose GPU computing in simple steps
