{"id":"https://openalex.org/W2912779600","doi":"https://doi.org/10.1145/3293883.3297859","title":"Optimizing GPU programs by register demotion","display_name":"Optimizing GPU programs by register demotion","publication_year":2019,"publication_date":"2019-02-05","ids":{"openalex":"https://openalex.org/W2912779600","doi":"https://doi.org/10.1145/3293883.3297859","mag":"2912779600"},"language":"en","primary_location":{"id":"doi:10.1145/3293883.3297859","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3293883.3297859","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 24th Symposium on Principles and Practice of Parallel Programming","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/A5008393837","display_name":"Putt Sakdhnagool","orcid":"https://orcid.org/0000-0002-7925-0525"},"institutions":[{"id":"https://openalex.org/I14316845","display_name":"National Electronics and Computer Technology Center","ror":"https://ror.org/04z82ry91","country_code":"TH","type":"government","lineage":["https://openalex.org/I1332092204","https://openalex.org/I14316845"]}],"countries":["TH"],"is_corresponding":false,"raw_author_name":"Putt Sakdhnagool","raw_affiliation_strings":["National Electronics and Computer Technology Center, Pathum Thani, Thailand"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"National Electronics and Computer Technology Center, Pathum Thani, Thailand","institution_ids":["https://openalex.org/I14316845"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5000932612","display_name":"Amit Sabne","orcid":"https://orcid.org/0000-0002-2179-0078"},"institutions":[{"id":"https://openalex.org/I1291425158","display_name":"Google (United States)","ror":"https://ror.org/00njsd438","country_code":"US","type":"company","lineage":["https://openalex.org/I1291425158","https://openalex.org/I4210128969"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Amit Sabne","raw_affiliation_strings":["Google Brain"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Google Brain","institution_ids":["https://openalex.org/I1291425158"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5045622261","display_name":"Rudolf Eigenmann","orcid":"https://orcid.org/0000-0003-1651-827X"},"institutions":[{"id":"https://openalex.org/I86501945","display_name":"University of Delaware","ror":"https://ror.org/01sbq1a82","country_code":"US","type":"education","lineage":["https://openalex.org/I86501945"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Rudolf Eigenmann","raw_affiliation_strings":["University of Delaware"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Delaware","institution_ids":["https://openalex.org/I86501945"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.01304128,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":95},"biblio":{"volume":null,"issue":null,"first_page":"405","last_page":"406"},"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.9980000257492065,"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/T10829","display_name":"Interconnection Networks and Systems","score":0.9962999820709229,"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/computer-science","display_name":"Computer science","score":0.8388718366622925},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6294743418693542},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5755959153175354},{"id":"https://openalex.org/keywords/demotion","display_name":"Demotion","score":0.560289740562439},{"id":"https://openalex.org/keywords/register","display_name":"Register (sociolinguistics)","score":0.49864625930786133},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.4662408232688904},{"id":"https://openalex.org/keywords/shared-memory","display_name":"Shared memory","score":0.4512275457382202},{"id":"https://openalex.org/keywords/register-file","display_name":"Register file","score":0.4162188470363617},{"id":"https://openalex.org/keywords/chip","display_name":"Chip","score":0.41454005241394043},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.3397766947746277},{"id":"https://openalex.org/keywords/instruction-set","display_name":"Instruction set","score":0.14613604545593262}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8388718366622925},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6294743418693542},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5755959153175354},{"id":"https://openalex.org/C104545631","wikidata":"https://www.wikidata.org/wiki/Q464858","display_name":"Demotion","level":3,"score":0.560289740562439},{"id":"https://openalex.org/C2779235478","wikidata":"https://www.wikidata.org/wiki/Q286576","display_name":"Register (sociolinguistics)","level":2,"score":0.49864625930786133},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.4662408232688904},{"id":"https://openalex.org/C133875982","wikidata":"https://www.wikidata.org/wiki/Q764810","display_name":"Shared memory","level":2,"score":0.4512275457382202},{"id":"https://openalex.org/C117280010","wikidata":"https://www.wikidata.org/wiki/Q180944","display_name":"Register file","level":3,"score":0.4162188470363617},{"id":"https://openalex.org/C165005293","wikidata":"https://www.wikidata.org/wiki/Q1074500","display_name":"Chip","level":2,"score":0.41454005241394043},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3397766947746277},{"id":"https://openalex.org/C202491316","wikidata":"https://www.wikidata.org/wiki/Q272683","display_name":"Instruction set","level":2,"score":0.14613604545593262},{"id":"https://openalex.org/C94625758","wikidata":"https://www.wikidata.org/wiki/Q7163","display_name":"Politics","level":2,"score":0.0},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0},{"id":"https://openalex.org/C17744445","wikidata":"https://www.wikidata.org/wiki/Q36442","display_name":"Political science","level":0,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C199539241","wikidata":"https://www.wikidata.org/wiki/Q7748","display_name":"Law","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3293883.3297859","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3293883.3297859","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 24th Symposium on Principles and Practice of Parallel Programming","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Decent work and economic growth","id":"https://metadata.un.org/sdg/8","score":0.4699999988079071}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":6,"referenced_works":["https://openalex.org/W1870686413","https://openalex.org/W2078994750","https://openalex.org/W2126830109","https://openalex.org/W2149234156","https://openalex.org/W2232645663","https://openalex.org/W2408916298"],"related_works":["https://openalex.org/W4388075718","https://openalex.org/W2785600966","https://openalex.org/W2126575968","https://openalex.org/W2376656677","https://openalex.org/W2122569314","https://openalex.org/W2360904774","https://openalex.org/W2370285367","https://openalex.org/W3127940273","https://openalex.org/W2124379941","https://openalex.org/W2778498407"],"abstract_inverted_index":{"GPU":[0,104],"utilization,":[1],"measured":[2],"as":[3],"occupancy,":[4],"is":[5],"limited":[6],"by":[7,101],"the":[8,17,26,32,41,59,63,68,74,91,97,103,116],"parallel":[9],"threads'":[10],"combined":[11],"usage":[12],"of":[13,28,123],"on-chip":[14,69],"resources.":[15],"If":[16],"resource":[18],"demand":[19],"cannot":[20],"be":[21,49,94],"met,":[22],"GPUs":[23],"will":[24],"reduce":[25],"number":[27],"concurrent":[29],"threads,":[30],"impacting":[31],"program":[33],"performance.":[34],"We":[35],"have":[36],"observed":[37],"that":[38,87],"registers":[39,57],"are":[40],"occupancy":[42],"limiters":[43],"while":[44],"shared":[45,64,99],"metmory":[46],"tends":[47],"to":[48,58,93,112],"underused.":[50],"The":[51],"de":[52],"facto":[53],"approach":[54],"spills":[55],"excessive":[56],"out-of-chip":[60],"memory,":[61],"ignoring":[62],"memory":[65,100],"and":[66],"leaving":[67],"resources":[70],"underutilized.":[71],"To":[72],"mitigate":[73],"register":[75,85,92],"demand,":[76],"our":[77],"work":[78],"presents":[79],"a":[80,120],"novel":[81],"compiler":[82],"technique,":[83],"called":[84],"demotion,":[86],"allows":[88],"data":[89],"in":[90],"placed":[95],"into":[96],"underutilized":[98],"transforming":[102],"assembly":[105],"code":[106],"(SASS).":[107],"Register":[108],"demotion":[109],"achieves":[110],"up":[111],"18%":[113],"speedup":[114],"over":[115],"nvcc":[117],"compiler,":[118],"with":[119],"geometric":[121],"mean":[122],"7%.":[124]},"counts_by_year":[{"year":2025,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
