Dependence Graph Preprocessing for Faster Exact Modulo Scheduling in High-Level Synthesis
Modulo scheduling is a key throughput optimisation when compiling for VLIW architectures, which has been applied successfully to high-level synthesis (HLS) of hardware accelerators in the past. However, problem instances in the HLS context usually have larger and denser dependence graphs and may con...
Saved in:
Published in | 2018 28th International Conference on Field Programmable Logic and Applications (FPL) pp. 280 - 2806 |
---|---|
Main Authors | , , , , |
Format | Conference Proceeding |
Language | English |
Published |
IEEE
01.08.2018
|
Subjects | |
Online Access | Get full text |
ISSN | 1946-1488 |
DOI | 10.1109/FPL.2018.00055 |
Cover
Abstract | Modulo scheduling is a key throughput optimisation when compiling for VLIW architectures, which has been applied successfully to high-level synthesis (HLS) of hardware accelerators in the past. However, problem instances in the HLS context usually have larger and denser dependence graphs and may contain many simple operations that are not subject to resource constraints, causing long runtimes with VLIW-centric modulo schedulers. We propose a complexity-reduction approach for existing exact modulo schedulers that retains their ability to compute provably optimal schedules, but shortens their runtime on typical HLS instances. The basic idea is to simplify a problem instance's dependence graph by abstracting entire subgraphs of non-critical operations with a single edge, then schedule this reduced problem comprising only the critical operations. A solution obtained for the reduced problem can be easily completed to a solution for the original problem. Applied to the well-known, originally VLIW-centric, and exact ILP formulation by Eichenberger and Davidson, we show a mean speedup of 4.37x for 21 large instances, which makes it competitive again with the recently proposed, HLS-tailored Moovac formulation. As both formulations show different problem-dependent strengths and weaknesses, these insights are a first step towards an oracle that selects the most promising scheduler for a given problem instance. |
---|---|
AbstractList | Modulo scheduling is a key throughput optimisation when compiling for VLIW architectures, which has been applied successfully to high-level synthesis (HLS) of hardware accelerators in the past. However, problem instances in the HLS context usually have larger and denser dependence graphs and may contain many simple operations that are not subject to resource constraints, causing long runtimes with VLIW-centric modulo schedulers. We propose a complexity-reduction approach for existing exact modulo schedulers that retains their ability to compute provably optimal schedules, but shortens their runtime on typical HLS instances. The basic idea is to simplify a problem instance's dependence graph by abstracting entire subgraphs of non-critical operations with a single edge, then schedule this reduced problem comprising only the critical operations. A solution obtained for the reduced problem can be easily completed to a solution for the original problem. Applied to the well-known, originally VLIW-centric, and exact ILP formulation by Eichenberger and Davidson, we show a mean speedup of 4.37x for 21 large instances, which makes it competitive again with the recently proposed, HLS-tailored Moovac formulation. As both formulations show different problem-dependent strengths and weaknesses, these insights are a first step towards an oracle that selects the most promising scheduler for a given problem instance. |
Author | Sommer, Lukas Oppermann, Julian Sinnen, Oliver Koch, Andreas Reuter-Oppermann, Melanie |
Author_xml | – sequence: 1 givenname: Julian surname: Oppermann fullname: Oppermann, Julian – sequence: 2 givenname: Melanie surname: Reuter-Oppermann fullname: Reuter-Oppermann, Melanie – sequence: 3 givenname: Lukas surname: Sommer fullname: Sommer, Lukas – sequence: 4 givenname: Oliver surname: Sinnen fullname: Sinnen, Oliver – sequence: 5 givenname: Andreas surname: Koch fullname: Koch, Andreas |
BookMark | eNotzE9PwjAcxvFqNBGRqxcvfQPDdv1_NMjAZEYS9OCJlPY3VoPd0k4j716Inp7v4ZPnGl3ELgJCt5RMKSXmvlrV05JQPSWECHGGJkZpKpiWWlDFz9GIGi4LyrW-QpOcP8jJcaWFHKH3R-gheogO8CLZvsWrBH3qHOQc4g43XcKVzQMkPP-xbsDPnf_ad3jtWjjGiYSIl2HXFjV8wx6vD3FoIYd8gy4bu88w-d8xeqvmr7NlUb8snmYPdRGoEkPRMGe0LSX3lnvNhfOylMaUdOuN2irHVeO5JEw6T7xjTCglGg8WLGPGWcXG6O7vNwDApk_h06bDRosjJYb9AqAcVJU |
CODEN | IEEPAD |
ContentType | Conference Proceeding |
DBID | 6IE 6IL CBEJK RIE RIL |
DOI | 10.1109/FPL.2018.00055 |
DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume IEEE Xplore All Conference Proceedings IEEE Xplore IEEE Proceedings Order Plans (POP All) 1998-Present |
DatabaseTitleList | |
Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/ sourceTypes: Publisher |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Engineering |
EISBN | 9781538685174 1538685175 |
EISSN | 1946-1488 |
EndPage | 2806 |
ExternalDocumentID | 8533509 |
Genre | orig-research |
GroupedDBID | 6IE 6IF 6IL 6IN AAJGR AAWTH ABLEC ALMA_UNASSIGNED_HOLDINGS BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK IEGSK OCL RIB RIC RIE RIL |
ID | FETCH-LOGICAL-i175t-f3c98a264da4d845cd6269921bd97b7c47fd46036cd0dc335775fdeaea339ca73 |
IEDL.DBID | RIE |
IngestDate | Wed Aug 27 02:49:53 EDT 2025 |
IsPeerReviewed | false |
IsScholarly | false |
Language | English |
LinkModel | DirectLink |
MergedId | FETCHMERGED-LOGICAL-i175t-f3c98a264da4d845cd6269921bd97b7c47fd46036cd0dc335775fdeaea339ca73 |
PageCount | 2527 |
ParticipantIDs | ieee_primary_8533509 |
PublicationCentury | 2000 |
PublicationDate | 2018-Aug |
PublicationDateYYYYMMDD | 2018-08-01 |
PublicationDate_xml | – month: 08 year: 2018 text: 2018-Aug |
PublicationDecade | 2010 |
PublicationTitle | 2018 28th International Conference on Field Programmable Logic and Applications (FPL) |
PublicationTitleAbbrev | FPL |
PublicationYear | 2018 |
Publisher | IEEE |
Publisher_xml | – name: IEEE |
SSID | ssj0000547856 ssj0002683745 |
Score | 1.6860543 |
Snippet | Modulo scheduling is a key throughput optimisation when compiling for VLIW architectures, which has been applied successfully to high-level synthesis (HLS) of... |
SourceID | ieee |
SourceType | Publisher |
StartPage | 280 |
SubjectTerms | complexity reduction Delays high level synthesis modulo scheduling Optimal scheduling Processor scheduling Runtime Schedules Throughput VLIW |
Title | Dependence Graph Preprocessing for Faster Exact Modulo Scheduling in High-Level Synthesis |
URI | https://ieeexplore.ieee.org/document/8533509 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1NS8NAEF1qT3rxoxW_2YNH0ybdbJI9a6NIK4VaqKeyn1KUpNgU1F_vTBJrEQ_ekrALm50k83bz3htCLiPB48AkzJNSGA_wrQ_vHHwMLRMujKRSvCzaN3yI7ibh_ZRPG-RqrYWx1pbkM9vBw_Jfvsn1CrfKupBaGEe13hY8ZpVWa72f4qMxVe0Lg-e9CJZeIa99GgNfdNPRAKlcyJ30Udm3UU2lTCbpLhl-D6PikLx0VoXq6M9fDo3_Heceaf_I9uhonZD2ScNmB2Rnw3GwRZ5u6qK30PQWvaqhg11UYgFoQAHC0lSieQLtv0td0GFuVq85HUNsDZLWn-k8o0gO8QZIN6Ljjwwg5HK-bJNJ2n-8vvPq6greHCBD4TmmRSIBDxkZmiTk2sDaRoheoIyIVazD2JkwggSnjW803FAcc2estJIxoWXMDkkzyzN7RCjAHOjrEoM61Qh6B045ptCdzriA8WPSwkmaLSoDjVk9Pyd_Xz4l2ximimV3RprF28qeQ-Yv1EUZ8i8A4KyM |
linkProvider | IEEE |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3PT4MwFG4WPagXf2zG3_bgUTZYKdCzDqfCsmRbMk9LaYtZNGxxLFH_et8DnIvx4A1Im5S-wPvaft_3CLnyBPcdHTBLSqEtwLc2fHPwMzRMpK4nk4QXRfvintcduQ9jPq6R65UWxhhTkM9MEy-Ls3w9U0vcKmtBamEc1XqbkPddXqq1VjsqNlpTVc4weN_2YPHl8sqp0bFFK-xHSOZC9qSN2r61eipFOgl3Sfw9kJJF8tJc5klTff7yaPzvSPdI40e4R_urlLRPaiY7IDtrnoN18nRblb2FpnfoVg0dzLyUC0ADCiCWhhLtE2jnXaqcxjO9fJ3RAURXI239mU4zivQQK0LCER18ZAAiF9NFg4zCzvCma1X1FawpgIbcSpkSgQREpKWrA5crDasbIdpOooWf-Mr1U-16kOKUtrWCF_J9nmojjWRMKOmzQ7KRzTJzRCgAHeibBhqVqh70dtIkZQn60-nUYfyY1HGSJvPSQmNSzc_J348vyVZ3GEeT6L73eEq2MWQl5-6MbORvS3MOOCBPLorwfwE5Ta_Z |
openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2018+28th+International+Conference+on+Field+Programmable+Logic+and+Applications+%28FPL%29&rft.atitle=Dependence+Graph+Preprocessing+for+Faster+Exact+Modulo+Scheduling+in+High-Level+Synthesis&rft.au=Oppermann%2C+Julian&rft.au=Reuter-Oppermann%2C+Melanie&rft.au=Sommer%2C+Lukas&rft.au=Sinnen%2C+Oliver&rft.date=2018-08-01&rft.pub=IEEE&rft.eissn=1946-1488&rft.spage=280&rft.epage=2806&rft_id=info:doi/10.1109%2FFPL.2018.00055&rft.externalDocID=8533509 |