{"id":"https://openalex.org/W2038850241","doi":"https://doi.org/10.1109/ipdpsw.2012.293","title":"Automatic Offloading C++ Expression Templates to CUDA Enabled GPUs","display_name":"Automatic Offloading C++ Expression Templates to CUDA Enabled GPUs","publication_year":2012,"publication_date":"2012-05-01","ids":{"openalex":"https://openalex.org/W2038850241","doi":"https://doi.org/10.1109/ipdpsw.2012.293","mag":"2038850241"},"language":"en","primary_location":{"id":"doi:10.1109/ipdpsw.2012.293","is_oa":false,"landing_page_url":"https://doi.org/10.1109/ipdpsw.2012.293","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops &amp; PhD Forum","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/A5103468553","display_name":"Jie Chen","orcid":null},"institutions":[{"id":"https://openalex.org/I29801172","display_name":"Thomas Jefferson National Accelerator Facility","ror":"https://ror.org/02vwzrd76","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I29801172","https://openalex.org/I39565521"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Jie Chen","raw_affiliation_strings":["Jefferson Laboratory, The Scientific Computing Group, Newport News, VA, USA","Sci. Comput. Group, Jefferson Lab., Newport News, VA, USA"],"affiliations":[{"raw_affiliation_string":"Jefferson Laboratory, The Scientific Computing Group, Newport News, VA, USA","institution_ids":["https://openalex.org/I29801172"]},{"raw_affiliation_string":"Sci. Comput. Group, Jefferson Lab., Newport News, VA, USA","institution_ids":["https://openalex.org/I29801172"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5038029051","display_name":"B\u00e1lint Jo\u00f3","orcid":"https://orcid.org/0000-0002-4229-7960"},"institutions":[{"id":"https://openalex.org/I29801172","display_name":"Thomas Jefferson National Accelerator Facility","ror":"https://ror.org/02vwzrd76","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I29801172","https://openalex.org/I39565521"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Balint Joo","raw_affiliation_strings":["Jefferson Laboratory, The Scientific Computing Group, Newport News, VA, USA","Sci. Comput. Group, Jefferson Lab., Newport News, VA, USA"],"affiliations":[{"raw_affiliation_string":"Jefferson Laboratory, The Scientific Computing Group, Newport News, VA, USA","institution_ids":["https://openalex.org/I29801172"]},{"raw_affiliation_string":"Sci. Comput. Group, Jefferson Lab., Newport News, VA, USA","institution_ids":["https://openalex.org/I29801172"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5087153587","display_name":"William A. Watson","orcid":"https://orcid.org/0000-0001-9592-2187"},"institutions":[{"id":"https://openalex.org/I29801172","display_name":"Thomas Jefferson National Accelerator Facility","ror":"https://ror.org/02vwzrd76","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I29801172","https://openalex.org/I39565521"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"William Watson III","raw_affiliation_strings":["Jefferson Laboratory, The Scientific Computing Group, Newport News, VA, USA","Sci. Comput. Group, Jefferson Lab., Newport News, VA, USA"],"affiliations":[{"raw_affiliation_string":"Jefferson Laboratory, The Scientific Computing Group, Newport News, VA, USA","institution_ids":["https://openalex.org/I29801172"]},{"raw_affiliation_string":"Sci. Comput. Group, Jefferson Lab., Newport News, VA, USA","institution_ids":["https://openalex.org/I29801172"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5076630534","display_name":"Robert G. Edwards","orcid":"https://orcid.org/0000-0002-5667-291X"},"institutions":[{"id":"https://openalex.org/I29801172","display_name":"Thomas Jefferson National Accelerator Facility","ror":"https://ror.org/02vwzrd76","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I29801172","https://openalex.org/I39565521"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Robert Edwards","raw_affiliation_strings":["Jefferson Laboratory, The Theory Center, Newport News, VA, USA","Theor. Center, Jefferson Lab., Newport News, VA, USA"],"affiliations":[{"raw_affiliation_string":"Jefferson Laboratory, The Theory Center, Newport News, VA, USA","institution_ids":["https://openalex.org/I29801172"]},{"raw_affiliation_string":"Theor. Center, Jefferson Lab., Newport News, VA, USA","institution_ids":["https://openalex.org/I29801172"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5103468553"],"corresponding_institution_ids":["https://openalex.org/I29801172"],"apc_list":null,"apc_paid":null,"fwci":1.1602,"has_fulltext":false,"cited_by_count":23,"citation_normalized_percentile":{"value":0.77983886,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"2359","last_page":"2368"},"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/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9984999895095825,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/T11181","display_name":"Advanced Data Storage Technologies","score":0.9983999729156494,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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.9233829975128174},{"id":"https://openalex.org/keywords/template","display_name":"Template","score":0.8574165105819702},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8447506427764893},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6847862601280212},{"id":"https://openalex.org/keywords/general-purpose-computing-on-graphics-processing-units","display_name":"General-purpose computing on graphics processing units","score":0.6129071712493896},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5936293005943298},{"id":"https://openalex.org/keywords/graphics","display_name":"Graphics","score":0.5206558108329773},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.43964114785194397},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.41766273975372314},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.3971346616744995},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3903857469558716},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.28378719091415405}],"concepts":[{"id":"https://openalex.org/C2778119891","wikidata":"https://www.wikidata.org/wiki/Q477690","display_name":"CUDA","level":2,"score":0.9233829975128174},{"id":"https://openalex.org/C82714645","wikidata":"https://www.wikidata.org/wiki/Q438331","display_name":"Template","level":2,"score":0.8574165105819702},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8447506427764893},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6847862601280212},{"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.6129071712493896},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5936293005943298},{"id":"https://openalex.org/C21442007","wikidata":"https://www.wikidata.org/wiki/Q1027879","display_name":"Graphics","level":2,"score":0.5206558108329773},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.43964114785194397},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.41766273975372314},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.3971346616744995},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3903857469558716},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.28378719091415405},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/ipdpsw.2012.293","is_oa":false,"landing_page_url":"https://doi.org/10.1109/ipdpsw.2012.293","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops &amp; PhD Forum","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320306084","display_name":"U.S. Department of Energy","ror":"https://ror.org/01bj3aw27"},{"id":"https://openalex.org/F4320309480","display_name":"Nvidia","ror":"https://ror.org/03jdj4y14"},{"id":"https://openalex.org/F4320338382","display_name":"Thomas Jefferson National Accelerator Facility","ror":"https://ror.org/02vwzrd76"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":22,"referenced_works":["https://openalex.org/W762763461","https://openalex.org/W1486064919","https://openalex.org/W1559683376","https://openalex.org/W1580461570","https://openalex.org/W1581501197","https://openalex.org/W2047614366","https://openalex.org/W2078391824","https://openalex.org/W2090058354","https://openalex.org/W2109030497","https://openalex.org/W2155967869","https://openalex.org/W2169150754","https://openalex.org/W2172949211","https://openalex.org/W2328153251","https://openalex.org/W2478100726","https://openalex.org/W2600901626","https://openalex.org/W2803066187","https://openalex.org/W3121823746","https://openalex.org/W3138798301","https://openalex.org/W4250981202","https://openalex.org/W6622200587","https://openalex.org/W6662378236","https://openalex.org/W6721361950"],"related_works":["https://openalex.org/W1963859303","https://openalex.org/W2364044215","https://openalex.org/W2014874874","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"],"abstract_inverted_index":{"In":[0,291],"the":[1,59,69,77,135,147,159,162,166,169,172,196,218,262,313],"last":[2],"few":[3],"years,":[4],"many":[5,259],"scientific":[6,108],"applications":[7,229,278],"have":[8,18,58,82,100,120],"been":[9,101,121],"developed":[10],"for":[11,93,104,110,168,211,275],"powerful":[12],"graphics":[13],"processing":[14],"units":[15],"(GPUs)":[16],"and":[17,57,89,117,200,207,269],"achieved":[19],"remarkable":[20],"speedups.":[21],"This":[22,176,223],"success":[23],"can":[24],"be":[25,301],"partially":[26],"attributed":[27],"to":[28,39,143,146,149,153,190,205,227,230,257,264,270,303],"high":[29],"performance":[30],"host":[31,111],"callable":[32],"GPU":[33,124,154],"library":[34,44,251],"routines":[35,45],"that":[36,182,307],"are":[37,46],"offloaded":[38],"GPUs":[40,144,193,233,281],"at":[41,171],"runtime.":[42],"These":[43],"based":[47,247],"on":[48,232,280,284],"C/C++-like":[49],"programming":[50,310],"toolkits":[51,311],"such":[52],"as":[53,63,156,158,254],"CUDA":[54,191,209],"from":[55,75,141],"NVIDIA":[56],"same":[60],"calling":[61],"signatures":[62],"their":[64,115],"CPU":[65],"counterparts.":[66],"Recently,":[67],"with":[68,220,234,312],"sufficient":[70],"support":[71,314],"of":[72,79,114,129,137,161,165,174,186,261,289,295,315],"C++":[73,187,197,309,316],"templates":[74,140,170,189,214,267,299],"CUDA,":[76],"emergence":[78],"template":[80],"libraries":[81],"enabled":[83,192],"further":[84],"advancement":[85],"in":[86],"code":[87,237],"reusability":[88],"rapid":[90],"software":[91,109],"development":[92,125],"GPUs.":[94],"However,":[95],"Expression":[96],"Templates":[97],"(ET),":[98],"which":[99],"very":[102,272],"popular":[103],"implementing":[105],"data":[106,248],"parallel":[107,249],"CPUs":[112,285],"because":[113],"intuitive":[116],"mathematics-like":[118],"syntax,":[119],"underutilized":[122],"by":[123,134,194,216],"libraries.":[126],"The":[127],"lack":[128],"ET":[130,246],"usage":[131],"is":[132],"caused":[133],"difficulty":[136],"offloading":[138,185,297],"expression":[139,188,213,266,298],"hosts":[142],"due":[145],"inability":[148],"pass":[150],"instantiated":[151],"expressions":[152,167],"kernels":[155,210,219],"well":[157],"absence":[160],"exact":[163],"form":[164],"time":[173],"coding.":[175],"paper":[177,242],"presents":[178],"a":[179,244],"general":[180],"approach":[181,224,263,294],"enables":[183],"automatic":[184,296],"using":[195,286],"metaprogramming":[198],"technique":[199],"Just-In-Time":[201],"(JIT)":[202],"compilation":[203],"methodology":[204],"generate":[206],"compile":[208],"corresponding":[212],"followed":[215],"executing":[217],"appropriate":[221],"arguments.":[222],"allows":[225],"developers":[226],"port":[228],"run":[231],"virtually":[235],"no":[236],"modifications.":[238],"More":[239],"specifically,":[240],"this":[241,287,293],"uses":[243],"large":[245],"physics":[250],"called":[252],"QDP++":[253,277],"an":[255],"example":[256],"illustrate":[258],"aspects":[260],"offload":[265],"automatically":[268],"demonstrate":[271],"good":[273],"speedups":[274],"typical":[276],"running":[279,283],"against":[282],"method":[288],"offloading.":[290],"addition,":[292],"could":[300],"applied":[302],"other":[304],"many-core":[305],"accelerators":[306],"provide":[308],"template.":[317]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":5},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":5},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":2},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":1},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":2}],"updated_date":"2026-02-14T06:23:00.392402","created_date":"2025-10-10T00:00:00"}
