{"id":"https://openalex.org/W3153896204","doi":"https://doi.org/10.1145/3445814.3446734","title":"Judging a type by its pointer: optimizing GPU virtual functions","display_name":"Judging a type by its pointer: optimizing GPU virtual functions","publication_year":2021,"publication_date":"2021-04-11","ids":{"openalex":"https://openalex.org/W3153896204","doi":"https://doi.org/10.1145/3445814.3446734","mag":"3153896204"},"language":"en","primary_location":{"id":"doi:10.1145/3445814.3446734","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3445814.3446734","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3445814.3446734","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3445814.3446734","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5011399602","display_name":"Mengchi Zhang","orcid":"https://orcid.org/0000-0002-6128-0582"},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Mengchi Zhang","raw_affiliation_strings":["Purdue University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Purdue University, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5028632077","display_name":"Ahmad Alawneh","orcid":null},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ahmad Alawneh","raw_affiliation_strings":["Purdue University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Purdue University, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5038577900","display_name":"Timothy G. Rogers","orcid":"https://orcid.org/0009-0002-0736-3149"},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Timothy G. Rogers","raw_affiliation_strings":["Purdue University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Purdue University, USA","institution_ids":["https://openalex.org/I219193219"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I219193219"],"apc_list":null,"apc_paid":null,"fwci":0.2361,"has_fulltext":true,"cited_by_count":1,"citation_normalized_percentile":{"value":0.46869738,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"241","last_page":"254"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":1.0,"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":1.0,"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/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"}},{"id":"https://openalex.org/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9958999752998352,"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/porting","display_name":"Porting","score":0.8837902545928955},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8218885660171509},{"id":"https://openalex.org/keywords/source-lines-of-code","display_name":"Source lines of code","score":0.6254332065582275},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.563576877117157},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.5567846298217773},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.5382170081138611},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.45719611644744873},{"id":"https://openalex.org/keywords/flexibility","display_name":"Flexibility (engineering)","score":0.4429381489753723},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4288242757320404},{"id":"https://openalex.org/keywords/virtual-machine","display_name":"Virtual machine","score":0.41520148515701294},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.4045534133911133},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.38475027680397034},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.3558219075202942},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.33847182989120483},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.1611822247505188}],"concepts":[{"id":"https://openalex.org/C106251023","wikidata":"https://www.wikidata.org/wiki/Q851989","display_name":"Porting","level":3,"score":0.8837902545928955},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8218885660171509},{"id":"https://openalex.org/C199519371","wikidata":"https://www.wikidata.org/wiki/Q942695","display_name":"Source lines of code","level":3,"score":0.6254332065582275},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.563576877117157},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.5567846298217773},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.5382170081138611},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.45719611644744873},{"id":"https://openalex.org/C2780598303","wikidata":"https://www.wikidata.org/wiki/Q65921492","display_name":"Flexibility (engineering)","level":2,"score":0.4429381489753723},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4288242757320404},{"id":"https://openalex.org/C25344961","wikidata":"https://www.wikidata.org/wiki/Q192726","display_name":"Virtual machine","level":2,"score":0.41520148515701294},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.4045534133911133},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.38475027680397034},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.3558219075202942},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.33847182989120483},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.1611822247505188},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"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},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3445814.3446734","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3445814.3446734","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3445814.3446734","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3445814.3446734","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3445814.3446734","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3445814.3446734","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems","raw_type":"proceedings-article"},"sustainable_development_goals":[{"display_name":"Affordable and clean energy","id":"https://metadata.un.org/sdg/7","score":0.4699999988079071}],"awards":[{"id":"https://openalex.org/G1664597935","display_name":"CAREER: Accessible Accelerators: Leveraging Productive Software on Efficient Hardware","funder_award_id":"1943379","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320332180","display_name":"Defense Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3153896204.pdf","grobid_xml":"https://content.openalex.org/works/W3153896204.grobid-xml"},"referenced_works_count":39,"referenced_works":["https://openalex.org/W1788180225","https://openalex.org/W1979527452","https://openalex.org/W1983540755","https://openalex.org/W1988288130","https://openalex.org/W1993318777","https://openalex.org/W1997162567","https://openalex.org/W2001689526","https://openalex.org/W2013570889","https://openalex.org/W2022911909","https://openalex.org/W2050513283","https://openalex.org/W2056690801","https://openalex.org/W2064238114","https://openalex.org/W2076063371","https://openalex.org/W2080592089","https://openalex.org/W2095390121","https://openalex.org/W2104117376","https://openalex.org/W2104216136","https://openalex.org/W2108713760","https://openalex.org/W2257796347","https://openalex.org/W2274972662","https://openalex.org/W2485307536","https://openalex.org/W2509091023","https://openalex.org/W2521121845","https://openalex.org/W2625141094","https://openalex.org/W2763512585","https://openalex.org/W2897830517","https://openalex.org/W2911544077","https://openalex.org/W3005193075","https://openalex.org/W3005412289","https://openalex.org/W3005566493","https://openalex.org/W3028145318","https://openalex.org/W3102510044","https://openalex.org/W3162802155","https://openalex.org/W4230708893","https://openalex.org/W4231380462","https://openalex.org/W4234238401","https://openalex.org/W4236292047","https://openalex.org/W4248602705","https://openalex.org/W4251391716"],"related_works":["https://openalex.org/W2356602486","https://openalex.org/W2351992668","https://openalex.org/W2324828474","https://openalex.org/W2374315191","https://openalex.org/W2391207559","https://openalex.org/W2384715785","https://openalex.org/W2349624418","https://openalex.org/W2359852344","https://openalex.org/W3147482974","https://openalex.org/W2134569009"],"abstract_inverted_index":{"Programmable":[0],"accelerators":[1],"aim":[2],"to":[3,17,44],"provide":[4],"the":[5,18,27,34,52,55],"flexibility":[6],"of":[7,21],"traditional":[8],"CPUs":[9],"with":[10,48],"significantly":[11],"improved":[12],"performance.":[13],"A":[14],"well-known":[15],"impediment":[16],"widespread":[19],"adoption":[20],"programmable":[22],"accelerators,":[23],"like":[24],"GPUs,":[25],"is":[26],"software":[28],"engineering":[29],"overhead":[30,53],"involved":[31],"in":[32],"porting":[33],"code.":[35],"Existing":[36],"support":[37],"for":[38],"C++":[39],"on":[40,69],"GPUs":[41],"allows":[42],"programmers":[43],"port":[45],"polymorphic":[46,60],"code":[47,61],"little":[49],"effort.":[50],"However,":[51],"from":[54],"virtual":[56],"functions":[57],"introduced":[58],"by":[59],"has":[62],"not":[63],"been":[64],"well":[65],"studied":[66],"or":[67],"mitigated":[68],"GPUs.":[70]},"counts_by_year":[{"year":2024,"cited_by_count":1}],"updated_date":"2026-06-26T08:34:08.712188","created_date":"2025-10-10T00:00:00"}
