{"id":"https://openalex.org/W2884390493","doi":"https://doi.org/10.1109/tcad.2018.2857043","title":"Scratch That (But Cache This): A Hybrid Register Cache/Scratchpad for GPUs","display_name":"Scratch That (But Cache This): A Hybrid Register Cache/Scratchpad for GPUs","publication_year":2018,"publication_date":"2018-07-19","ids":{"openalex":"https://openalex.org/W2884390493","doi":"https://doi.org/10.1109/tcad.2018.2857043","mag":"2884390493"},"language":"en","primary_location":{"id":"doi:10.1109/tcad.2018.2857043","is_oa":false,"landing_page_url":"https://doi.org/10.1109/tcad.2018.2857043","pdf_url":null,"source":{"id":"https://openalex.org/S100835903","display_name":"IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems","issn_l":"0278-0070","issn":["0278-0070","1937-4151"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems","raw_type":"journal-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/A5006049154","display_name":"Jonathan Bailey","orcid":"https://orcid.org/0000-0002-6229-8995"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jonathan Bailey","raw_affiliation_strings":["Electrical Engineering and Computer Science Department, University of Michigan, Ann Arbor, MI, USA"],"raw_orcid":"https://orcid.org/0000-0002-6229-8995","affiliations":[{"raw_affiliation_string":"Electrical Engineering and Computer Science Department, University of Michigan, Ann Arbor, MI, USA","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5071784605","display_name":"John Kloosterman","orcid":"https://orcid.org/0000-0001-8180-1237"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"John Kloosterman","raw_affiliation_strings":["Electrical Engineering and Computer Science Department, University of Michigan, Ann Arbor, MI, USA"],"raw_orcid":"https://orcid.org/0000-0001-8180-1237","affiliations":[{"raw_affiliation_string":"Electrical Engineering and Computer Science Department, University of Michigan, Ann Arbor, MI, USA","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5002075773","display_name":"Scott Mahlke","orcid":"https://orcid.org/0000-0002-0438-0616"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Scott Mahlke","raw_affiliation_strings":["Electrical Engineering and Computer Science Department, University of Michigan, Ann Arbor, MI, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Electrical Engineering and Computer Science Department, University of Michigan, Ann Arbor, MI, USA","institution_ids":["https://openalex.org/I27837315"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I27837315"],"apc_list":null,"apc_paid":null,"fwci":0.4612,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":{"value":0.61823465,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":"37","issue":"11","first_page":"2779","last_page":"2789"},"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.9980999827384949,"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.9958000183105469,"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.8760867118835449},{"id":"https://openalex.org/keywords/register-file","display_name":"Register file","score":0.7510980367660522},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.7239581346511841},{"id":"https://openalex.org/keywords/processor-register","display_name":"Processor register","score":0.6802908182144165},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6698739528656006},{"id":"https://openalex.org/keywords/register-allocation","display_name":"Register allocation","score":0.5476700663566589},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.4818762242794037},{"id":"https://openalex.org/keywords/cache-pollution","display_name":"Cache pollution","score":0.4652567505836487},{"id":"https://openalex.org/keywords/cache-algorithms","display_name":"Cache algorithms","score":0.4638175368309021},{"id":"https://openalex.org/keywords/smart-cache","display_name":"Smart Cache","score":0.4628851115703583},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.42491084337234497},{"id":"https://openalex.org/keywords/cache-invalidation","display_name":"Cache invalidation","score":0.4138090908527374},{"id":"https://openalex.org/keywords/cpu-cache","display_name":"CPU cache","score":0.3336789608001709},{"id":"https://openalex.org/keywords/instruction-set","display_name":"Instruction set","score":0.23441213369369507},{"id":"https://openalex.org/keywords/memory-address","display_name":"Memory address","score":0.11939859390258789}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8760867118835449},{"id":"https://openalex.org/C117280010","wikidata":"https://www.wikidata.org/wiki/Q180944","display_name":"Register file","level":3,"score":0.7510980367660522},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.7239581346511841},{"id":"https://openalex.org/C2871975","wikidata":"https://www.wikidata.org/wiki/Q187466","display_name":"Processor register","level":4,"score":0.6802908182144165},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6698739528656006},{"id":"https://openalex.org/C128916667","wikidata":"https://www.wikidata.org/wiki/Q1343660","display_name":"Register allocation","level":3,"score":0.5476700663566589},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.4818762242794037},{"id":"https://openalex.org/C113166858","wikidata":"https://www.wikidata.org/wiki/Q5015981","display_name":"Cache pollution","level":5,"score":0.4652567505836487},{"id":"https://openalex.org/C38556500","wikidata":"https://www.wikidata.org/wiki/Q13404475","display_name":"Cache algorithms","level":4,"score":0.4638175368309021},{"id":"https://openalex.org/C167713795","wikidata":"https://www.wikidata.org/wiki/Q352090","display_name":"Smart Cache","level":5,"score":0.4628851115703583},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.42491084337234497},{"id":"https://openalex.org/C25536678","wikidata":"https://www.wikidata.org/wiki/Q5015977","display_name":"Cache invalidation","level":5,"score":0.4138090908527374},{"id":"https://openalex.org/C189783530","wikidata":"https://www.wikidata.org/wiki/Q352090","display_name":"CPU cache","level":3,"score":0.3336789608001709},{"id":"https://openalex.org/C202491316","wikidata":"https://www.wikidata.org/wiki/Q272683","display_name":"Instruction set","level":2,"score":0.23441213369369507},{"id":"https://openalex.org/C153247305","wikidata":"https://www.wikidata.org/wiki/Q835713","display_name":"Memory address","level":3,"score":0.11939859390258789},{"id":"https://openalex.org/C98986596","wikidata":"https://www.wikidata.org/wiki/Q1143031","display_name":"Semiconductor memory","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/tcad.2018.2857043","is_oa":false,"landing_page_url":"https://doi.org/10.1109/tcad.2018.2857043","pdf_url":null,"source":{"id":"https://openalex.org/S100835903","display_name":"IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems","issn_l":"0278-0070","issn":["0278-0070","1937-4151"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/7","score":0.9100000262260437,"display_name":"Affordable and clean energy"}],"awards":[{"id":"https://openalex.org/G6474178825","display_name":null,"funder_award_id":"SHF-1527301","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8935641083","display_name":null,"funder_award_id":"XPS-1438996","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"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":25,"referenced_works":["https://openalex.org/W1979527452","https://openalex.org/W1980364632","https://openalex.org/W1991518265","https://openalex.org/W2022632182","https://openalex.org/W2034639175","https://openalex.org/W2059301531","https://openalex.org/W2072656003","https://openalex.org/W2080592089","https://openalex.org/W2088440019","https://openalex.org/W2093043622","https://openalex.org/W2096661534","https://openalex.org/W2118826546","https://openalex.org/W2136800915","https://openalex.org/W2138761132","https://openalex.org/W2238992335","https://openalex.org/W2464177207","https://openalex.org/W2554192763","https://openalex.org/W2612048219","https://openalex.org/W2613066110","https://openalex.org/W2763549657","https://openalex.org/W2789977517","https://openalex.org/W4236713805","https://openalex.org/W4254988766","https://openalex.org/W6645179522","https://openalex.org/W6680320015"],"related_works":["https://openalex.org/W2224192221","https://openalex.org/W1967889241","https://openalex.org/W2111377238","https://openalex.org/W2161297616","https://openalex.org/W3117494601","https://openalex.org/W4247209662","https://openalex.org/W2159389028","https://openalex.org/W2195435904","https://openalex.org/W2148662141","https://openalex.org/W3022691489"],"abstract_inverted_index":{"Graphics":[0],"processing":[1],"units":[2],"(GPUs)":[3],"are":[4,15,86,96,111,141],"throughput-oriented":[5],"architectures":[6],"that":[7,84,107,140],"implement":[8],"massive":[9],"multithreading.":[10],"Large,":[11],"power-hungry":[12],"register":[13,35,42,66,137,168,185,199,216],"files":[14],"required":[16],"in":[17,177],"GPUs":[18],"to":[19,45,58,63,88,98,120,131,179,201,207],"support":[20],"the":[21,29,46,64,89,99,114,121,124,132,150,204],"simultaneous":[22],"execution":[23],"of":[24,26,156,184,190,203],"thousands":[25],"threads":[27],"on":[28],"hardware.":[30],"Prior":[31],"work":[32,69],"proposed":[33],"reducing":[34,61],"access":[36,138],"energy":[37,72,200],"by":[38,74,144],"adding":[39],"a":[40,79,172,175,181,210,215],"small":[41],"cache":[43,49,77,90,115,173],"(RC)":[44],"GPU.":[47],"The":[48],"stores":[50],"recently":[51],"referenced":[52],"registers":[53,85,95],"and":[54,92,102,123,174,212],"services":[55],"subsequent":[56],"accesses":[57,62],"these":[59,108],"registers,":[60],"main":[65],"file.":[67],"Later":[68],"obtained":[70],"further":[71],"savings":[73],"replacing":[75],"this":[76],"with":[78],"compiler-managed":[80],"scratchpad.":[81,217],"We":[82],"note":[83],"allocated":[87,97],"dynamically":[91],"reactively":[93],"whereas":[94],"scratchpad":[100,125,162,176],"statically":[101],"proactively.":[103],"Our":[104],"insight":[105],"is":[106,153],"allocation":[109],"schemes":[110],"complimentary":[112],"because":[113],"leverages":[116,126],"runtime":[117],"information":[118,129],"unavailable":[119,130],"compiler":[122],"compile":[127],"time":[128],"cache.":[133],"Further,":[134],"there":[135],"exist":[136],"patterns":[139],"easily":[142],"captured":[143],"one":[145],"structure":[146,152],"but":[147],"for":[148,209,214],"which":[149],"other":[151],"ineffective.":[154],"Instead":[155],"implementing":[157],"either":[158],"an":[159],"RC":[160,211],"or":[161],"alone,":[163],"we":[164],"propose":[165],"dividing":[166],"temporary":[167],"storage":[169,191],"capacity":[170],"between":[171],"order":[178],"capture":[180],"broader":[182],"range":[183],"accesses.":[186],"Given":[187],"12":[188],"KB":[189],"per":[192],"streaming":[193],"multiprocessor,":[194],"our":[195],"hybrid":[196],"design":[197],"reduces":[198],"38.7%":[202],"baseline,":[205],"compared":[206],"47.9%":[208],"47.1%":[213]},"counts_by_year":[{"year":2022,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2018,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
