General Purpose GPU computing in simple steps
summary
Shows how to get realtime CameraX filters by using CameraX surface processor (ImageProcessor is capture-only; SurfaceProcessor requires Vulkan/OpenGL or native C++) and pushes pixel work onto the GPU with GLSL fragment shaders and compute shaders using shader storage buffer objects and workgroups. Gives concrete performance: a simple grayscale runs in ~250 ms on-device versus ~12 seconds in single-threaded Kotlin, with dispatch overhead ~200 µs; notes 12 MP@30FPS equals ~360M pixels/s and that shaders compile on-device for live updates.
AI-written summary · about
chapters (8)
- 0:00Introduction
- 3:43Why GPUs excel at parallel
- 7:31CameraX surface processor
- 14:24GLSL basics and shaders
- 17:39Fragment shader examples
- 19:52Compute shaders for GPGPU
- 26:39CPU vs GPU performance
- 27:45Conclusion
related talks
50mFrom Magic to Mechanics: Demystifying GPU Programming
15mReal-time video upscaling using CNNs and WebGPU
24mArbitrary Computation on the GPU Using WebGL
39mHella-Parallel Compute with RenderScript
37mRendering performance inside out
39mThe Pixel Factory
40mAndroid Graphics Performance
47mJava and GPU … are we nearly there yet?
