{"id":"https://openalex.org/W4387674212","doi":"https://doi.org/10.1145/3622822","title":"Mat2Stencil: A Modular Matrix-Based DSL for Explicit and Implicit Matrix-Free PDE Solvers on Structured Grid","display_name":"Mat2Stencil: A Modular Matrix-Based DSL for Explicit and Implicit Matrix-Free PDE Solvers on Structured Grid","publication_year":2023,"publication_date":"2023-10-16","ids":{"openalex":"https://openalex.org/W4387674212","doi":"https://doi.org/10.1145/3622822"},"language":"en","primary_location":{"id":"doi:10.1145/3622822","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622822","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622822","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3622822","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5016089490","display_name":"Huanqi Cao","orcid":"https://orcid.org/0000-0002-3870-106X"},"institutions":[{"id":"https://openalex.org/I99065089","display_name":"Tsinghua University","ror":"https://ror.org/03cve4549","country_code":"CN","type":"education","lineage":["https://openalex.org/I99065089"]}],"countries":["CN"],"is_corresponding":true,"raw_author_name":"Huanqi Cao","raw_affiliation_strings":["Tsinghua University, Beijing, China"],"affiliations":[{"raw_affiliation_string":"Tsinghua University, Beijing, China","institution_ids":["https://openalex.org/I99065089"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5023681514","display_name":"Shizhi Tang","orcid":"https://orcid.org/0000-0002-6543-0859"},"institutions":[{"id":"https://openalex.org/I99065089","display_name":"Tsinghua University","ror":"https://ror.org/03cve4549","country_code":"CN","type":"education","lineage":["https://openalex.org/I99065089"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Shizhi Tang","raw_affiliation_strings":["Tsinghua University, Beijing, China"],"affiliations":[{"raw_affiliation_string":"Tsinghua University, Beijing, China","institution_ids":["https://openalex.org/I99065089"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5043475210","display_name":"Qianchao Zhu","orcid":"https://orcid.org/0009-0001-5021-2912"},"institutions":[{"id":"https://openalex.org/I20231570","display_name":"Peking University","ror":"https://ror.org/02v51f717","country_code":"CN","type":"education","lineage":["https://openalex.org/I20231570"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Qianchao Zhu","raw_affiliation_strings":["Peking University, Beijing, China"],"affiliations":[{"raw_affiliation_string":"Peking University, Beijing, China","institution_ids":["https://openalex.org/I20231570"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5063948705","display_name":"Bowen Yu","orcid":"https://orcid.org/0000-0001-5537-8244"},"institutions":[{"id":"https://openalex.org/I99065089","display_name":"Tsinghua University","ror":"https://ror.org/03cve4549","country_code":"CN","type":"education","lineage":["https://openalex.org/I99065089"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Bowen Yu","raw_affiliation_strings":["Tsinghua University, Beijing, China"],"affiliations":[{"raw_affiliation_string":"Tsinghua University, Beijing, China","institution_ids":["https://openalex.org/I99065089"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5103141832","display_name":"Wenguang Chen","orcid":"https://orcid.org/0000-0002-4281-1018"},"institutions":[{"id":"https://openalex.org/I4210136793","display_name":"Peng Cheng Laboratory","ror":"https://ror.org/03qdqbt06","country_code":"CN","type":"facility","lineage":["https://openalex.org/I4210136793"]},{"id":"https://openalex.org/I99065089","display_name":"Tsinghua University","ror":"https://ror.org/03cve4549","country_code":"CN","type":"education","lineage":["https://openalex.org/I99065089"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Wenguang Chen","raw_affiliation_strings":["Tsinghua University, Beijing, China / Pengcheng Laboratory, Shenzhen, China"],"affiliations":[{"raw_affiliation_string":"Tsinghua University, Beijing, China / Pengcheng Laboratory, Shenzhen, China","institution_ids":["https://openalex.org/I4210136793","https://openalex.org/I99065089"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5016089490"],"corresponding_institution_ids":["https://openalex.org/I99065089"],"apc_list":null,"apc_paid":null,"fwci":1.2038,"has_fulltext":true,"cited_by_count":4,"citation_normalized_percentile":{"value":0.77903078,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":96},"biblio":{"volume":"7","issue":"OOPSLA2","first_page":"686","last_page":"715"},"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.9994000196456909,"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.9994000196456909,"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/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9957000017166138,"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/T10792","display_name":"Matrix Theory and Algorithms","score":0.9950000047683716,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.8166711330413818},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7495818138122559},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6371392607688904},{"id":"https://openalex.org/keywords/stencil","display_name":"Stencil","score":0.5141773223876953},{"id":"https://openalex.org/keywords/source-lines-of-code","display_name":"Source lines of code","score":0.48883169889450073},{"id":"https://openalex.org/keywords/grid","display_name":"Grid","score":0.4888257384300232},{"id":"https://openalex.org/keywords/multigrid-method","display_name":"Multigrid method","score":0.48287180066108704},{"id":"https://openalex.org/keywords/cholesky-decomposition","display_name":"Cholesky decomposition","score":0.4525538980960846},{"id":"https://openalex.org/keywords/digital-subscriber-line","display_name":"Digital subscriber line","score":0.4310522675514221},{"id":"https://openalex.org/keywords/conjugate-gradient-method","display_name":"Conjugate gradient method","score":0.423637330532074},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.41549327969551086},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.4147747755050659},{"id":"https://openalex.org/keywords/computational-science","display_name":"Computational science","score":0.36284971237182617},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3202158808708191},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3111538887023926},{"id":"https://openalex.org/keywords/partial-differential-equation","display_name":"Partial differential equation","score":0.2676630914211273},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.2149912714958191},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.1179080605506897},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.09430113434791565}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8166711330413818},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7495818138122559},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6371392607688904},{"id":"https://openalex.org/C76752949","wikidata":"https://www.wikidata.org/wiki/Q7607499","display_name":"Stencil","level":2,"score":0.5141773223876953},{"id":"https://openalex.org/C199519371","wikidata":"https://www.wikidata.org/wiki/Q942695","display_name":"Source lines of code","level":3,"score":0.48883169889450073},{"id":"https://openalex.org/C187691185","wikidata":"https://www.wikidata.org/wiki/Q2020720","display_name":"Grid","level":2,"score":0.4888257384300232},{"id":"https://openalex.org/C137119250","wikidata":"https://www.wikidata.org/wiki/Q1413101","display_name":"Multigrid method","level":3,"score":0.48287180066108704},{"id":"https://openalex.org/C34727166","wikidata":"https://www.wikidata.org/wiki/Q515375","display_name":"Cholesky decomposition","level":3,"score":0.4525538980960846},{"id":"https://openalex.org/C201374245","wikidata":"https://www.wikidata.org/wiki/Q104534","display_name":"Digital subscriber line","level":2,"score":0.4310522675514221},{"id":"https://openalex.org/C81184566","wikidata":"https://www.wikidata.org/wiki/Q1191895","display_name":"Conjugate gradient method","level":2,"score":0.423637330532074},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.41549327969551086},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.4147747755050659},{"id":"https://openalex.org/C459310","wikidata":"https://www.wikidata.org/wiki/Q117801","display_name":"Computational science","level":1,"score":0.36284971237182617},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3202158808708191},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3111538887023926},{"id":"https://openalex.org/C93779851","wikidata":"https://www.wikidata.org/wiki/Q271977","display_name":"Partial differential equation","level":2,"score":0.2676630914211273},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2149912714958191},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.1179080605506897},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.09430113434791565},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0},{"id":"https://openalex.org/C158693339","wikidata":"https://www.wikidata.org/wiki/Q190524","display_name":"Eigenvalues and eigenvectors","level":2,"score":0.0},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3622822","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622822","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622822","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3622822","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622822","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622822","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[{"display_name":"Industry, innovation and infrastructure","score":0.46000000834465027,"id":"https://metadata.un.org/sdg/9"}],"awards":[{"id":"https://openalex.org/G3385202973","display_name":null,"funder_award_id":"U20B2044","funder_id":"https://openalex.org/F4320321001","funder_display_name":"National Natural Science Foundation of China"},{"id":"https://openalex.org/G4020255992","display_name":null,"funder_award_id":"Project","funder_id":"https://openalex.org/F4320321001","funder_display_name":"National Natural Science Foundation of China"},{"id":"https://openalex.org/G6424503130","display_name":null,"funder_award_id":"U20B204","funder_id":"https://openalex.org/F4320321001","funder_display_name":"National Natural Science Foundation of China"},{"id":"https://openalex.org/G8955107213","display_name":null,"funder_award_id":"Major","funder_id":"https://openalex.org/F4320321001","funder_display_name":"National Natural Science Foundation of China"}],"funders":[{"id":"https://openalex.org/F4320321001","display_name":"National Natural Science Foundation of China","ror":"https://ror.org/01h0zpd94"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4387674212.pdf","grobid_xml":"https://content.openalex.org/works/W4387674212.grobid-xml"},"referenced_works_count":42,"referenced_works":["https://openalex.org/W1133087070","https://openalex.org/W1480909796","https://openalex.org/W1487278226","https://openalex.org/W1506342804","https://openalex.org/W1558370006","https://openalex.org/W1970141743","https://openalex.org/W1979457157","https://openalex.org/W2003798513","https://openalex.org/W2034761517","https://openalex.org/W2039378765","https://openalex.org/W2044804449","https://openalex.org/W2095258827","https://openalex.org/W2098688018","https://openalex.org/W2112121929","https://openalex.org/W2114977680","https://openalex.org/W2129471558","https://openalex.org/W2143609451","https://openalex.org/W2147578933","https://openalex.org/W2156095889","https://openalex.org/W2160183719","https://openalex.org/W2318529993","https://openalex.org/W2482071863","https://openalex.org/W2528222261","https://openalex.org/W2620201258","https://openalex.org/W2724694202","https://openalex.org/W2751354592","https://openalex.org/W2753718226","https://openalex.org/W2797202077","https://openalex.org/W2888730305","https://openalex.org/W2898037052","https://openalex.org/W2915753052","https://openalex.org/W2949967139","https://openalex.org/W2953944188","https://openalex.org/W3003257820","https://openalex.org/W3046781014","https://openalex.org/W3152199537","https://openalex.org/W3210190478","https://openalex.org/W4247828381","https://openalex.org/W4256207042","https://openalex.org/W4281710230","https://openalex.org/W4321496380","https://openalex.org/W6969098020"],"related_works":["https://openalex.org/W3105129168","https://openalex.org/W2403987929","https://openalex.org/W2374847384","https://openalex.org/W4316371992","https://openalex.org/W2186216222","https://openalex.org/W2107649022","https://openalex.org/W2356488190","https://openalex.org/W307712065","https://openalex.org/W2472960266","https://openalex.org/W2244508497"],"abstract_inverted_index":{"Partial":[0],"differential":[1],"equation":[2],"(PDE)":[3],"solvers":[4,51,69],"are":[5],"extensively":[6],"utilized":[7],"across":[8,70],"numerous":[9],"scientific":[10],"and":[11,18,23,65,87,157,185,203],"engineering":[12],"fields.":[13],"However,":[14],"achieving":[15],"high":[16],"performance":[17,207],"scalability":[19],"often":[20],"necessitates":[21],"intricate":[22],"low-level":[24],"programming,":[25],"particularly":[26],"when":[27],"leveraging":[28],"deterministic":[29,147],"sparsity":[30],"patterns":[31],"in":[32,113,119,176],"structured":[33,53,58],"grids.":[34,54],"In":[35],"this":[36],"paper,":[37],"we":[38,198],"propose":[39,132],"an":[40,159],"innovative":[41],"domain-specific":[42],"language":[43],"(DSL),":[44],"Mat2Stencil,":[45],"with":[46,163,180,193],"its":[47],"compiler,":[48],"for":[49,138,150],"PDE":[50],"on":[52,127,204],"Mat2Stencil":[55],"introduces":[56],"a":[57,71,133,145],"sparse":[59],"matrix":[60],"abstraction,":[61],"facilitating":[62],"modular,":[63],"flexible,":[64],"easy-to-use":[66],"expression":[67],"of":[68,101,116,171,183,196],"broad":[72],"spectrum,":[73],"encompassing":[74],"components":[75],"such":[76],"as":[77],"Jacobi":[78],"or":[79,84],"Gauss-Seidel":[80],"preconditioners,":[81],"incomplete":[82],"LU":[83],"Cholesky":[85],"decompositions,":[86],"multigrid":[88],"methods":[89],"built":[90],"upon":[91],"them.":[92],"Our":[93],"DSL":[94],"compiler":[95],"subsequently":[96],"generates":[97,158],"matrix-free":[98,188],"code":[99,108,184],"consisting":[100],"generalized":[102],"stencils":[103],"through":[104],"multi-stage":[105],"programming.":[106],"The":[107],"allows":[109],"spatial":[110,128],"loop-carried":[111],"dependence":[112],"the":[114,122,139,174],"form":[115],"quasi-affine":[117],"loops,":[118,142],"addition":[120],"to":[121,201,209],"Jacobi-style":[123],"stencil\u2019s":[124],"embarrassingly":[125],"parallel":[126],"dimensions.":[129],"We":[130],"further":[131],"novel":[134],"automatic":[135],"parallelization":[136],"technique":[137],"spatially":[140],"dependent":[141],"which":[143],"offers":[144],"compile-time":[146],"task":[148],"partitioning":[149],"threading,":[151],"calculates":[152],"necessary":[153],"inter-thread":[154],"synchronization":[155],"automatically,":[156],"efficient":[160],"multi-threaded":[161],"implementation":[162],"fine-grained":[164],"synchronization.":[165],"Implementing":[166],"4":[167],"benchmarking":[168],"programs,":[169],"3":[170],"them":[172],"being":[173,187],"pseudo-applications":[175],"NAS":[177],"Parallel":[178],"Benchmarks":[179],"6.3%":[181],"lines":[182,195],"1":[186],"High":[189],"Performance":[190],"Conjugate":[191],"Gradients":[192],"16.4%":[194],"code,":[197],"achieve":[199],"up":[200],"1.67\u00d7":[202],"average":[205],"1.03\u00d7":[206],"compared":[208],"manual":[210],"implementations.":[211]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":2}],"updated_date":"2026-04-15T08:11:43.952461","created_date":"2025-10-10T00:00:00"}
