3 ms·
One of the original paper authors here. Some things got lost in the translation into a news piece. Here's our take on Instagram: Instagram is only able to perf
by abadams 14y ago
One of the original paper authors here. Some things got lost in the translation into a news piece. Here's our take on Instagram:
Instagram is only able to perform the most trivial filters expressible as point-wise operations (mostly curves and vignetting). These are easy to parallelize. If we want to go beyond that (e.g. clarity in Lightroom, which uses a more complex algorithm called Local Laplacian filters), we need to be able to write fast, complex, image processing pipelines on embedded devices more easily. Currently these sorts of things are possible on embedded (see Adobe's various offerings for iOS), but they take expert engineers a long time to write.
- jrk 14y ago…and even with simple point-wise filters, Instagram had to manually code all its filters for OpenGL ES to run on the GPU to get reasonable performance. Last I heard (months before the acquisition), only one or two people at the company could write new filters, since they were the only ones with enough esoteric knowledge to build reasonable imaging pipelines in GL ES, even as simple as those pipelines were. The point here isn't that it becomes possible to do things no one could do before, but that it becomes radically easier so: 1. More people can build fast imaging pipelines than previously had the skills to do so. 2. Even those who had the specialized skills can build and explore fast imaging pipelines radically more easily. Still, this is a research language and compiler, so there are plenty of limitations and rough edges. The main point is to demonstrate and explore a potentially better way of doing things in this domain, so future languages and tools can learn from this experience. But we have found the actual tool to be quite powerful in practice, and so are making it available to the public.