Johannes Blühdorn, Pedro Gomes, Max Aehle, Nicolas R. Gauger
{"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}
引用次数: 0
Abstract
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.