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

Full description

Saved in:
Bibliographic Details
Published in2014 IEEE/ACM International Conference on Computer-Aided Design (ICCAD) pp. 718 - 725
Main Authors Mingxing Tan, Bin Liu, Dai, Steve, Zhiru Zhang
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.11.2014
Subjects
Online AccessGet 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