{"id":"https://openalex.org/W4416683577","doi":"https://doi.org/10.1145/3811338","title":"Locality-Aware Automatic Differentiation on the GPU for Mesh-Based Computations","display_name":"Locality-Aware Automatic Differentiation on the GPU for Mesh-Based Computations","publication_year":2026,"publication_date":"2026-07-03","ids":{"openalex":"https://openalex.org/W4416683577","doi":"https://doi.org/10.1145/3811338"},"language":"en","primary_location":{"id":"doi:10.1145/3811338","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3811338","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":["arxiv","crossref","datacite"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://doi.org/10.1145/3811338","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5049464195","display_name":"Ahmed H. Mahmoud","orcid":"https://orcid.org/0000-0003-1857-913X"},"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":"Ahmed Mahmoud","raw_affiliation_strings":["Massachusetts Institute of Technology (MIT), Cambridge, MA, USA"],"raw_orcid":"https://orcid.org/0000-0003-1857-913X","affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology (MIT), Cambridge, MA, USA","institution_ids":["https://openalex.org/I63966007"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Rahul Goel","orcid":"https://orcid.org/0000-0002-9564-4022"},"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":"Rahul Goel","raw_affiliation_strings":["Massachusetts Institute of Technology (MIT), Cambridge, MA, USA"],"raw_orcid":"https://orcid.org/0000-0002-9564-4022","affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology (MIT), Cambridge, MA, USA","institution_ids":["https://openalex.org/I63966007"]}]},{"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":["Massachusetts Institute of Technology (MIT), Cambridge, MA, USA"],"raw_orcid":"https://orcid.org/0000-0001-6243-9543","affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology (MIT), Cambridge, MA, USA","institution_ids":["https://openalex.org/I63966007"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5036542947","display_name":"Justin Solomon","orcid":"https://orcid.org/0000-0002-7701-7586"},"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":"Justin Solomon","raw_affiliation_strings":["Massachusetts Institute of Technology (MIT), Cambridge, MA, USA"],"raw_orcid":"https://orcid.org/0000-0002-7701-7586","affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology (MIT), Cambridge, MA, USA","institution_ids":["https://openalex.org/I63966007"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I63966007"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.01099434,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"45","issue":"4","first_page":"1","last_page":"18"},"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.40400001406669617,"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.40400001406669617,"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/T10719","display_name":"3D Shape Modeling and Analysis","score":0.2529999911785126,"subfield":{"id":"https://openalex.org/subfields/2206","display_name":"Computational Mechanics"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10481","display_name":"Computer Graphics and Visualization Techniques","score":0.057100001722574234,"subfield":{"id":"https://openalex.org/subfields/1704","display_name":"Computer Graphics and Computer-Aided Design"},"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/solver","display_name":"Solver","score":0.7652000188827515},{"id":"https://openalex.org/keywords/automatic-differentiation","display_name":"Automatic differentiation","score":0.7297000288963318},{"id":"https://openalex.org/keywords/hessian-matrix","display_name":"Hessian matrix","score":0.5968999862670898},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.5303999781608582},{"id":"https://openalex.org/keywords/jacobian-matrix-and-determinant","display_name":"Jacobian matrix and determinant","score":0.453900009393692},{"id":"https://openalex.org/keywords/sparse-matrix","display_name":"Sparse matrix","score":0.42570000886917114},{"id":"https://openalex.org/keywords/scalar","display_name":"Scalar (mathematics)","score":0.40560001134872437},{"id":"https://openalex.org/keywords/linear-system","display_name":"Linear system","score":0.3993000090122223},{"id":"https://openalex.org/keywords/kernel","display_name":"Kernel (algebra)","score":0.39070001244544983}],"concepts":[{"id":"https://openalex.org/C2778770139","wikidata":"https://www.wikidata.org/wiki/Q1966904","display_name":"Solver","level":2,"score":0.7652000188827515},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.734000027179718},{"id":"https://openalex.org/C133512626","wikidata":"https://www.wikidata.org/wiki/Q787371","display_name":"Automatic differentiation","level":3,"score":0.7297000288963318},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5990999937057495},{"id":"https://openalex.org/C203616005","wikidata":"https://www.wikidata.org/wiki/Q620495","display_name":"Hessian matrix","level":2,"score":0.5968999862670898},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.5303999781608582},{"id":"https://openalex.org/C200331156","wikidata":"https://www.wikidata.org/wiki/Q506041","display_name":"Jacobian matrix and determinant","level":2,"score":0.453900009393692},{"id":"https://openalex.org/C56372850","wikidata":"https://www.wikidata.org/wiki/Q1050404","display_name":"Sparse matrix","level":3,"score":0.42570000886917114},{"id":"https://openalex.org/C459310","wikidata":"https://www.wikidata.org/wiki/Q117801","display_name":"Computational science","level":1,"score":0.4066999852657318},{"id":"https://openalex.org/C57691317","wikidata":"https://www.wikidata.org/wiki/Q1289248","display_name":"Scalar (mathematics)","level":2,"score":0.40560001134872437},{"id":"https://openalex.org/C6802819","wikidata":"https://www.wikidata.org/wiki/Q1072174","display_name":"Linear system","level":2,"score":0.3993000090122223},{"id":"https://openalex.org/C74193536","wikidata":"https://www.wikidata.org/wiki/Q574844","display_name":"Kernel (algebra)","level":2,"score":0.39070001244544983},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.38089999556541443},{"id":"https://openalex.org/C124066611","wikidata":"https://www.wikidata.org/wiki/Q28684319","display_name":"Sparse approximation","level":2,"score":0.3734999895095825},{"id":"https://openalex.org/C165696696","wikidata":"https://www.wikidata.org/wiki/Q11287","display_name":"Exploit","level":2,"score":0.34689998626708984},{"id":"https://openalex.org/C2779808786","wikidata":"https://www.wikidata.org/wiki/Q6664603","display_name":"Locality","level":2,"score":0.33660000562667847},{"id":"https://openalex.org/C158622935","wikidata":"https://www.wikidata.org/wiki/Q660848","display_name":"Nonlinear system","level":2,"score":0.3314000070095062},{"id":"https://openalex.org/C204323151","wikidata":"https://www.wikidata.org/wiki/Q905424","display_name":"Range (aeronautics)","level":2,"score":0.3269999921321869},{"id":"https://openalex.org/C529865628","wikidata":"https://www.wikidata.org/wiki/Q1790740","display_name":"Manifold (fluid mechanics)","level":2,"score":0.32249999046325684},{"id":"https://openalex.org/C157553263","wikidata":"https://www.wikidata.org/wiki/Q5168004","display_name":"Coordinate descent","level":2,"score":0.30469998717308044},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.2971000075340271},{"id":"https://openalex.org/C198927703","wikidata":"https://www.wikidata.org/wiki/Q4373881","display_name":"Sequential quadratic programming","level":3,"score":0.2955999970436096},{"id":"https://openalex.org/C2778119891","wikidata":"https://www.wikidata.org/wiki/Q477690","display_name":"CUDA","level":2,"score":0.27709999680519104},{"id":"https://openalex.org/C37404715","wikidata":"https://www.wikidata.org/wiki/Q380679","display_name":"Dynamic programming","level":2,"score":0.2770000100135803},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.2696000039577484},{"id":"https://openalex.org/C161824985","wikidata":"https://www.wikidata.org/wiki/Q919509","display_name":"Vector processor","level":2,"score":0.2696000039577484},{"id":"https://openalex.org/C94523830","wikidata":"https://www.wikidata.org/wiki/Q11203","display_name":"System of linear equations","level":2,"score":0.2533000111579895},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.2533000111579895},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.2529999911785126}],"mesh":[],"locations_count":5,"locations":[{"id":"doi:10.1145/3811338","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3811338","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"},{"id":"pmh:oai:arXiv.org:2509.00406","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2509.00406","pdf_url":"https://arxiv.org/pdf/2509.00406","source":{"id":"https://openalex.org/S4393918464","display_name":"ArXiv.org","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"pmh:oai:arXiv.org:2509.00406","is_oa":true,"landing_page_url":"https://arxiv.org/abs/2509.00406","pdf_url":"https://arxiv.org/pdf/2509.00406","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"pmh:doi:10.48550/arxiv.2509.00406","is_oa":true,"landing_page_url":null,"pdf_url":null,"source":{"id":"https://openalex.org/S4406922384","display_name":"Open MIND","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Article"},{"id":"doi:10.48550/arxiv.2509.00406","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.2509.00406","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"Preprint"}],"best_oa_location":{"id":"doi:10.1145/3811338","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3811338","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/G6965949542","display_name":null,"funder_award_id":"OAC2403239","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G7952129033","display_name":null,"funder_award_id":"IIS2335492","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":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":[],"abstract_inverted_index":{"We":[0,130,172],"present":[1],"a":[2,176],"GPU-based":[3],"system":[4,26,93,110,133,158,213],"for":[5,185],"automatic":[6],"differentiation":[7,72,162],"(AD)":[8],"of":[9,178],"functions":[10],"defined":[11],"on":[12,51,134],"triangle":[13],"meshes,":[14],"designed":[15],"to":[16,36,189],"exploit":[17],"the":[18,52],"locality":[19],"and":[20,38,41,47,61,69,76,102,114,121,138,150,170,183,191,194,209],"sparsity":[21,119],"in":[22],"mesh-based":[23],"computation.":[24],"Our":[25,80,109,212],"evaluates":[27],"derivatives":[28],"using":[29],"perelement":[30],"forward-mode":[31],"AD,":[32],"confining":[33],"all":[34],"computation":[35,57],"registers":[37],"shared":[39],"memory":[40,67],"assembling":[42],"global":[43,56],"gradients,":[44],"sparse":[45,48,100,127,207],"Jacobians,":[46],"Hessians":[49],"directly":[50],"GPU.":[53],"By":[54],"avoiding":[55],"graphs,":[58],"intermediate":[59],"buffers,":[60],"device-host":[62],"synchronization,":[63],"our":[64,92,132,157],"approach":[65],"minimizes":[66],"traffic":[68],"enables":[70],"efficient":[71],"under":[73],"both":[74,112],"static":[75],"dynamically":[77],"changing":[78],"sparsity.":[79],"programming":[81],"model":[82],"lets":[83],"users":[84],"express":[85],"energy":[86],"terms":[87],"over":[88],"mesh":[89,143],"neighborhoods,":[90],"while":[91],"automatically":[94],"manages":[95],"parallel":[96],"execution,":[97],"derivative":[98,197],"propagation,":[99],"assembly,":[101],"matrix-free":[103],"operations":[104],"such":[105],"as":[106,203,205,216],"Hessian-vector":[107,201],"products.":[108],"supports":[111],"scalar-":[113],"vector-valued":[115],"objectives,":[116],"dynamic":[117],"interaction-driven":[118],"updates,":[120],"seamless":[122],"integration":[123],"with":[124],"external":[125],"GPU":[126],"linear":[128],"solvers.":[129],"evaluate":[131],"applications":[135],"including":[136,164,200],"elastic":[137],"cloth":[139],"simulation,":[140],"surface":[141],"parameterization,":[142],"smoothing,":[144],"frame":[145],"field":[146],"design,":[147],"ARAP":[148],"deformation,":[149],"spherical":[151],"manifold":[152],"optimization.":[153],"Across":[154],"these":[155],"tasks,":[156],"consistently":[159],"outperforms":[160],"state-of-the-art":[161],"frameworks,":[163],"PyTorch,":[165],"JAX,":[166],"Warp,":[167],"Dr.JIT,":[168],"EnzymeAD,":[169],"Thallo.":[171],"demonstrate":[173],"speedups":[174],"across":[175,195],"range":[177],"solver":[179],"types,":[180],"from":[181],"Newton":[182],"Gauss-Newton":[184],"nonlinear":[186],"least":[187],"squares":[188],"L-BFGS":[190],"gradient":[192],"descent,":[193],"different":[196],"usage":[198],"modes,":[199],"products":[202],"well":[204],"full":[206],"Hessian":[208],"Jacobian":[210],"construction.":[211],"is":[214],"available":[215],"open":[217],"source":[218],"at":[219],"https://github.com/owensgroup/RXMesh.":[220]},"counts_by_year":[],"updated_date":"2026-07-05T06:12:00.321722","created_date":"2025-10-10T00:00:00"}
