Hella-Parallel Compute with RenderScript

RenderScript is the heterogeneous compute API in the Android SDK that nobody uses. VSCO's imaging pipeline on Android is almost pure RS and has been for over 3 years. It's been robust at scale, across the all of the peculiar devices in the wild. Features include: a sane high-level Java API, strong guarantees of correctness across devices, and a nice conceptual boundary between the computation (which you do), and the execution strategy (which they do). We discuss options for compute on Android, why RS is a great choice for processing photos and camera frames, it's limitations, and some guidelines for when a problem should be considered "Hella-Parallel", meriting some extra work to accelerate the computation. As an application developer (and not really an imaging person), I found RenderScript to be an accessible intro to parallel compute, and I want to encourage everyone to try it.

Lydia Schiff, VSCO

Software Engineer at VSCO in Oakland. I do imaging and video for VSCO on Android. I became an embedded parallel compute specialist by accident. Java, C++, RenderScript, GLES for work, Racket and Haskell for funsies.