{"id":"https://openalex.org/W2912880548","doi":"https://doi.org/10.1109/reconfig.2018.8641694","title":"A Composable Workflow for Productive Heterogeneous Computing on FPGAs via Whole-Program Analysis and Transformation","display_name":"A Composable Workflow for Productive Heterogeneous Computing on FPGAs via Whole-Program Analysis and Transformation","publication_year":2018,"publication_date":"2018-12-01","ids":{"openalex":"https://openalex.org/W2912880548","doi":"https://doi.org/10.1109/reconfig.2018.8641694","mag":"2912880548"},"language":"en","primary_location":{"id":"doi:10.1109/reconfig.2018.8641694","is_oa":false,"landing_page_url":"https://doi.org/10.1109/reconfig.2018.8641694","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2018 International Conference on ReConFigurable Computing and FPGAs (ReConFig)","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5026141870","display_name":"Paul Sathre","orcid":null},"institutions":[{"id":"https://openalex.org/I859038795","display_name":"Virginia Tech","ror":"https://ror.org/02smfhw86","country_code":"US","type":"education","lineage":["https://openalex.org/I859038795"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Paul Sathre","raw_affiliation_strings":["Dept. of CS, Virginia Tech"],"affiliations":[{"raw_affiliation_string":"Dept. of CS, Virginia Tech","institution_ids":["https://openalex.org/I859038795"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5090060327","display_name":"Ahmed E. Helal","orcid":null},"institutions":[{"id":"https://openalex.org/I859038795","display_name":"Virginia Tech","ror":"https://ror.org/02smfhw86","country_code":"US","type":"education","lineage":["https://openalex.org/I859038795"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ahmed E. Helal","raw_affiliation_strings":["Dept. of ECE, Virginia Tech"],"affiliations":[{"raw_affiliation_string":"Dept. of ECE, Virginia Tech","institution_ids":["https://openalex.org/I859038795"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5058539554","display_name":"Wu-chun Feng","orcid":"https://orcid.org/0000-0002-6015-0727"},"institutions":[{"id":"https://openalex.org/I859038795","display_name":"Virginia Tech","ror":"https://ror.org/02smfhw86","country_code":"US","type":"education","lineage":["https://openalex.org/I859038795"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Wu-chun Feng","raw_affiliation_strings":["Depts. of CS and ECE, Virginia Tech"],"affiliations":[{"raw_affiliation_string":"Depts. of CS and ECE, Virginia Tech","institution_ids":["https://openalex.org/I859038795"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5026141870"],"corresponding_institution_ids":["https://openalex.org/I859038795"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.19457345,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"8"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11005","display_name":"Radiation Effects in Electronics","score":0.995199978351593,"subfield":{"id":"https://openalex.org/subfields/2208","display_name":"Electrical and Electronic Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11032","display_name":"VLSI and Analog Circuit Testing","score":0.9943000078201294,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8819233179092407},{"id":"https://openalex.org/keywords/workflow","display_name":"Workflow","score":0.7137095928192139},{"id":"https://openalex.org/keywords/cuda","display_name":"CUDA","score":0.6163377165794373},{"id":"https://openalex.org/keywords/symmetric-multiprocessor-system","display_name":"Symmetric multiprocessor system","score":0.5770918130874634},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.55447918176651},{"id":"https://openalex.org/keywords/field-programmable-gate-array","display_name":"Field-programmable gate array","score":0.5420213341712952},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5328816771507263},{"id":"https://openalex.org/keywords/transformation","display_name":"Transformation (genetics)","score":0.47574564814567566},{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.4577135443687439},{"id":"https://openalex.org/keywords/kernel","display_name":"Kernel (algebra)","score":0.44004178047180176},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.40392088890075684},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.32347506284713745},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.28009822964668274},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.212124764919281},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.12596207857131958}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8819233179092407},{"id":"https://openalex.org/C177212765","wikidata":"https://www.wikidata.org/wiki/Q627335","display_name":"Workflow","level":2,"score":0.7137095928192139},{"id":"https://openalex.org/C2778119891","wikidata":"https://www.wikidata.org/wiki/Q477690","display_name":"CUDA","level":2,"score":0.6163377165794373},{"id":"https://openalex.org/C172430144","wikidata":"https://www.wikidata.org/wiki/Q17111997","display_name":"Symmetric multiprocessor system","level":2,"score":0.5770918130874634},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.55447918176651},{"id":"https://openalex.org/C42935608","wikidata":"https://www.wikidata.org/wiki/Q190411","display_name":"Field-programmable gate array","level":2,"score":0.5420213341712952},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5328816771507263},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.47574564814567566},{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.4577135443687439},{"id":"https://openalex.org/C74193536","wikidata":"https://www.wikidata.org/wiki/Q574844","display_name":"Kernel (algebra)","level":2,"score":0.44004178047180176},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.40392088890075684},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.32347506284713745},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.28009822964668274},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.212124764919281},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.12596207857131958},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/reconfig.2018.8641694","is_oa":false,"landing_page_url":"https://doi.org/10.1109/reconfig.2018.8641694","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2018 International Conference on ReConFigurable Computing and FPGAs (ReConFig)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Decent work and economic growth","score":0.41999998688697815,"id":"https://metadata.un.org/sdg/8"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":23,"referenced_works":["https://openalex.org/W148396834","https://openalex.org/W1968432902","https://openalex.org/W1980938256","https://openalex.org/W2022977427","https://openalex.org/W2026448279","https://openalex.org/W2060015579","https://openalex.org/W2065012482","https://openalex.org/W2078994750","https://openalex.org/W2080592089","https://openalex.org/W2087634916","https://openalex.org/W2128120785","https://openalex.org/W2146528052","https://openalex.org/W2149234156","https://openalex.org/W2153506571","https://openalex.org/W2270001852","https://openalex.org/W2399715892","https://openalex.org/W2508088496","https://openalex.org/W2771946537","https://openalex.org/W4249904046","https://openalex.org/W4252691471","https://openalex.org/W6606018955","https://openalex.org/W6712805996","https://openalex.org/W6724739527"],"related_works":["https://openalex.org/W4313549863","https://openalex.org/W2072205733","https://openalex.org/W2052246872","https://openalex.org/W2395465245","https://openalex.org/W2101762871","https://openalex.org/W3176957927","https://openalex.org/W4296534969","https://openalex.org/W3037515626","https://openalex.org/W4394633758","https://openalex.org/W2502510154"],"abstract_inverted_index":{"We":[0],"present":[1],"a":[2,16,25,37,56,78,134,140],"composable":[3],"workflow":[4,13,69,129],"to":[5,29,34,46,60,119],"enable":[6],"highly-productive":[7],"heterogeneous":[8,74,81],"computing":[9,82],"on":[10,108],"FPGAs.":[11],"The":[12,68,111,125],"consists":[14],"of":[15,18,39,65,73,80,100,127,139,154],"trio":[17],"static":[19],"analysis":[20,116,138,151],"and":[21,51,54,94,106,117,137,152,160],"transformation":[22,118],"tools:":[23],"(1)":[24],"whole-program,":[26],"source-to-source":[27],"translator":[28],"transform":[30],"existing":[31],"parallel":[32,75,123],"code":[33,76],"OpenCL,":[35],"(2)":[36],"set":[38],"OpenCL":[40,58,66,96,158],"kernel":[41],"linters,":[42],"which":[43],"target":[44],"FPGAs":[45],"detect":[47],"possible":[48],"semantic":[49],"errors":[50],"performance":[52],"traps,":[53],"(3)":[55],"whole-program":[57,115],"linter":[59],"validate":[61],"the":[62,101,128,150],"host-to-device":[63],"interface":[64],"programs.":[67],"promotes":[70],"rapid":[71],"realization":[72],"across":[77],"multitude":[79],"environments,":[83],"particularly":[84],"FPGAs,":[85,109],"by":[86],"providing":[87],"complementary":[88],"tools":[89,113,130],"for":[90],"automatic":[91],"CUDA-to-OpenCL":[92],"translation":[93,136],"compile-time":[95],"validation":[97,153],"in":[98],"advance":[99],"very":[102],"expensive":[103],"compilation,":[104],"placement,":[105],"routing":[107],"respectively.":[110],"proposed":[112],"perform":[114],"tackle":[120],"real-world,":[121],"large-scale":[122],"applications.":[124,161],"efficacy":[126],"is":[131],"demonstrated":[132],"via":[133],"representative":[135],"sizable":[141],"CUDA":[142],"finite":[143],"automata":[144],"processing":[145],"engine":[146],"as":[147,149],"well":[148],"an":[155],"additional":[156],"96":[157],"benchmarks":[159]},"counts_by_year":[{"year":2023,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
