{"id":"https://openalex.org/W7167285364","doi":"https://doi.org/10.1145/3811317","title":"RCGP: Resource Contracts for Graphics Programming","display_name":"RCGP: Resource Contracts for Graphics Programming","publication_year":2026,"publication_date":"2026-07-03","ids":{"openalex":"https://openalex.org/W7167285364","doi":"https://doi.org/10.1145/3811317"},"language":"en","primary_location":{"id":"doi:10.1145/3811317","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3811317","pdf_url":null,"source":{"id":"https://openalex.org/S185367456","display_name":"ACM Transactions on Graphics","issn_l":"0730-0301","issn":["0730-0301","1557-7368"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Graphics","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://doi.org/10.1145/3811317","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5092590177","display_name":"Venkataram Sivaram","orcid":"https://orcid.org/0009-0005-5083-4024"},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Venkataram Sivaram","raw_affiliation_strings":["Computer Science and Artificial Intelligence Laboratory (CSAIL), Massachusetts Institute of Technology (MIT), Cambridge, USA"],"raw_orcid":"https://orcid.org/0009-0005-5083-4024","affiliations":[{"raw_affiliation_string":"Computer Science and Artificial Intelligence Laboratory (CSAIL), Massachusetts Institute of Technology (MIT), Cambridge, USA","institution_ids":["https://openalex.org/I63966007"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5090575298","display_name":"Sai Praveen Bangaru","orcid":"https://orcid.org/0000-0001-6302-9327"},"institutions":[{"id":"https://openalex.org/I1304085615","display_name":"Nvidia (United Kingdom)","ror":"https://ror.org/02kr42612","country_code":"GB","type":"company","lineage":["https://openalex.org/I1304085615","https://openalex.org/I4210127875"]},{"id":"https://openalex.org/I4210127875","display_name":"Nvidia (United States)","ror":"https://ror.org/03jdj4y14","country_code":"US","type":"company","lineage":["https://openalex.org/I4210127875"]}],"countries":["GB","US"],"is_corresponding":false,"raw_author_name":"Sai Praveen Bangaru","raw_affiliation_strings":["NVIDIA, Cambridge, USA"],"raw_orcid":"https://orcid.org/0000-0001-6302-9327","affiliations":[{"raw_affiliation_string":"NVIDIA, Cambridge, USA","institution_ids":["https://openalex.org/I1304085615","https://openalex.org/I4210127875"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5034754633","display_name":"Ravi Ramamoorthi","orcid":"https://orcid.org/0000-0003-3993-5789"},"institutions":[{"id":"https://openalex.org/I36258959","display_name":"University of California San Diego","ror":"https://ror.org/0168r3w48","country_code":"US","type":"education","lineage":["https://openalex.org/I36258959"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ravi Ramamoorthi","raw_affiliation_strings":["University of California San Diego, La Jolla, USA"],"raw_orcid":"https://orcid.org/0000-0003-3993-5789","affiliations":[{"raw_affiliation_string":"University of California San Diego, La Jolla, USA","institution_ids":["https://openalex.org/I36258959"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5030293104","display_name":"Tzu\u2010Mao Li","orcid":"https://orcid.org/0000-0001-5443-470X"},"institutions":[{"id":"https://openalex.org/I36258959","display_name":"University of California San Diego","ror":"https://ror.org/0168r3w48","country_code":"US","type":"education","lineage":["https://openalex.org/I36258959"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Tzu-Mao Li","raw_affiliation_strings":["University of California San Diego, La Jolla, USA"],"raw_orcid":"https://orcid.org/0000-0001-5443-470X","affiliations":[{"raw_affiliation_string":"University of California San Diego, La Jolla, USA","institution_ids":["https://openalex.org/I36258959"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5023577472","display_name":"Jonathan Ragan\u2010Kelley","orcid":"https://orcid.org/0000-0001-6243-9543"},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jonathan Ragan-Kelley","raw_affiliation_strings":["Computer Science and Artificial Intelligence Laboratory (CSAIL), Massachusetts Institute of Technology (MIT), Cambridge, USA"],"raw_orcid":"https://orcid.org/0000-0001-6243-9543","affiliations":[{"raw_affiliation_string":"Computer Science and Artificial Intelligence Laboratory (CSAIL), Massachusetts Institute of Technology (MIT), Cambridge, USA","institution_ids":["https://openalex.org/I63966007"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5075155488","display_name":"Fr\u00e9do Durand","orcid":"https://orcid.org/0000-0001-9919-069X"},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Fredo Durand","raw_affiliation_strings":["Computer Science and Artificial Intelligence Laboratory (CSAIL), Massachusetts Institute of Technology (MIT), Cambridge, USA"],"raw_orcid":"https://orcid.org/0000-0001-9919-069X","affiliations":[{"raw_affiliation_string":"Computer Science and Artificial Intelligence Laboratory (CSAIL), Massachusetts Institute of Technology (MIT), Cambridge, USA","institution_ids":["https://openalex.org/I63966007"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.91851253,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":null,"biblio":{"volume":"45","issue":"4","first_page":"1","last_page":"26"},"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.375,"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.375,"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/T10126","display_name":"Logic, programming, and type systems","score":0.27790001034736633,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.10819999873638153,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/graphics","display_name":"Graphics","score":0.5924000144004822},{"id":"https://openalex.org/keywords/synchronization","display_name":"Synchronization (alternating current)","score":0.5623999834060669},{"id":"https://openalex.org/keywords/resource","display_name":"Resource (disambiguation)","score":0.5151000022888184},{"id":"https://openalex.org/keywords/shader","display_name":"Shader","score":0.489300012588501},{"id":"https://openalex.org/keywords/encode","display_name":"ENCODE","score":0.4781999886035919},{"id":"https://openalex.org/keywords/combinatory-logic","display_name":"Combinatory logic","score":0.43790000677108765},{"id":"https://openalex.org/keywords/resource-allocation","display_name":"Resource allocation","score":0.35089999437332153},{"id":"https://openalex.org/keywords/rendering","display_name":"Rendering (computer graphics)","score":0.3409999907016754}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7972000241279602},{"id":"https://openalex.org/C21442007","wikidata":"https://www.wikidata.org/wiki/Q1027879","display_name":"Graphics","level":2,"score":0.5924000144004822},{"id":"https://openalex.org/C2778562939","wikidata":"https://www.wikidata.org/wiki/Q1298791","display_name":"Synchronization (alternating current)","level":3,"score":0.5623999834060669},{"id":"https://openalex.org/C206345919","wikidata":"https://www.wikidata.org/wiki/Q20380951","display_name":"Resource (disambiguation)","level":2,"score":0.5151000022888184},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.4941999912261963},{"id":"https://openalex.org/C177681979","wikidata":"https://www.wikidata.org/wiki/Q633182","display_name":"Shader","level":3,"score":0.489300012588501},{"id":"https://openalex.org/C66746571","wikidata":"https://www.wikidata.org/wiki/Q1134833","display_name":"ENCODE","level":3,"score":0.4781999886035919},{"id":"https://openalex.org/C79678938","wikidata":"https://www.wikidata.org/wiki/Q1481571","display_name":"Combinatory logic","level":2,"score":0.43790000677108765},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.41819998621940613},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3605000078678131},{"id":"https://openalex.org/C29202148","wikidata":"https://www.wikidata.org/wiki/Q287260","display_name":"Resource allocation","level":2,"score":0.35089999437332153},{"id":"https://openalex.org/C205711294","wikidata":"https://www.wikidata.org/wiki/Q176953","display_name":"Rendering (computer graphics)","level":2,"score":0.3409999907016754},{"id":"https://openalex.org/C77660652","wikidata":"https://www.wikidata.org/wiki/Q150971","display_name":"Computer graphics","level":2,"score":0.3386000096797943},{"id":"https://openalex.org/C2778648169","wikidata":"https://www.wikidata.org/wiki/Q967768","display_name":"Compatibility (geochemistry)","level":2,"score":0.33160001039505005},{"id":"https://openalex.org/C77618280","wikidata":"https://www.wikidata.org/wiki/Q1155772","display_name":"Scheme (mathematics)","level":2,"score":0.32679998874664307},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.31949999928474426},{"id":"https://openalex.org/C20574231","wikidata":"https://www.wikidata.org/wiki/Q844605","display_name":"Backward compatibility","level":2,"score":0.3050999939441681},{"id":"https://openalex.org/C66629338","wikidata":"https://www.wikidata.org/wiki/Q189177","display_name":"3D computer graphics","level":3,"score":0.30300000309944153},{"id":"https://openalex.org/C99613125","wikidata":"https://www.wikidata.org/wiki/Q165194","display_name":"Application programming interface","level":2,"score":0.3009999990463257},{"id":"https://openalex.org/C199016294","wikidata":"https://www.wikidata.org/wiki/Q868410","display_name":"Graphics software","level":3,"score":0.2883000075817108},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.25589999556541443},{"id":"https://openalex.org/C202629362","wikidata":"https://www.wikidata.org/wiki/Q2078","display_name":"Scalable Vector Graphics","level":2,"score":0.2538999915122986},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.250900000333786},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.250900000333786}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3811317","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3811317","pdf_url":null,"source":{"id":"https://openalex.org/S185367456","display_name":"ACM Transactions on Graphics","issn_l":"0730-0301","issn":["0730-0301","1557-7368"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Graphics","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3811317","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3811317","pdf_url":null,"source":{"id":"https://openalex.org/S185367456","display_name":"ACM Transactions on Graphics","issn_l":"0730-0301","issn":["0730-0301","1557-7368"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Graphics","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G3101190323","display_name":"Collaborative Research: HCC: Medium: Differentiable Rendering for Computer Graphics","funder_award_id":"2105806","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8421175051","display_name":"CAREER: Differentiable Programming for Visual Computing","funder_award_id":"2238839","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":14,"referenced_works":["https://openalex.org/W1966832848","https://openalex.org/W2132598718","https://openalex.org/W2461384540","https://openalex.org/W2737884257","https://openalex.org/W2739234443","https://openalex.org/W2761451340","https://openalex.org/W2887333152","https://openalex.org/W2960965208","https://openalex.org/W2971754487","https://openalex.org/W3013471013","https://openalex.org/W4205682243","https://openalex.org/W4253922507","https://openalex.org/W4286380251","https://openalex.org/W4311805697"],"related_works":[],"abstract_inverted_index":{"Computer":[0],"graphics":[1,21,116],"applications":[2],"are":[3,69,79,123,152],"sophisticated":[4],"heterogeneous":[5],"programs":[6],"that":[7,107,133,146,202],"orchestrate":[8],"numerous":[9],"components,":[10],"including":[11],"shaders,":[12],"pipelines,":[13],"resource":[14,38,48,110,127],"descriptors,":[15],"and":[16,37,61,148,168,198,217],"command":[17],"streams.":[18],"In":[19,64,97],"modern":[20],"workflows,":[22],"communication":[23,43],"between":[24,112,164],"these":[25,67,179],"components":[26,113,143,157],"is":[27],"mediated":[28],"by":[29,86],"resources":[30],"such":[31,211],"as":[32,91,129,212],"shader":[33],"I/O,":[34],"storage":[35],"buffers,":[36],"bindings.":[39],"To":[40],"make":[41],"this":[42,98,203],"correct,":[44],"developers":[45],"must":[46],"uphold":[47],"contracts.":[49,150],"These":[50],"contracts":[51,68,111,120,167,172,180],"cover":[52],"agreements":[53],"on":[54],"type,":[55],"layout,":[56],"binding":[57],"locations,":[58],"synchronization":[59,219],"requirements,":[60],"related":[62],"properties.":[63],"standard":[65],"practice,":[66],"satisfied":[70],"implicitly":[71],"through":[72,125,181],"conventions.":[73],"As":[74],"a":[75,105,115,182,193],"result,":[76],"contract":[77],"breaches":[78],"often":[80],"detected":[81],"too":[82],"late,":[83],"at":[84],"runtime":[85],"validation":[87],"layers,":[88],"or":[89],"worse,":[90],"visual":[92],"artifacts":[93],"in":[94,196],"rendered":[95],"output.":[96],"work,":[99],"we":[100,200],"present":[101],"RCGP":[102,118,177],"1":[103],",":[104,121,160,186],"system":[106],"mechanistically":[108],"enforces":[109],"of":[114,184,208],"program.":[117],"formalizes":[119],"which":[122,161,187],"centralized":[124],"single-source-of-truth":[126],"declarations,":[128],"statically":[130],"introspectable":[131],"units":[132],"can":[134],"be":[135],"verified.":[136],"We":[137],"map":[138],"objects":[139],"from":[140],"distinct":[141],"program":[142],"to":[144],"modules":[145],"import":[147],"export":[149],"Modules":[151],"then":[153],"composed":[154],"into":[155,221],"larger":[156],"via":[158],"combinators":[159],"check":[162],"compatibility":[163],"the":[165,170,174,189],"corresponding":[166],"compute":[169],"residual":[171],"for":[173],"result.":[175],"Finally,":[176],"upholds":[178],"set":[183],"witnesses":[185],"encode":[188],"necessary":[190],"promises.":[191],"Using":[192],"prototype":[194],"implementation":[195],"C++":[197],"Vulkan,":[199],"demonstrate":[201],"formulation":[204],"converts":[205],"common":[206],"classes":[207],"late":[209],"failures,":[210],"descriptor-type":[213],"mismatches,":[214],"layout":[215],"drift,":[216],"missing":[218],"barriers,":[220],"early,":[222],"actionable":[223],"compile-time":[224],"diagnostics.":[225]},"counts_by_year":[],"updated_date":"2026-07-04T06:14:54.683239","created_date":"2026-07-04T00:00:00"}
