In recent years, one-sided communication has emerged as an alternative to message-based communication to improve the scalability of distributed programs. Decoupling communication and synchronization in such programs allows for more asynchronous execution of processes, but introduces new challenges to ensure program correctness and efficiency. The concept of memory access diagrams presented in this paper opens up a new analysis perspective to the programmer. Our approach visualizes the interaction of synchronous, asynchronous, and remote memory accesses. We present an interactive tool that can be used to perform a postmortem analysis of a distributed program execution. The tool supports hybrid parallel programs, shared MPI windows, and GASPI communication operations. In two application studies taken from the European aerospace industry we illustrate the usefulness of memory access diagrams for visualizing and understanding the logical causes of programming errors, performance flaws, and to find optimization opportunities.
Various numerical applications in the context of multidisciplinary high-fidelity aircraft design, e.g. fluid-structure interaction or shape optimization, require the consideration of changes in the geometry of the aircraft shape. Such geometry changes can be realized using mesh deformations, and we demonstrate such a volume mesh deformation method based on elasticity analogy in conjunction with line-implicit solvers. Line-implicit solvers have already been successfully used in CFD simulations with strongly anisotropic cells in a viscous boundary layer, and are now applied to mesh deformation problems of such meshes. In this approach, the solution of a block-tridiagonal subsystem of the Jacobian matrix is computed exactly using the Thomas algorithm. Here, the selection of the tridiagonal part – representing the lines – is of crucial importance for the speed of convergence. A new algorithm for line identification is presented and compared with existing ones. Also, a comparison and combination of these methods with multigrid methods is performed and the implications for industrially relevant test cases are demonstrated.
Line-implicit preconditioners are well known in computational fluid dynamics (CFD) solvers and are an essential component to handle meshes with cells of very high aspect ratio (> 1000:1). Such anisotropic cells are commonly used to resolve steep gradients in the boundary layer of a turbulent flow with high Reynolds number. To date, this technique has rarely been used to solve other partial differential equations. We show that the advantages of such preconditioners do not depend on the partial differential equation or discretization used, but also apply to other problems like a node-based mesh deformation with linear elasticity on such meshes. We show the influence of the selection of these lines, and present a new algorithm for identifying lines for line-implicit preconditioners. This new algorithm makes better use of parallel processors and leads to more homogeneous lines. Finally, we see that using the same line-implicit preconditioner, but the new line identification algorithm, even leads to faster convergence for the mesh deformation problem based on linear elasticity.
One of the main targets of DLR's project Victoria is the development of a platform for multi-disciplinary analysis and optimization (MDA/O) on massively parallel High Performance Computing (HPC) clusters. The activity consists of three main parts: FlowSimulator as integration platform for multiple disciplines, Flucs (Flexible Unstructured CFD Software) as new Computational fluid Dynamics (CFD) capability targeting HPC efficiency as well as a consistent implementation of both established and new methodologies including high order discretization schemes, and Spliss (Sparse Linear System Solver) as a dedicated HPC-driven linear solver library for CFD applications.
An adjoint-based Trim-Corrected Optimization Strategy (TCOS) with active engines is presented with applications to a three-dimensional modern transport aircraft configuration. The airframe drag is minimized using a gradient-based optimization algorithm by adapting the shape parameters alone while a trim process guarantees by means of the trim parameters that the design satisfies the aircrafts steady-state equilibrium of forces and moments. Following this approach, the sensitivity of the objective function is corrected in order to be consistent with the trim constraints. The backbone of the design evaluation process is the HPC-based environment FlowSimulator allowing for an in-memory data exchange between the involved primal tools and their dual counterparts. These are a freeform deformation parametrization, a mesh deformation method based on the linear elasticity analogy preserving the fuselage shape during the horizontal tail plane deflection and the finite-volume RANS solver TAU including the numerical engine treatment and a fully differentiated discrete-adjoint implementation. Several optimization studies were performed to quantify the impact of an active and controlled engine on the optimization result, but also to compare the TCOS performance against that of a conventional gradient-based Direct Optimization Strategy (DOS) in which the trim constraints and parameters are explicitly handled by the optimization algorithm. TCOS was found to achieve similar overall drag reductions as DOS. However, TCOS was able to significantly reduce the drag during the first few iterations while resulting in a feasible design in every optimization iteration.
Fur die aerodynamische Formoptimierung eines freifliegenden, selbstangetriebenen Flugzeugs mussen die relevanten Steuerflachen und der Triebwerksschub berucksichtigt werden, um den gewunschten Flugzustand als Optimierungsnebenbedingung zu halten. In einem gradientenbasierten Optimierungsprozess finden daher neben dem Basis-RANS-Verfahren die Netzdeformation fur Formanderungen und Bewegungen der Steuerflachen, die Triebwerksrandbehandlung und der numerische Trimmprozess Eingang in die Sensitivitatsanalyse. Die wesentlichen Bausteine des adjungierten Prozesses sind: (a) der diskret-adjungierte RANS-Loser TAU mit linearisierter Triebwerksrandbehandlung, (b) die adjungierte Netzdeformation entsprechend der Methode der linearen Elastizitat, (c) die differenzierte Freiformdeformation zur Formparametrisierung sowie (d) ein auf einem Pseudo-Newton-Verfahren basiertes Trimm-Modul fur die Berucksichtigung der Trimmnebenbedingungen. Der erste Teil des Artikels beschreibt den Aufbau einer gradientenbasierten Optimierungsprozesskette fur eine implizit getrimmte, selbstangetriebene Flugzeugkonfiguration unter Berucksichtigung der Triebwerkswirkung. Der primal-duale Simulationsprozess bestehend aus den Bausteinen (a-d) ist in der modularen HPC-Plattform FlowSimulator realisiert, was einen annahernd I/O-freien Workflow ermoglicht. In der adjungierten Sensitivitatsanalyse werden die Zielfunktionsgradienten korrigiert, um die Trimmnebenbedingungen zu berucksichtigen. Im zweiten Teil des Artikels wird die skizzierte Prozesskette zunachst zur Widerstandsminimierung einer stark vereinfachten, getrimmten zweidimensionalen Flugzeugkonfiguration verwendet. Dabei werden zwei Strategien fur die Einbehaltung der Trimmnebenbedingungen verglichen. Darauffolgend wird die Anwendbarkeit der Methode fur die Optimierung einer generischen, dreidimensionalen Transportflugzeugkonfiguration im Reiseflug demonstriert.
We introduce Spliss, a novel block sparse linear solver library, which is designed to meet current and upcoming challenges in the CFD development. Spliss supports a wide range of linear operators typically used in CFD applications. This includes sparse block matrices of variable block sizes and different scalar types as well as matrix-free operators. The provided solving methods comprise standard methods such as Jacobi or Gauss-Seidel smoothers, Krylov subspace methods, and domain-specific methods such as direct block-tridiagonal solvers. Spliss uses contemporary and emerging HPC technologies such as one-sided communication, hybrid and heterogeneous parallelization. The C++ template interface allows for extensions of the library and specialization of its internals for optimization. We explain the integration of Spliss in the two CFD solvers CODA and TRACE. Finally, we show how CODA benefits from using Spliss by offloading the linear solver to GPUs.