An Effective Automatic Memory Allocation Algorithm Based on Schedule Length in a Novel C to FPGA Compiler

A significant challenge in designing algorithms for FPGA-based reconfigurable computers is the exposed, non-cached memory subsystem. In the absence of dedicated hardware to manage a cached memory hierarchy, the algorithm designer must explicitly allocate data within a collection of memory banks, and...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Peterson, Kristopher D., Tripp, Justin L.
Format: Tagungsbericht
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 748
container_issue
container_start_page 745
container_title
container_volume
creator Peterson, Kristopher D.
Tripp, Justin L.
description A significant challenge in designing algorithms for FPGA-based reconfigurable computers is the exposed, non-cached memory subsystem. In the absence of dedicated hardware to manage a cached memory hierarchy, the algorithm designer must explicitly allocate data within a collection of memory banks, and schedule access to the memories in the algorithm's datapaths. The physical location in memory affects the datapath schedule, yet data dependencies in the algorithm can suggest allocation strategies to increase instruction level parallelism. In this work, we present three algorithms that automatically allocate arrays to memory banks and schedule datapaths that use those memories. Our algorithm allows the user to trade-off optimal results versus longer iterative analysis.
doi_str_mv 10.1109/FPL.2007.4380759
format Conference Proceeding
fullrecord <record><control><sourceid>ieee_6IE</sourceid><recordid>TN_cdi_ieee_primary_4380759</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>4380759</ieee_id><sourcerecordid>4380759</sourcerecordid><originalsourceid>FETCH-LOGICAL-i175t-ac504ef611f5fe59e4640defef1b72f1608160b423f4de1c0415aaadd6151d883</originalsourceid><addsrcrecordid>eNo9UEtLw0AYXF9grb0LXvYPpO6X7CM5xtBWIWpBBW9lm_22XUmyJdkW-u8NWDowzDADcxhCHoBNAVj2NF-W05gxNeVJypTILsgd8JhzYJLJSzKCjMsIeJpenQuRxdfnQv3ckknf_7IBScYVVyPi8pbOrMUquAPSfB98o4Or6Bs2vjvSvK59NQS-HezGdy5sG_qsezR0iD6rLZp9jbTEdhO21LVU03d_wJoWNHg6Xy5yWvhm52rs7smN1XWPk5OOyfd89lW8ROXH4rXIy8iBEiHSlWAcrQSwwqLIkEvODFq0sFaxBcnSgWseJ5YbhIpxEFprYyQIMGmajMnj_65DxNWuc43ujqvTZckfmtFawQ</addsrcrecordid><sourcetype>Publisher</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype></control><display><type>conference_proceeding</type><title>An Effective Automatic Memory Allocation Algorithm Based on Schedule Length in a Novel C to FPGA Compiler</title><source>IEEE Electronic Library (IEL) Conference Proceedings</source><creator>Peterson, Kristopher D. ; Tripp, Justin L.</creator><creatorcontrib>Peterson, Kristopher D. ; Tripp, Justin L.</creatorcontrib><description>A significant challenge in designing algorithms for FPGA-based reconfigurable computers is the exposed, non-cached memory subsystem. In the absence of dedicated hardware to manage a cached memory hierarchy, the algorithm designer must explicitly allocate data within a collection of memory banks, and schedule access to the memories in the algorithm's datapaths. The physical location in memory affects the datapath schedule, yet data dependencies in the algorithm can suggest allocation strategies to increase instruction level parallelism. In this work, we present three algorithms that automatically allocate arrays to memory banks and schedule datapaths that use those memories. Our algorithm allows the user to trade-off optimal results versus longer iterative analysis.</description><identifier>ISSN: 1946-147X</identifier><identifier>ISBN: 1424410592</identifier><identifier>ISBN: 9781424410590</identifier><identifier>EISSN: 1946-1488</identifier><identifier>EISBN: 1424410606</identifier><identifier>EISBN: 9781424410606</identifier><identifier>DOI: 10.1109/FPL.2007.4380759</identifier><language>eng</language><publisher>IEEE</publisher><subject>Algorithm design and analysis ; Circuits ; Design automation ; Field programmable gate arrays ; Hardware ; Iterative algorithms ; Memory management ; Parallel processing ; Processor scheduling ; Scheduling algorithm</subject><ispartof>2007 International Conference on Field Programmable Logic and Applications, 2007, p.745-748</ispartof><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/4380759$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>309,310,780,784,789,790,2056,27923,54918</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/4380759$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Peterson, Kristopher D.</creatorcontrib><creatorcontrib>Tripp, Justin L.</creatorcontrib><title>An Effective Automatic Memory Allocation Algorithm Based on Schedule Length in a Novel C to FPGA Compiler</title><title>2007 International Conference on Field Programmable Logic and Applications</title><addtitle>FPL</addtitle><description>A significant challenge in designing algorithms for FPGA-based reconfigurable computers is the exposed, non-cached memory subsystem. In the absence of dedicated hardware to manage a cached memory hierarchy, the algorithm designer must explicitly allocate data within a collection of memory banks, and schedule access to the memories in the algorithm's datapaths. The physical location in memory affects the datapath schedule, yet data dependencies in the algorithm can suggest allocation strategies to increase instruction level parallelism. In this work, we present three algorithms that automatically allocate arrays to memory banks and schedule datapaths that use those memories. Our algorithm allows the user to trade-off optimal results versus longer iterative analysis.</description><subject>Algorithm design and analysis</subject><subject>Circuits</subject><subject>Design automation</subject><subject>Field programmable gate arrays</subject><subject>Hardware</subject><subject>Iterative algorithms</subject><subject>Memory management</subject><subject>Parallel processing</subject><subject>Processor scheduling</subject><subject>Scheduling algorithm</subject><issn>1946-147X</issn><issn>1946-1488</issn><isbn>1424410592</isbn><isbn>9781424410590</isbn><isbn>1424410606</isbn><isbn>9781424410606</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>2007</creationdate><recordtype>conference_proceeding</recordtype><sourceid>6IE</sourceid><sourceid>RIE</sourceid><recordid>eNo9UEtLw0AYXF9grb0LXvYPpO6X7CM5xtBWIWpBBW9lm_22XUmyJdkW-u8NWDowzDADcxhCHoBNAVj2NF-W05gxNeVJypTILsgd8JhzYJLJSzKCjMsIeJpenQuRxdfnQv3ckknf_7IBScYVVyPi8pbOrMUquAPSfB98o4Or6Bs2vjvSvK59NQS-HezGdy5sG_qsezR0iD6rLZp9jbTEdhO21LVU03d_wJoWNHg6Xy5yWvhm52rs7smN1XWPk5OOyfd89lW8ROXH4rXIy8iBEiHSlWAcrQSwwqLIkEvODFq0sFaxBcnSgWseJ5YbhIpxEFprYyQIMGmajMnj_65DxNWuc43ujqvTZckfmtFawQ</recordid><startdate>200708</startdate><enddate>200708</enddate><creator>Peterson, Kristopher D.</creator><creator>Tripp, Justin L.</creator><general>IEEE</general><scope>6IE</scope><scope>6IL</scope><scope>CBEJK</scope><scope>RIE</scope><scope>RIL</scope></search><sort><creationdate>200708</creationdate><title>An Effective Automatic Memory Allocation Algorithm Based on Schedule Length in a Novel C to FPGA Compiler</title><author>Peterson, Kristopher D. ; Tripp, Justin L.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-i175t-ac504ef611f5fe59e4640defef1b72f1608160b423f4de1c0415aaadd6151d883</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>2007</creationdate><topic>Algorithm design and analysis</topic><topic>Circuits</topic><topic>Design automation</topic><topic>Field programmable gate arrays</topic><topic>Hardware</topic><topic>Iterative algorithms</topic><topic>Memory management</topic><topic>Parallel processing</topic><topic>Processor scheduling</topic><topic>Scheduling algorithm</topic><toplevel>online_resources</toplevel><creatorcontrib>Peterson, Kristopher D.</creatorcontrib><creatorcontrib>Tripp, Justin L.</creatorcontrib><collection>IEEE Electronic Library (IEL) Conference Proceedings</collection><collection>IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume</collection><collection>IEEE Xplore All Conference Proceedings</collection><collection>IEEE Electronic Library (IEL)</collection><collection>IEEE Proceedings Order Plans (POP All) 1998-Present</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Peterson, Kristopher D.</au><au>Tripp, Justin L.</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>An Effective Automatic Memory Allocation Algorithm Based on Schedule Length in a Novel C to FPGA Compiler</atitle><btitle>2007 International Conference on Field Programmable Logic and Applications</btitle><stitle>FPL</stitle><date>2007-08</date><risdate>2007</risdate><spage>745</spage><epage>748</epage><pages>745-748</pages><issn>1946-147X</issn><eissn>1946-1488</eissn><isbn>1424410592</isbn><isbn>9781424410590</isbn><eisbn>1424410606</eisbn><eisbn>9781424410606</eisbn><abstract>A significant challenge in designing algorithms for FPGA-based reconfigurable computers is the exposed, non-cached memory subsystem. In the absence of dedicated hardware to manage a cached memory hierarchy, the algorithm designer must explicitly allocate data within a collection of memory banks, and schedule access to the memories in the algorithm's datapaths. The physical location in memory affects the datapath schedule, yet data dependencies in the algorithm can suggest allocation strategies to increase instruction level parallelism. In this work, we present three algorithms that automatically allocate arrays to memory banks and schedule datapaths that use those memories. Our algorithm allows the user to trade-off optimal results versus longer iterative analysis.</abstract><pub>IEEE</pub><doi>10.1109/FPL.2007.4380759</doi><tpages>4</tpages></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 1946-147X
ispartof 2007 International Conference on Field Programmable Logic and Applications, 2007, p.745-748
issn 1946-147X
1946-1488
language eng
recordid cdi_ieee_primary_4380759
source IEEE Electronic Library (IEL) Conference Proceedings
subjects Algorithm design and analysis
Circuits
Design automation
Field programmable gate arrays
Hardware
Iterative algorithms
Memory management
Parallel processing
Processor scheduling
Scheduling algorithm
title An Effective Automatic Memory Allocation Algorithm Based on Schedule Length in a Novel C to FPGA Compiler
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-10T05%3A47%3A59IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-ieee_6IE&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=An%20Effective%20Automatic%20Memory%20Allocation%20Algorithm%20Based%20on%20Schedule%20Length%20in%20a%20Novel%20C%20to%20FPGA%20Compiler&rft.btitle=2007%20International%20Conference%20on%20Field%20Programmable%20Logic%20and%20Applications&rft.au=Peterson,%20Kristopher%20D.&rft.date=2007-08&rft.spage=745&rft.epage=748&rft.pages=745-748&rft.issn=1946-147X&rft.eissn=1946-1488&rft.isbn=1424410592&rft.isbn_list=9781424410590&rft_id=info:doi/10.1109/FPL.2007.4380759&rft_dat=%3Cieee_6IE%3E4380759%3C/ieee_6IE%3E%3Curl%3E%3C/url%3E&rft.eisbn=1424410606&rft.eisbn_list=9781424410606&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rft_ieee_id=4380759&rfr_iscdi=true