Loading…
Learning to optimize halide with tree search and random programs
We present a new algorithm to automatically schedule Halide programs for high-performance image processing and deep learning. We significantly improve upon the performance of previous methods, which considered a limited subset of schedules. We define a parameterization of possible schedules much lar...
Saved in:
Published in: | ACM transactions on graphics 2019-07, Vol.38 (4), p.1-12 |
---|---|
Main Authors: | , , , , , , , , , , |
Format: | Article |
Language: | English |
Citations: | Items that this one cites Items that cite this one |
Online Access: | Get full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
cited_by | cdi_FETCH-LOGICAL-c335t-c1d3dedc2dbc649027292ce0173341965160196b5af9c8773631b77f9f5cf25c3 |
---|---|
cites | cdi_FETCH-LOGICAL-c335t-c1d3dedc2dbc649027292ce0173341965160196b5af9c8773631b77f9f5cf25c3 |
container_end_page | 12 |
container_issue | 4 |
container_start_page | 1 |
container_title | ACM transactions on graphics |
container_volume | 38 |
creator | Adams, Andrew Ma, Karima Anderson, Luke Baghdadi, Riyadh Li, Tzu-Mao Gharbi, Michaël Steiner, Benoit Johnson, Steven Fatahalian, Kayvon Durand, Frédo Ragan-Kelley, Jonathan |
description | We present a new algorithm to automatically schedule Halide programs for high-performance image processing and deep learning. We significantly improve upon the performance of previous methods, which considered a limited subset of schedules. We define a parameterization of possible schedules much larger than prior methods and use a variant of beam search to search over it. The search optimizes runtime predicted by a cost model based on a combination of new derived features and machine learning. We train the cost model by generating and featurizing hundreds of thousands of random programs and schedules. We show that this approach operates effectively with or without autotuning. It produces schedules which are on average almost twice as fast as the existing Halide autoscheduler without autotuning, or more than twice as fast with, and is the first automatic scheduling algorithm to significantly outperform human experts on average. |
doi_str_mv | 10.1145/3306346.3322967 |
format | article |
fullrecord | <record><control><sourceid>crossref</sourceid><recordid>TN_cdi_crossref_primary_10_1145_3306346_3322967</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>10_1145_3306346_3322967</sourcerecordid><originalsourceid>FETCH-LOGICAL-c335t-c1d3dedc2dbc649027292ce0173341965160196b5af9c8773631b77f9f5cf25c3</originalsourceid><addsrcrecordid>eNotkEtLxDAUhYMoWEfXbvMHOnOTm8d0pwzqCAU3ui5pHtPI9EFSEP31VuzmfJvD4fARcs9gy5iQO0RQKNQWkfNK6QtSMCl1qVHtL0kBGqEEBHZNbnL-BAAlhCrIQ-1NGuJwovNIx2mOffzxtDPn6Dz9inNH5-Q9zUvLdtQMjqYlxp5OaTwl0-dbchXMOfu7lRvy8fz0fjiW9dvL6-GxLi2inEvLHDrvLHetVaICrnnFrQemEQWrlGQKFrTShMru9fIaWat1qIK0gUuLG7L737VpzDn50Ewp9iZ9NwyaPwHNKqBZBeAv_g1M5Q</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Learning to optimize halide with tree search and random programs</title><source>Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list)</source><creator>Adams, Andrew ; Ma, Karima ; Anderson, Luke ; Baghdadi, Riyadh ; Li, Tzu-Mao ; Gharbi, Michaël ; Steiner, Benoit ; Johnson, Steven ; Fatahalian, Kayvon ; Durand, Frédo ; Ragan-Kelley, Jonathan</creator><creatorcontrib>Adams, Andrew ; Ma, Karima ; Anderson, Luke ; Baghdadi, Riyadh ; Li, Tzu-Mao ; Gharbi, Michaël ; Steiner, Benoit ; Johnson, Steven ; Fatahalian, Kayvon ; Durand, Frédo ; Ragan-Kelley, Jonathan</creatorcontrib><description>We present a new algorithm to automatically schedule Halide programs for high-performance image processing and deep learning. We significantly improve upon the performance of previous methods, which considered a limited subset of schedules. We define a parameterization of possible schedules much larger than prior methods and use a variant of beam search to search over it. The search optimizes runtime predicted by a cost model based on a combination of new derived features and machine learning. We train the cost model by generating and featurizing hundreds of thousands of random programs and schedules. We show that this approach operates effectively with or without autotuning. It produces schedules which are on average almost twice as fast as the existing Halide autoscheduler without autotuning, or more than twice as fast with, and is the first automatic scheduling algorithm to significantly outperform human experts on average.</description><identifier>ISSN: 0730-0301</identifier><identifier>EISSN: 1557-7368</identifier><identifier>DOI: 10.1145/3306346.3322967</identifier><language>eng</language><ispartof>ACM transactions on graphics, 2019-07, Vol.38 (4), p.1-12</ispartof><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c335t-c1d3dedc2dbc649027292ce0173341965160196b5af9c8773631b77f9f5cf25c3</citedby><cites>FETCH-LOGICAL-c335t-c1d3dedc2dbc649027292ce0173341965160196b5af9c8773631b77f9f5cf25c3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,27924,27925</link.rule.ids></links><search><creatorcontrib>Adams, Andrew</creatorcontrib><creatorcontrib>Ma, Karima</creatorcontrib><creatorcontrib>Anderson, Luke</creatorcontrib><creatorcontrib>Baghdadi, Riyadh</creatorcontrib><creatorcontrib>Li, Tzu-Mao</creatorcontrib><creatorcontrib>Gharbi, Michaël</creatorcontrib><creatorcontrib>Steiner, Benoit</creatorcontrib><creatorcontrib>Johnson, Steven</creatorcontrib><creatorcontrib>Fatahalian, Kayvon</creatorcontrib><creatorcontrib>Durand, Frédo</creatorcontrib><creatorcontrib>Ragan-Kelley, Jonathan</creatorcontrib><title>Learning to optimize halide with tree search and random programs</title><title>ACM transactions on graphics</title><description>We present a new algorithm to automatically schedule Halide programs for high-performance image processing and deep learning. We significantly improve upon the performance of previous methods, which considered a limited subset of schedules. We define a parameterization of possible schedules much larger than prior methods and use a variant of beam search to search over it. The search optimizes runtime predicted by a cost model based on a combination of new derived features and machine learning. We train the cost model by generating and featurizing hundreds of thousands of random programs and schedules. We show that this approach operates effectively with or without autotuning. It produces schedules which are on average almost twice as fast as the existing Halide autoscheduler without autotuning, or more than twice as fast with, and is the first automatic scheduling algorithm to significantly outperform human experts on average.</description><issn>0730-0301</issn><issn>1557-7368</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2019</creationdate><recordtype>article</recordtype><recordid>eNotkEtLxDAUhYMoWEfXbvMHOnOTm8d0pwzqCAU3ui5pHtPI9EFSEP31VuzmfJvD4fARcs9gy5iQO0RQKNQWkfNK6QtSMCl1qVHtL0kBGqEEBHZNbnL-BAAlhCrIQ-1NGuJwovNIx2mOffzxtDPn6Dz9inNH5-Q9zUvLdtQMjqYlxp5OaTwl0-dbchXMOfu7lRvy8fz0fjiW9dvL6-GxLi2inEvLHDrvLHetVaICrnnFrQemEQWrlGQKFrTShMru9fIaWat1qIK0gUuLG7L737VpzDn50Ewp9iZ9NwyaPwHNKqBZBeAv_g1M5Q</recordid><startdate>20190701</startdate><enddate>20190701</enddate><creator>Adams, Andrew</creator><creator>Ma, Karima</creator><creator>Anderson, Luke</creator><creator>Baghdadi, Riyadh</creator><creator>Li, Tzu-Mao</creator><creator>Gharbi, Michaël</creator><creator>Steiner, Benoit</creator><creator>Johnson, Steven</creator><creator>Fatahalian, Kayvon</creator><creator>Durand, Frédo</creator><creator>Ragan-Kelley, Jonathan</creator><scope>AAYXX</scope><scope>CITATION</scope></search><sort><creationdate>20190701</creationdate><title>Learning to optimize halide with tree search and random programs</title><author>Adams, Andrew ; Ma, Karima ; Anderson, Luke ; Baghdadi, Riyadh ; Li, Tzu-Mao ; Gharbi, Michaël ; Steiner, Benoit ; Johnson, Steven ; Fatahalian, Kayvon ; Durand, Frédo ; Ragan-Kelley, Jonathan</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c335t-c1d3dedc2dbc649027292ce0173341965160196b5af9c8773631b77f9f5cf25c3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2019</creationdate><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Adams, Andrew</creatorcontrib><creatorcontrib>Ma, Karima</creatorcontrib><creatorcontrib>Anderson, Luke</creatorcontrib><creatorcontrib>Baghdadi, Riyadh</creatorcontrib><creatorcontrib>Li, Tzu-Mao</creatorcontrib><creatorcontrib>Gharbi, Michaël</creatorcontrib><creatorcontrib>Steiner, Benoit</creatorcontrib><creatorcontrib>Johnson, Steven</creatorcontrib><creatorcontrib>Fatahalian, Kayvon</creatorcontrib><creatorcontrib>Durand, Frédo</creatorcontrib><creatorcontrib>Ragan-Kelley, Jonathan</creatorcontrib><collection>CrossRef</collection><jtitle>ACM transactions on graphics</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Adams, Andrew</au><au>Ma, Karima</au><au>Anderson, Luke</au><au>Baghdadi, Riyadh</au><au>Li, Tzu-Mao</au><au>Gharbi, Michaël</au><au>Steiner, Benoit</au><au>Johnson, Steven</au><au>Fatahalian, Kayvon</au><au>Durand, Frédo</au><au>Ragan-Kelley, Jonathan</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Learning to optimize halide with tree search and random programs</atitle><jtitle>ACM transactions on graphics</jtitle><date>2019-07-01</date><risdate>2019</risdate><volume>38</volume><issue>4</issue><spage>1</spage><epage>12</epage><pages>1-12</pages><issn>0730-0301</issn><eissn>1557-7368</eissn><abstract>We present a new algorithm to automatically schedule Halide programs for high-performance image processing and deep learning. We significantly improve upon the performance of previous methods, which considered a limited subset of schedules. We define a parameterization of possible schedules much larger than prior methods and use a variant of beam search to search over it. The search optimizes runtime predicted by a cost model based on a combination of new derived features and machine learning. We train the cost model by generating and featurizing hundreds of thousands of random programs and schedules. We show that this approach operates effectively with or without autotuning. It produces schedules which are on average almost twice as fast as the existing Halide autoscheduler without autotuning, or more than twice as fast with, and is the first automatic scheduling algorithm to significantly outperform human experts on average.</abstract><doi>10.1145/3306346.3322967</doi><tpages>12</tpages><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0730-0301 |
ispartof | ACM transactions on graphics, 2019-07, Vol.38 (4), p.1-12 |
issn | 0730-0301 1557-7368 |
language | eng |
recordid | cdi_crossref_primary_10_1145_3306346_3322967 |
source | Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list) |
title | Learning to optimize halide with tree search and random programs |
url | http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-07T15%3A03%3A24IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-crossref&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Learning%20to%20optimize%20halide%20with%20tree%20search%20and%20random%20programs&rft.jtitle=ACM%20transactions%20on%20graphics&rft.au=Adams,%20Andrew&rft.date=2019-07-01&rft.volume=38&rft.issue=4&rft.spage=1&rft.epage=12&rft.pages=1-12&rft.issn=0730-0301&rft.eissn=1557-7368&rft_id=info:doi/10.1145/3306346.3322967&rft_dat=%3Ccrossref%3E10_1145_3306346_3322967%3C/crossref%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c335t-c1d3dedc2dbc649027292ce0173341965160196b5af9c8773631b77f9f5cf25c3%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true |