Automatically scheduling halide
image processing pipelines. ACM
Trans. Graph. 35, 4 (2016).
18. Mullapudi, R. T., Vasista, V., Bondhugula,
U. PolyMage: Automatic optimization
for image processing pipelines. In ACM
SIGPLAN Notices (ACM, New York, NY,
2015), volume 50, 429–443.
19. The OpenCL specification, version 1. 2.
http://www.khronos.org/registry/cl/
specs/opencl- 1. 2.pdf, 2011.
20. Püschel, M., Moura, J. M.F., Johnson, J.,
Padua, D., Veloso, M., Singer, B., Xiong,
J., Franchetti, F., Gacic, A.,
Voronenko, Y., Chen, K., Johnson,
R. W., Rizzolo, N. SPIRAL: Code
generation for DSP transforms.
Proceedings of the IEEE, special
issue on “Program Generation,
Optimization, and Adaptation” 93, 2
(2005), 232–275.
21. Ragan-Kelley, J. Decoupling
algorithms from the organization of
computation for high performance
image processing. PhD thesis,
Massachusetts Institute of
Technology (2014).
22. Ragan-Kelley, J., Adams, A., Paris, S.,
Levoy, M., Amarasinghe, S., Durand, F.
Decoupling algorithms from
schedules for easy optimization of
image processing pipelines. ACM
Trans. Graph. 31, 4 (2012).
23. Ragan-Kelley, J., Barnes, C., Adams, A.,
Paris, S., Durand, F., Amarasinghe, S.
Halide: A language and compiler for
optimizing parallelism, locality, and
recomputation in image processing
pipelines. In Proceedings of the 34th
ACM SIGPLAN Conference on
Programming Language Design and
Implementation (ACM, New York,
NY, 2013).
24. Rudy, G., Khan, M.M., Hall, M., Chen, C.,
Chame, J. A programming
language interface to describe
transformations and code generation.
In Proceedings of the 23rd International
Conference on Languages and
Compilers for Parallel Computing
LCPC’ 10, (Springer-Verlag, Berlin,
Heidelberg, 2011), 136–150.
25. Suriana, P., Adams, A., Kamil, S. Parallel
associative reductions in halide. In
Proceedings of the 2017 International
Symposium on Code Generation and
Optimization (ACM, New York, NY, 2017).
1. Adams, A., Talvala, E., Park, S. H.,
Jacobs, D.E., Ajdin, B., Gelfand, N.,
Dolson, J., Vaquero, D., Baek, J., Tico,
M., Lensch, H. P. A., Matusik, W., Pulli,
K., Horowitz, M., Levoy, M. The
Frankencamera: An experimental
platform for computational
photography. ACM Trans. Graph. 29, 4
(2010), 29:1–29: 12.
2. Aubry, M., Paris, S., Hasinoff, S. W.,
Kautz, J., Durand, F. Fast local
Laplacian filters: Theory and applications.
ACM Trans. Graph. 33, 5 (2014), 167.
3. Bacon, D. F., Graham, S. L., Sharp, O.J.
Compiler transformations for
high-performance computing. ACM
Comput Surv. 26, 4 (Dec. 1994).
4. Blythe, D. The Direct3D 10 system. ACM
Trans. Graph. 25, (2006), 724–734.
5. Buck, I. GPU computing: Programming
a massively parallel processor. In
Proceedings of the International
Symposium on Code Generation and
Optimization (Tessellations Publishing,
Phoenix, Arizona, 2007).
6. Chamberlain, B., Callahan, D., Zima, H.
Parallel programmability and the
Chapel language. Int J High Perform
Comput Appl. 21, (2007), 291–312.
7. Chen, J., Paris, S., Durand, F. Real-time
edge-aware image processing with the
bilateral grid. ACM Trans. Graph. 26, 3
(2007), 103:1–103: 9.
8. Elliott, C. Functional image synthesis.
In Proceedings of Bridges 2001,
Mathematical Connections in Art,
Music, and Science (IEEE Computer
Society, Washington, DC, USA, 2001).
9. Fatahalian, K., Horn, D.R., Knight, T. J.,
Leem, L., Houston, M., Park, J. Y.,
Erez, M., Ren, M., Aiken, A., Dally, W. J.,
Hanrahan, P. Sequoia: Programming
the memory hierarchy. In ACM/IEEE
conference on Supercomputing
(ACM, New York, NY, 2006).
10. Feautrier, P. Dataflow analysis of
array and scalar references. Int J
Parallel Program. 20, 1 (1991), 23–53.
11. Frigo, M., Johnson, S. G. The design
and implementation of FFTW3. Proc
IEEE 93, 2 (2005).
12. Gordon, M.I., Thies, W., Karczmarek, M.,
Lin, J., Meli, A.S., Leger, C., Lamb, A. A.,
Wong, J., Hoffman, H., Maze, D.Z.,
Amarasinghe, S. A stream compiler for
communication-exposed architectures.
In International Conference on
Architectural Support for Programming
Languages and Operating Systems
(ACM, New York, NY, 2002).
13. Govindaraju, N., Lloyd, B., Dotsenko, Y.,
Smith, B., Manferdelli, J. High
performance discrete Fourier
transforms on graphics processors. In
Proceedings of the 2008 ACM/IEEE
Conference on Supercomputing. IEEE
(Washington, DC, January 2008).
14. Halide source repository. http://
github.com/halide/Halide.
15. Hasinoff, S. W., Sharlet, D., Geiss, R.,
Adams, A., Barron, J. T., Kainz, F.,
Chen, J., Levoy, M. Burst photography
for high dynamic range and low-light
imaging on mobile cameras. ACM
Trans. Graph. 35, 6 (2016).
16. Holzmann, G. Beyond Photography:
The Digital Darkroom. Prentice Hall,
Englewood Cliffs, NJ, 1988.
17. Mullapudi, R. T., Adams, A., Sharlet, D.,
Ragan-Kelley, J., Fatahalian, K. © 2018 ACM 0001-0782/18/1 $15.00
References
Andrew Adams, and Dillon Sharlet
({abadams, dsharlet}@ google.com), Google.
Saman Amarasinghe, and Frédo Durand
({saman, fredo}@ csail.mit.edu), MIT
CSAIL.
Connelly Barnes ( connelly@cs.virginia.
edu), University of Virginia.
Marc Levoy ( levoy@google.com),
Stanford University & Google.
Sylvain Paris ( sparis@adobe.com),
Adobe.
Jonathan Ragan-Kelley (jrk@eecs.
berkeley.edu), UC Berkeley.