Multithreaded pipeline synthesis for data-parallel kernels
Pipelining is an important technique in high-level synthesis, which overlaps the execution of successive loop iterations or threads to achieve high throughput for loop/function kernels. Since existing pipelining techniques typically enforce in-order thread execution, a variable-latency operation in...
Saved in:
Published in | 2014 IEEE/ACM International Conference on Computer-Aided Design (ICCAD) pp. 718 - 725 |
---|---|
Main Authors | , , , |
Format | Conference Proceeding |
Language | English |
Published |
IEEE
01.11.2014
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Abstract | Pipelining is an important technique in high-level synthesis, which overlaps the execution of successive loop iterations or threads to achieve high throughput for loop/function kernels. Since existing pipelining techniques typically enforce in-order thread execution, a variable-latency operation in one thread would block all subsequent threads, resulting in considerable performance degradation. In this paper, we propose a multithreaded pipelining approach that enables context switching to allow out-of-order thread execution for data-parallel kernels. To ensure that the synthesized pipeline is complexity effective, we further propose efficient scheduling algorithms for minimizing the hardware overhead associated with context management. Experimental results show that our proposed techniques can significantly improve the effective pipeline throughput over conventional approaches while conserving hardware resources. |
---|---|
AbstractList | Pipelining is an important technique in high-level synthesis, which overlaps the execution of successive loop iterations or threads to achieve high throughput for loop/function kernels. Since existing pipelining techniques typically enforce in-order thread execution, a variable-latency operation in one thread would block all subsequent threads, resulting in considerable performance degradation. In this paper, we propose a multithreaded pipelining approach that enables context switching to allow out-of-order thread execution for data-parallel kernels. To ensure that the synthesized pipeline is complexity effective, we further propose efficient scheduling algorithms for minimizing the hardware overhead associated with context management. Experimental results show that our proposed techniques can significantly improve the effective pipeline throughput over conventional approaches while conserving hardware resources. |
Author | Bin Liu Dai, Steve Zhiru Zhang Mingxing Tan |
Author_xml | – sequence: 1 surname: Mingxing Tan fullname: Mingxing Tan email: mingxing.tan@cornell.edu organization: Sch. of Electr. & Comput. Eng., Cornell Univ., Ithaca, NY, USA – sequence: 2 surname: Bin Liu fullname: Bin Liu email: binliu@fb.com organization: Facebook, Inc., Menlo Park, CA, USA – sequence: 3 givenname: Steve surname: Dai fullname: Dai, Steve email: stevedai@csl.cornell.edu organization: Sch. of Electr. & Comput. Eng., Cornell Univ., Ithaca, NY, USA – sequence: 4 surname: Zhiru Zhang fullname: Zhiru Zhang email: zhiruz@cornell.edu organization: Sch. of Electr. & Comput. Eng., Cornell Univ., Ithaca, NY, USA |
BookMark | eNotj8tOwzAQRQ0qEm3pD8AmP5AwM7Zjm10VXpWK2HRfuc1ENZg0ssOif08lurnnrI50Z2LSH3sW4h6hQgT3uGqa5XNFgKoycF6JV2LhjEVlnKvJWH0tpqi1LUlJNTk7OColaroVs5y_AAjI1lPx9PEbxzAeEvuW22IIA8fQc5FP_XjgHHLRHVPR-tGXg08-Ro7FN6eeY74TN52PmRcXzsXm9WXTvJfrz7dVs1yXwcFYesOuVZYs6FbuFEotdb0Drp227LDbIymnoTbWEO5VS9w5lESSlQTHXs7Fw382MPN2SOHHp9P28lr-AclZSho |
ContentType | Conference Proceeding |
DBID | 6IE 6IH CBEJK RIE RIO |
DOI | 10.1109/ICCAD.2014.7001431 |
DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Proceedings Order Plan (POP) 1998-present by volume IEEE Xplore All Conference Proceedings IEEE/IET Electronic Library IEEE Proceedings Order Plans (POP) 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 | 9781479962785 1479962783 |
EISSN | 1558-2434 |
EndPage | 725 |
ExternalDocumentID | 7001431 |
Genre | orig-research |
GroupedDBID | 123 6IE 6IF 6IH 6IL 6IN ABLEC ACGFS ACM ADZIZ ALMA_UNASSIGNED_HOLDINGS APO BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK CHZPO IEGSK IJVOP M43 OCL RIE RIL RIO |
ID | FETCH-LOGICAL-i90t-a7e9d482805d3b4135356b0e6958e91fc124950678721c4d2ef913223e4309ea3 |
IEDL.DBID | RIE |
ISSN | 1092-3152 |
IngestDate | Wed Jun 26 19:23:38 EDT 2024 |
IsPeerReviewed | false |
IsScholarly | false |
Language | English |
LinkModel | DirectLink |
MergedId | FETCHMERGED-LOGICAL-i90t-a7e9d482805d3b4135356b0e6958e91fc124950678721c4d2ef913223e4309ea3 |
PageCount | 8 |
ParticipantIDs | ieee_primary_7001431 |
PublicationCentury | 2000 |
PublicationDate | 2014-Nov. |
PublicationDateYYYYMMDD | 2014-11-01 |
PublicationDate_xml | – month: 11 year: 2014 text: 2014-Nov. |
PublicationDecade | 2010 |
PublicationTitle | 2014 IEEE/ACM International Conference on Computer-Aided Design (ICCAD) |
PublicationTitleAbbrev | ICCAD |
PublicationYear | 2014 |
Publisher | IEEE |
Publisher_xml | – name: IEEE |
SSID | ssj0020286 |
Score | 1.6680104 |
Snippet | Pipelining is an important technique in high-level synthesis, which overlaps the execution of successive loop iterations or threads to achieve high throughput... |
SourceID | ieee |
SourceType | Publisher |
StartPage | 718 |
SubjectTerms | Context Instruction sets Kernel Pipeline processing Schedules Switches Throughput |
Title | Multithreaded pipeline synthesis for data-parallel kernels |
URI | https://ieeexplore.ieee.org/document/7001431 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV07b8IwELYoU7v0AVXfytCxCSa2k7grKqKVqDpQiQ35cUgIFBCEgf763iVAH-rQLbIiy_YN3332fd8xdo9JBMIE3X85KZCgeBsanplwLGyqFKQJL730-q9J712-DNWwxh72WhgAKIvPIKLP8i3fz92arspa9EYqSTR9kPG40mrtyRXiZKkk4ppM-FS8E8hw3Xru4K6oiktG2xl-tFIpkaR7zPq7NVQFJNNoXdjIffyyZ_zvIk9Y80uzF7zt0eiU1SA_Y0ff7AYb7LFS22L0jAcfLCYLEqNDsNrkmAauJqsAM9iAakZDcgSfzWAWTGGZI3w22aD7NOj0wm3vhHCieRGaFLSXyKa48sJKam6hEssh0SoD3R67suc0IRUyQCd9DGNNvFSAFFyDEeesns9zuGCBtgnSHtsGY9rSZMKqNHZOYPDxb5GIS9agQxgtKneM0Xb_V38PX7NDCkSl5rth9WK5hluE9cLelfH8BOPQnsg |
link.rule.ids | 310,311,786,790,795,796,802,27956,55107 |
linkProvider | IEEE |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV09b8IwED0hOrRd-gFVv5uhYwMG2wnuioqgBdSBSmzITg4JgQKCMLS_vncJ0A916BZZkWX7hnfPvvcO4J6SCIIJvv-KlCSCEjvfiob1x9KFWmMYiMxLr9cP2m_qeaiHBXjYaWEQMSs-wwp_Zm_58Txa81VZld9IFYum9wjnRZirtXb0ipAy0xIJwzZ8ur6VyAhT7TRpX1zHpSqbOX40U8mwpHUEve0q8hKSaWWdukr08cug8b_LPIbyl2rPe93h0QkUMDmFw2-GgyV4zPW2FD8bY-wtJguWo6O3ek8oEVxNVh7lsB5XjfrsCT6b4cyb4jIhAC3DoPU0aLb9TfcEf2JE6tsQTayITwkdS6e4vYUOnMDA6Aaa2jjKuk4zVhEHjFRcx7FhZipRSWHQyjMoJvMEz8EzLiDi42pobU3ZhnQ6rEeRpPDT3zKQF1DiQxgtcn-M0Wb_l38P38F-e9Drjrqd_ssVHHBQcm3fNRTT5RpvCORTd5vF9hN2dqIc |
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=2014+IEEE%2FACM+International+Conference+on+Computer-Aided+Design+%28ICCAD%29&rft.atitle=Multithreaded+pipeline+synthesis+for+data-parallel+kernels&rft.au=Mingxing+Tan&rft.au=Bin+Liu&rft.au=Dai%2C+Steve&rft.au=Zhiru+Zhang&rft.date=2014-11-01&rft.pub=IEEE&rft.issn=1092-3152&rft.eissn=1558-2434&rft.spage=718&rft.epage=725&rft_id=info:doi/10.1109%2FICCAD.2014.7001431&rft.externalDocID=7001431 |
thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1092-3152&client=summon |
thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1092-3152&client=summon |
thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1092-3152&client=summon |