{"id":{"repo_id":"mit","oai_identifier":"oai:dspace.mit.edu:1721.1/84881"},"canonical_url":"https://search.dev.ndltd.org/etd/mit/oai:dspace.mit.edu:1721.1/84881","repository":{"repo_id":"mit","name":"MIT","base_url":"https://dspace.mit.edu/oai/request"},"display":{"title":"An OpenGL backend for Halide","abstract":"High performance image processing requires not only an efficient underlying algorithm but also an implementation tailored to maximally exploit the available hardware resources. In practice, this requires low-level optimization, platform-specific instructions, and, when available, the use of special purpose hardware such as GPU. Halide is a domain-specific programming language targeted at image processing applications. Its programming model decouples an algorithm from the details of its execution, vastly simplifying development and optimization. We present an OpenGL backend for the Halide compiler, which enables Halide programs to run GPU computation on devices that support the OpenGL API. In particular, this paves the way for GPU computation on mobile devices using OpenGL ES. In doing so, we demonstrate how a general image processing framework can be built upon functionality designed for 3D graphics applications.","abstract_html":"High performance image processing requires not only an efficient underlying algorithm but also an implementation tailored to maximally exploit the available hardware resources. In practice, this requires low-level optimization, platform-specific instructions, and, when available, the use of special purpose hardware such as GPU. Halide is a domain-specific programming language targeted at image processing applications. Its programming model decouples an algorithm from the details of its execution, vastly simplifying development and optimization. We present an OpenGL backend for the Halide compiler, which enables Halide programs to run GPU computation on devices that support the OpenGL API. In particular, this paves the way for GPU computation on mobile devices using OpenGL ES. In doing so, we demonstrate how a general image processing framework can be built upon functionality designed for 3D graphics applications.","abstract_has_math":false,"creators":["Chornay, Nicholas J"],"institution":"Massachusetts Institute of Technology","degree_name":null,"degree_level":null,"degree_discipline":null,"degree_department":"Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.","school":null,"contributors":[],"advisors":["Frédo Durand."],"committee_chairs":[],"committee_members":[],"year":2013,"date_issued":"2013","date_published":"2013","updated_at":"2026-07-22T22:21:16Z","subjects":["Electrical Engineering and Computer Science."],"languages":["eng"],"rights":["M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission."],"rights_urls":["http://dspace.mit.edu/handle/1721.1/7582"],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/1721.1/84881","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Frédo Durand."]},{"key":"dc:contributor.department","label":"Department","values":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science."]},{"key":"dc:contributor.other","label":"Dc Contributor Other","values":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science."]},{"key":"dc:creator","label":"Author","values":["Chornay, Nicholas J"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2014-02-10T16:57:56Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2014-02-10T16:57:56Z"]},{"key":"dc:date.issued","label":"Date","values":["2013"]},{"key":"dc:publisher","label":"Institution","values":["Massachusetts Institute of Technology"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Electrical Engineering and Computer Science."]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["eng"]},{"key":"dc:rights","label":"Dc Rights","values":["M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission."]},{"key":"dc:rights.uri","label":"Rights URI","values":["http://dspace.mit.edu/handle/1721.1/7582"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["http://hdl.handle.net/1721.1/84881"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Thesis (M. Eng.)--Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2013.","Cataloged from PDF version of thesis.","Includes bibliographical references (pages 37)."]},{"key":"dc:description.abstract","label":"Abstract","values":["High performance image processing requires not only an efficient underlying algorithm but also an implementation tailored to maximally exploit the available hardware resources. In practice, this requires low-level optimization, platform-specific instructions, and, when available, the use of special purpose hardware such as GPU. Halide is a domain-specific programming language targeted at image processing applications. Its programming model decouples an algorithm from the details of its execution, vastly simplifying development and optimization. We present an OpenGL backend for the Halide compiler, which enables Halide programs to run GPU computation on devices that support the OpenGL API. In particular, this paves the way for GPU computation on mobile devices using OpenGL ES. In doing so, we demonstrate how a general image processing framework can be built upon functionality designed for 3D graphics applications."]},{"key":"dc:description.degree","label":"Dc Description Degree","values":["M.Eng."]},{"key":"dc:title","label":"Title","values":["An OpenGL backend for Halide"]}]}],"canonical_facts":{"dc:contributor.advisor":["Frédo Durand."],"dc:contributor.department":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science."],"dc:contributor.other":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science."],"dc:creator":["Chornay, Nicholas J"],"dc:date.accessioned":["2014-02-10T16:57:56Z"],"dc:date.available":["2014-02-10T16:57:56Z"],"dc:date.issued":["2013"],"dc:description":["Thesis (M. Eng.)--Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2013.","Cataloged from PDF version of thesis.","Includes bibliographical references (pages 37)."],"dc:description.abstract":["High performance image processing requires not only an efficient underlying algorithm but also an implementation tailored to maximally exploit the available hardware resources. In practice, this requires low-level optimization, platform-specific instructions, and, when available, the use of special purpose hardware such as GPU. Halide is a domain-specific programming language targeted at image processing applications. Its programming model decouples an algorithm from the details of its execution, vastly simplifying development and optimization. We present an OpenGL backend for the Halide compiler, which enables Halide programs to run GPU computation on devices that support the OpenGL API. In particular, this paves the way for GPU computation on mobile devices using OpenGL ES. In doing so, we demonstrate how a general image processing framework can be built upon functionality designed for 3D graphics applications."],"dc:description.degree":["M.Eng."],"dc:identifier.uri":["http://hdl.handle.net/1721.1/84881"],"dc:language.iso":["eng"],"dc:publisher":["Massachusetts Institute of Technology"],"dc:rights":["M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission."],"dc:rights.uri":["http://dspace.mit.edu/handle/1721.1/7582"],"dc:subject":["Electrical Engineering and Computer Science."],"dc:title":["An OpenGL backend for Halide"],"dc:type":["Thesis"]},"updated_at":"2026-07-22T22:21:16Z"}