{"id":"https://openalex.org/W4239588678","doi":"https://doi.org/10.1109/cgo.2019.8661172","title":"Translating CUDA to OpenCL for Hardware Generation using Neural Machine Translation","display_name":"Translating CUDA to OpenCL for Hardware Generation using Neural Machine Translation","publication_year":2019,"publication_date":"2019-02-01","ids":{"openalex":"https://openalex.org/W4239588678","doi":"https://doi.org/10.1109/cgo.2019.8661172"},"language":"en","primary_location":{"id":"doi:10.1109/cgo.2019.8661172","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo.2019.8661172","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2019 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","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/A5023676857","display_name":"Yonghae Kim","orcid":"https://orcid.org/0000-0002-3088-5984"},"institutions":[{"id":"https://openalex.org/I130701444","display_name":"Georgia Institute of Technology","ror":"https://ror.org/01zkghx44","country_code":"US","type":"education","lineage":["https://openalex.org/I130701444"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Yonghae Kim","raw_affiliation_strings":["School of Computer Science, Georgia Institute of Technology, Atlanta, GA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Computer Science, Georgia Institute of Technology, Atlanta, GA, USA","institution_ids":["https://openalex.org/I130701444"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5000822269","display_name":"Hyesoon Kim","orcid":"https://orcid.org/0000-0002-6061-7825"},"institutions":[{"id":"https://openalex.org/I130701444","display_name":"Georgia Institute of Technology","ror":"https://ror.org/01zkghx44","country_code":"US","type":"education","lineage":["https://openalex.org/I130701444"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Hyesoon Kim","raw_affiliation_strings":["School of Computer Science, Georgia Institute of Technology, Atlanta, GA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Computer Science, Georgia Institute of Technology, Atlanta, GA, USA","institution_ids":["https://openalex.org/I130701444"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.6468,"has_fulltext":false,"cited_by_count":7,"citation_normalized_percentile":{"value":0.85819328,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"285","last_page":"286"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9954000115394592,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9954000115394592,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9926000237464905,"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/T10260","display_name":"Software Engineering Research","score":0.9890999794006348,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/cuda","display_name":"CUDA","score":0.9120297431945801},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8954843282699585},{"id":"https://openalex.org/keywords/field-programmable-gate-array","display_name":"Field-programmable gate array","score":0.5739885568618774},{"id":"https://openalex.org/keywords/kernel","display_name":"Kernel (algebra)","score":0.5278363823890686},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.47951987385749817},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.4685562252998352},{"id":"https://openalex.org/keywords/general-purpose-computing-on-graphics-processing-units","display_name":"General-purpose computing on graphics processing units","score":0.44879356026649475},{"id":"https://openalex.org/keywords/machine-translation","display_name":"Machine translation","score":0.4144664406776428},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.37764623761177063},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.34373897314071655},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.33358505368232727},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.24304011464118958},{"id":"https://openalex.org/keywords/graphics","display_name":"Graphics","score":0.14178568124771118}],"concepts":[{"id":"https://openalex.org/C2778119891","wikidata":"https://www.wikidata.org/wiki/Q477690","display_name":"CUDA","level":2,"score":0.9120297431945801},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8954843282699585},{"id":"https://openalex.org/C42935608","wikidata":"https://www.wikidata.org/wiki/Q190411","display_name":"Field-programmable gate array","level":2,"score":0.5739885568618774},{"id":"https://openalex.org/C74193536","wikidata":"https://www.wikidata.org/wiki/Q574844","display_name":"Kernel (algebra)","level":2,"score":0.5278363823890686},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.47951987385749817},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.4685562252998352},{"id":"https://openalex.org/C50630238","wikidata":"https://www.wikidata.org/wiki/Q971505","display_name":"General-purpose computing on graphics processing units","level":3,"score":0.44879356026649475},{"id":"https://openalex.org/C203005215","wikidata":"https://www.wikidata.org/wiki/Q79798","display_name":"Machine translation","level":2,"score":0.4144664406776428},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.37764623761177063},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.34373897314071655},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.33358505368232727},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.24304011464118958},{"id":"https://openalex.org/C21442007","wikidata":"https://www.wikidata.org/wiki/Q1027879","display_name":"Graphics","level":2,"score":0.14178568124771118},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","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},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/cgo.2019.8661172","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo.2019.8661172","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2019 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/4","display_name":"Quality Education","score":0.4699999988079071}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":6,"referenced_works":["https://openalex.org/W2026448279","https://openalex.org/W2065012482","https://openalex.org/W2786865417","https://openalex.org/W2963408280","https://openalex.org/W6748774801","https://openalex.org/W6765195286"],"related_works":["https://openalex.org/W1963859303","https://openalex.org/W2364044215","https://openalex.org/W2389600408","https://openalex.org/W240129890","https://openalex.org/W3048701459","https://openalex.org/W2149078538","https://openalex.org/W2080146221","https://openalex.org/W2370314112","https://openalex.org/W1912958759","https://openalex.org/W2792081825"],"abstract_inverted_index":{"Hardware":[0],"generation":[1],"from":[2,150,177,198,214],"high-level":[3,21,36],"languages":[4,26,37,67],"like":[5],"C/C++":[6],"has":[7],"been":[8,29],"one":[9],"of":[10,13,78,128,162,230],"the":[11,33,76,92,96,105,221],"dreams":[12],"software":[14],"and":[15,38,68,84,153,180,205],"hardware":[16,39,93],"engineers":[17],"for":[18],"decades.":[19],"Several":[20],"synthesis":[22],"(HLS)":[23],"or":[24,51],"domain-specific":[25],"(DSLs)":[27],"have":[28],"developed":[30],"to":[31,46,82,88,104,118,136,184],"reduce":[32],"gap":[34],"between":[35,116],"descriptive":[40],"languages.":[41],"However,":[42],"each":[43],"language":[44],"tends":[45],"target":[47,98],"some":[48],"specific":[49],"applications":[50,197,216],"there":[52],"is":[53,131],"a":[54,79,142,160,185,227],"big":[55],"learning":[56,59],"curve":[57],"in":[58,220],"DSLs,":[60],"which":[61,86,122,225],"ends":[62],"up":[63],"having":[64],"many":[65,196],"program":[66],"tool":[69],"chains.To":[70],"address":[71],"these":[72],"challenges,":[73],"we":[74,112,123,145,166,193,208],"propose":[75],"use":[77,89],"source-to-source":[80,114],"translation":[81,115],"pick":[83],"choose":[85],"framework":[87],"so":[90],"that":[91,100,132,171,192,210],"designer":[94],"chooses":[95],"best":[97,106],"HLS/DSL":[99],"can":[101,194,217],"be":[102,218],"synthesized":[103],"performing":[107],"hardware.":[108],"In":[109],"this":[110],"work,":[111],"present":[113],"CUDA":[117,147,151,202,215],"OpenCL":[119,156,222],"using":[120],"NMT,":[121],"call":[124],"PLNMT.":[125],"The":[126],"contribution":[127],"our":[129],"work":[130],"it":[133],"develops":[134],"techniques":[135],"generate":[137,141],"training":[138,143,186],"inputs.":[139],"To":[140],"dataset,":[144],"extract":[146],"API":[148,157,163,168],"usages":[149,164,176],"examples":[152],"write":[154],"corresponding":[155],"usages.":[158],"With":[159],"pair":[161],"acquired,":[165],"construct":[167],"usage":[169],"trees":[170],"helps":[172],"users":[173],"find":[174],"unseen":[175],"new":[178,228],"samples":[179],"easily":[181],"add":[182],"them":[183],"input.":[187],"Our":[188],"initial":[189],"results":[190],"show":[191,209],"translate":[195],"benchmarks":[199],"such":[200],"as":[201],"SDK,":[203],"polybench-gpu,":[204],"Rodinia.":[206],"Furthermore,":[207],"translated":[211],"kernel":[212],"code":[213],"run":[219],"FPGA":[223],"framework,":[224],"implies":[226],"direction":[229],"HLS.":[231]},"counts_by_year":[{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":3}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
