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...

Full description

Saved in:
Bibliographic Details
Published in:ACM transactions on graphics 2019-07, Vol.38 (4), p.1-12
Main Authors: 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
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