Johannes Blühdorn, Pedro Gomes, Max Aehle, Nicolas R. Gauger
{"title":"SU2 中的混合并行离散邻接","authors":"Johannes Blühdorn, Pedro Gomes, Max Aehle, Nicolas R. Gauger","doi":"arxiv-2405.06056","DOIUrl":null,"url":null,"abstract":"The open-source multiphysics suite SU2 features discrete adjoints by means of\noperator overloading automatic differentiation (AD). While both primal and\ndiscrete adjoint solvers support MPI parallelism, hybrid parallelism using both\nMPI and OpenMP has only been introduced for the primal solvers so far. In this\nwork, we enable hybrid parallel discrete adjoint solvers. Coupling SU2 with\nOpDiLib, an add-on for operator overloading AD tools that extends AD to OpenMP\nparallelism, marks a key step in this endeavour. We identify the affected parts\nof SU2's advanced AD workflow and discuss the required changes and their\ntradeoffs. Detailed performance studies compare MPI parallel and hybrid\nparallel discrete adjoints in terms of memory and runtime and unveil key\nperformance characteristics. We showcase the effectiveness of performance\noptimizations and highlight perspectives for future improvements. At the same\ntime, this study demonstrates the applicability of OpDiLib in a large code base\nand its scalability on large test cases, providing valuable insights for future\napplications both within and beyond SU2.","PeriodicalId":501256,"journal":{"name":"arXiv - CS - Mathematical Software","volume":"208 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-05-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Hybrid Parallel Discrete Adjoints in SU2\",\"authors\":\"Johannes Blühdorn, Pedro Gomes, Max Aehle, Nicolas R. Gauger\",\"doi\":\"arxiv-2405.06056\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The open-source multiphysics suite SU2 features discrete adjoints by means of\\noperator overloading automatic differentiation (AD). While both primal and\\ndiscrete adjoint solvers support MPI parallelism, hybrid parallelism using both\\nMPI and OpenMP has only been introduced for the primal solvers so far. In this\\nwork, we enable hybrid parallel discrete adjoint solvers. Coupling SU2 with\\nOpDiLib, an add-on for operator overloading AD tools that extends AD to OpenMP\\nparallelism, marks a key step in this endeavour. We identify the affected parts\\nof SU2's advanced AD workflow and discuss the required changes and their\\ntradeoffs. Detailed performance studies compare MPI parallel and hybrid\\nparallel discrete adjoints in terms of memory and runtime and unveil key\\nperformance characteristics. We showcase the effectiveness of performance\\noptimizations and highlight perspectives for future improvements. At the same\\ntime, this study demonstrates the applicability of OpDiLib in a large code base\\nand its scalability on large test cases, providing valuable insights for future\\napplications both within and beyond SU2.\",\"PeriodicalId\":501256,\"journal\":{\"name\":\"arXiv - CS - Mathematical Software\",\"volume\":\"208 1\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-05-09\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - CS - Mathematical Software\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2405.06056\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Mathematical Software","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2405.06056","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
摘要
开源多物理场套件 SU2 通过操作符重载自动微分(AD)技术实现了离散邻接。虽然基元求解器和离散邻接求解器都支持 MPI 并行,但使用 MPI 和 OpenMP 的混合并行迄今只在基元求解器中引入过。在这项工作中,我们启用了混合并行离散邻接求解器。将 SU2 与 OpDiLib(运算符重载 AD 工具的附加组件,可将 AD 扩展到 OpenMP 并行性)耦合是这一努力的关键一步。我们确定了 SU2 高级 AD 工作流程中受影响的部分,并讨论了所需的更改及其代价。详细的性能研究比较了内存和运行时间方面的 MPI 并行和混合并行离散邻接,并揭示了关键性能特征。我们展示了性能优化的有效性,并强调了未来改进的前景。同时,本研究还展示了 OpDiLib 在大型代码库中的适用性及其在大型测试案例中的可扩展性,为 SU2 内外的未来应用提供了宝贵的见解。
The open-source multiphysics suite SU2 features discrete adjoints by means of
operator overloading automatic differentiation (AD). While both primal and
discrete adjoint solvers support MPI parallelism, hybrid parallelism using both
MPI and OpenMP has only been introduced for the primal solvers so far. In this
work, we enable hybrid parallel discrete adjoint solvers. Coupling SU2 with
OpDiLib, an add-on for operator overloading AD tools that extends AD to OpenMP
parallelism, marks a key step in this endeavour. We identify the affected parts
of SU2's advanced AD workflow and discuss the required changes and their
tradeoffs. Detailed performance studies compare MPI parallel and hybrid
parallel discrete adjoints in terms of memory and runtime and unveil key
performance characteristics. We showcase the effectiveness of performance
optimizations and highlight perspectives for future improvements. At the same
time, this study demonstrates the applicability of OpDiLib in a large code base
and its scalability on large test cases, providing valuable insights for future
applications both within and beyond SU2.