Skip to content

Commit 402a31c

Browse files
committed
Refine application documentation for clarity and consistency across multiple sections, including updates to the framework, specifications, and demonstrators. Enhance descriptions of methodologies, benchmarks, and I/O operations to improve readability and understanding.
1 parent 6efc8ad commit 402a31c

9 files changed

Lines changed: 60 additions & 139 deletions

File tree

chapters/applications/framework.tex

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ \section{Application Frameworks \& Best Practices}
77
High‑performance Exa‑MA applications—mini‑apps through demonstrators—follow a unified framework to ensure reproducibility, portability, and maintainability, with minimal templates and CI hooks to apply the same conventions everywhere.
88

99
\subsection{Repository Layout}
10-
A common structure makes code, tests, and artifacts predictable across projects and easy to navigate.
11-
All repositories conform to:
10+
A common structure makes code, tests, and artifacts predictable; repositories conform to:
1211
\begin{verbatim}
1312
src/ % core code
1413
tests/ % unit, regression, convergence tests
@@ -27,15 +26,15 @@ \subsection{Environment Management}
2726
\end{itemize}
2827

2928
\subsection{CI/CD Pipelines}
30-
Automated workflows standardize building, testing, and benchmarking, and leverage shared actions across repositories.
29+
Automated workflows standardize build, test, and benchmark; shared actions keep repositories consistent.
3130
\begin{itemize}
3231
\item Define workflows for \texttt{build}, \texttt{test}, \texttt{benchmark}, \texttt{lint}.
3332
\item Reuse WP7 shared actions via \texttt{uses: numpex/wp7-actions/...}.
34-
\item On merge to \texttt{develop} and nightly, run full benchmark suite and push metrics to Grafana.
33+
\item On merges and nightly runs, execute the full benchmark suite and push metrics to Grafana.
3534
\end{itemize}
3635

3736
\subsection{Containerization \& Packaging}
38-
Container images and versioning conventions provide reproducible execution on laptops and supercomputers alike.
37+
Container images and versioning conventions ensure reproducible execution locally and on supercomputers.
3938
\begin{itemize}
4039
\item Multi-stage Dockerfiles / Apptainer recipes in \texttt{containers/}.
4140
\item Base images tagged \texttt{<proj>-v<semver>-<date>}.
@@ -57,4 +56,4 @@ \subsection{Best Practices}
5756
\item Automate benchmarks on PRs (smoke) and nightly (full).
5857
\item Tag releases via GitHub Releases, include PDF report and container digests.
5958
\item Link all artifacts (code, containers, datasets) via DOIs for traceability.
60-
\end{itemize}
59+
\end{itemize}

chapters/applications/intro.tex

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,21 @@ \section{Introduction \& Scope}
66

77
Work Package 7 (WP7) provides the “glue” for Exa-MA, delivering the CI/CD framework, containerized environments, packaging standards, benchmarking suite, training materials, and automated deployment pipelines that bind together the methodological developments from WP1-WP6 into reproducible, high-performance demonstrators on supercomputers.
88

9-
This section defines the types of applications within Exa-MA and lays out their purpose, goals, and a classification scheme that keeps mini‑apps, extended mini‑apps, demonstrators, and proxy‑apps consistent and tied to measurable outcomes under WP7’s shared framework and CI.
9+
This section defines application categories and their role within WP7’s shared framework and CI, keeping mini‑apps, extended mini‑apps, demonstrators, and proxy‑apps consistent and tied to measurable outcomes.
1010

1111
\subsection{Purpose \& Goals}
12-
We align expectations across WPs by clarifying objectives, shared metrics, and delivery milestones for specifications, prototypes, and benchmarks.
12+
We align expectations across WPs by clarifying objectives, shared metrics, and delivery milestones:
1313
\begin{itemize}
14-
\item Align application research scope for WP1-WP6 with project KPIs.
14+
\item Align scope across WP1WP6 with project KPIs.
1515
\item Agree on key performance metrics and measurement methods.
16-
\item Confirm timelines for specification delivery, prototype runs, and benchmarking in D7.1 v2.
16+
\item Confirm timelines for specs, prototypes, and D7.1 v2 benchmarking.
1717
\end{itemize}
1818

1919
\subsection{Types of Applications}
20-
Each category comes with a clear scope, intended level of realism, and role in benchmarking and integration across the project.
21-
To ensure coherence across use-cases and scalability targets, Exa-MA classifies applications into four categories:
20+
We classify applications into four categories to align scope with benchmarking and integration across the project:
2221
\begin{description}
2322
\item[Mini-App:] A focused test of a single method or kernel (e.g., FEEL++ mesh operation).
2423
\item[Extended Mini-App:] Mini-App plus supporting scripts (I/O stress tests, data generation).
2524
\item[Demonstrator:] Integrated workflow spanning multiple WPs to showcase a real-world scientific scenario.
2625
\item[Proxy-App:] Representative workload combining three or more WPs to emulate full-stack exascale behavior.
27-
\end{description}
26+
\end{description}

chapters/applications/specs.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ \subsection{Scientific Purpose \& Methods}
2424
\end{itemize}
2525

2626
\subsection{Technical Metadata}
27-
The software and parallel stack document portability and scaling characteristics.
27+
The software and parallel stack capture portability and scaling characteristics.
2828
\begin{itemize}
2929
\item \texttt{framework}: Software framework (FEEL++, MFEM, PyTorch…).
3030
\item \texttt{parallel\_framework}: MPI, OpenMP, CUDA, Kokkos.
@@ -107,4 +107,4 @@ \subsection{Planning \& Documentation}
107107
\item \texttt{spec\_due}, \texttt{proto\_due}: Dates for spec and prototype.
108108
\item \texttt{repo\_url}, \texttt{tex\_url}: Links to code and docs.
109109
\item \texttt{notes}: Coordination remarks.
110-
\end{itemize}
110+
\end{itemize}

chapters/applications/specs/app-feelpp-discr-1.tex

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
\section{Demonstrator: Elliptic linear PDE: CG}
44
\label{sec:app:specs:app-feelpp-discr-1}
55

6-
We present here the demonstrator to numerically solve elliptic linear PDE using continuous Galerkin approach.
7-
Precisely, we solve here the heat transfer equation.
6+
This demonstrator solves an elliptic linear PDE (heat equation) using a continuous Galerkin approach.
87

98
\Cref{tab:app-feelpp-discr-1} describes the specifications of the application.
109

@@ -60,10 +59,9 @@ \subsection{Description of the benchmark}
6059
The standard is intended to ensure that thermal bridges' simulation are accurately computed.
6160
It provides reference values and tolerance on heat temperature and heat flux at several locations of the geometry.
6261

63-
At the mathematical level, this application requires finding the numerical
64-
solution of an elliptic linear PDE, namely the heat equation.
65-
We employ a finite element method based on continuous Lagrange Finite Element of order 1,2 and 3 (denoted by $\mathP_1$, $\mathP_2$, $\mathP_3$),
66-
and we analyze the execution time of the main components of the simulation.
62+
At the mathematical level, we solve an elliptic linear PDE (the heat equation).
63+
We employ continuous Lagrange finite elements of order 1, 2, and 3 ($\mathP_1$, $\mathP_2$, $\mathP_3$)
64+
and analyze the execution time of the main components of the simulation.
6765

6866
\Cref{fig:spec:app-feelpp-discr-1:thermal_bridges:geometry} represents the geometry
6967
of this benchmark and the domain decomposition by material.% the 3D temperature field solution, and an example of mesh partitioning.
@@ -421,4 +419,3 @@ \subsubsection{Scalability on I/O}
421419
\end{itemize}
422420

423421
These I/O characteristics are typical for large-scale finite element simulations and inform best practices for configuring output frequencies in production simulations.
424-

chapters/applications/specs/app-feelpp-discr-2.tex

Lines changed: 6 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
\section{Demonstrator: FDA nozzle (incompressible Navier--Stokes)}
44
\label{sec:app:specs:app-feelpp-discr-2}
55

6-
We present here the demonstrator to numerically solve the incompressible Navier--Stokes equations using stabilized finite element methods for the \emph{FDA medical device nozzle benchmark}. This benchmark, proposed by the US Food and Drug Administration, is widely used to assess stability, accuracy, and robustness of CFD solvers for biomedical applications \cite{hariharan_multilaboratory_2011,stewart_assessment_2012}. The specifications follow a similar structure to the elliptic PDE demonstrator in \Cref{sec:app:specs:app-feelpp-discr-1}, adapted to fluid dynamics. We use the \Feelpp fluid toolbox.
6+
This demonstrator solves the incompressible Navier--Stokes equations for the \emph{FDA medical device nozzle} using stabilized finite element methods (PSPG/SUPG). The benchmark, proposed by the US Food and Drug Administration, is widely used to assess stability, accuracy, and robustness of CFD solvers \cite{hariharan_multilaboratory_2011,stewart_assessment_2012}. The specifications mirror the elliptic PDE demonstrator in \Cref{sec:app:specs:app-feelpp-discr-1}, adapted to fluid dynamics, and use the \Feelpp fluid toolbox.
77

88
\Cref{tab:app-feelpp-discr-2} describes the specifications of the application.
99

@@ -51,7 +51,7 @@ \subsection{Description of the benchmark}
5151

5252
The benchmark presented here, denoted by \emph{FDA nozzle benchmark}, was proposed by the US Food and Drug Administration (FDA) in \cite{hariharan_multilaboratory_2011} to assess the stability, accuracy and robustness of computational fluid dynamics methods for biomedical device applications. The benchmark has become a standard validation case for incompressible flow solvers.
5353

54-
The geometry consists of an idealized medical device nozzle with a sudden contraction followed by a gradual expansion, as shown in \Cref{fig:spec:app-feelpp-discr-2:fda:geometry}. The benchmark tests the solver's ability to capture:
54+
The geometry consists of an idealized medical device nozzle with a sudden contraction followed by a gradual expansion (\Cref{fig:spec:app-feelpp-discr-2:fda:geometry}). The benchmark tests the solver's ability to capture:
5555
\begin{itemize}
5656
\item Laminar to transitional flow regimes (Reynolds numbers from 500 to 6500)
5757
\item Flow acceleration through the nozzle throat
@@ -103,7 +103,8 @@ \subsection{Input/Output Dataset Description}
103103

104104
\subsubsection{Input Data:}
105105
\begin{itemize}
106-
\item \textbf{Meshes:} We have generated three levels of mesh refinement called \texttt{M1}, \texttt{M2}, and \texttt{M3} for the FDA nozzle geometry. These meshes are stored in GMSH format. The statistics are presented in \Cref{tab:spec:app-feelpp-discr-2:fda:discr_stat}. Pre-partitioned meshes are also available in the \Feelpp in-house format (JSON+HDF5) for parallel simulations. All meshes are available in the \Feelpp Girder database.
106+
\item \textbf{Meshes:} We generat three levels of mesh refinement called \texttt{M1}, \texttt{M2}, \texttt{M3} and possibly more for the FDA nozzle geometry.
107+
These meshes are stored in GMSH format. The statistics are presented in \Cref{tab:spec:app-feelpp-discr-2:fda:discr_stat}. Pre-partitioned meshes are also available in the \Feelpp in-house format (JSON+HDF5) for parallel simulations. All meshes are available in the \Feelpp Girder database.
107108

108109
\item \textbf{Flow parameters:} The benchmark is run for multiple Reynolds numbers: Re = 500 (steady laminar), Re = 2000 (steady transitional), Re = 3500 (transitional), and Re = 6500 (transitional/turbulent). Fluid properties: density $\rho = 1056$ kg/m³ (blood analog), dynamic viscosity $\mu = 0.00345$ Pa·s.
109110

@@ -153,81 +154,8 @@ \subsubsection{Output Data:}
153154
\end{itemize}
154155

155156

157+
\textbf{Status:} \texttt{benchmark-ready} - validated and ready for systematic HPC benchmarking.
156158

157159

158-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
159-
160-
\subsection{Results summary}
161-
162-
The FDA nozzle benchmark has been executed on high-performance computing systems for the three mesh refinement levels and multiple Reynolds numbers. The results demonstrate the accuracy of the stabilized finite element method for incompressible flow and the scalability of the parallel implementation.
163-
164-
\subsubsection{Numerical solution}
165-
166-
The computed flow fields exhibit the expected physics of flow through a sudden contraction-expansion geometry. Key flow features captured by the simulation include:
167-
168-
\begin{itemize}
169-
\item \textbf{Jet formation:} As the flow accelerates through the throat, a high-velocity jet forms with peak velocities reaching 2-3 times the mean inlet velocity for higher Reynolds numbers.
170-
171-
\item \textbf{Recirculation zones:} In the expansion region, flow separation creates recirculation zones along the walls. The size and intensity of these zones increase with Reynolds number, consistent with experimental observations.
172-
173-
\item \textbf{Jet breakdown:} For Re $\geq$ 3500, the central jet becomes unstable and breaks down into smaller-scale structures downstream. The breakdown location moves upstream as Reynolds number increases.
174-
175-
\item \textbf{Pressure recovery:} The pressure distribution shows the expected drop through the contraction followed by gradual recovery in the expansion region. The pressure gradient drives the recirculating flow near the walls.
176-
\end{itemize}
177-
178-
Visualization of the velocity magnitude and streamlines reveals the complex 3D flow structure, including asymmetric features that emerge at higher Reynolds numbers. The mesh partitioning strategy ensures good load balancing across processors for efficient parallel computation.
179-
180-
\subsubsection{Validation against FDA reference data}
181-
182-
Quantitative comparison with FDA experimental measurements demonstrates good agreement:
183-
184-
\begin{itemize}
185-
\item \textbf{Axial velocity profiles:} The computed centerline and cross-sectional velocity profiles match the experimental data within measurement uncertainty for all Reynolds numbers. The jet width and peak velocity location are accurately captured.
186-
187-
\item \textbf{Pressure drop:} The total pressure drop from inlet to outlet agrees with measurements to within 5\% for laminar cases (Re = 500, 2000) and within 10\% for transitional cases (Re = 3500, 6500).
188-
189-
\item \textbf{Recirculation metrics:} The length of the primary recirculation zone and reattachment point location match experimental observations. Secondary recirculation zones observed in experiments are also captured by the simulations.
190-
191-
\item \textbf{Mesh convergence:} Refinement from M1 to M3 demonstrates mesh convergence for all validation metrics. The differences between M2 and M3 results are less than 2\%, indicating mesh-independent solutions are achieved.
192-
\end{itemize}
193-
194-
The \texttt{benchmark-verification} metric follows the FDA assessment criteria and reporting conventions \cite{stewart_assessment_2012}.
195-
196-
\subsection{Performance analysis}
197-
198-
\subsubsection{Execution time breakdown}
199-
200-
The performance analysis reveals the computational cost distribution for the Navier-Stokes solver:
201-
202-
\begin{itemize}
203-
\item \textbf{Initialization (5-10\%):} Mesh loading and finite element space construction scale well with processor count. The initialization cost is amortized over the simulation time for transient cases.
204-
205-
\item \textbf{Assembly (20-30\%):} The non-linear assembly of the Navier-Stokes residual and Jacobian dominates for low Reynolds numbers where Newton convergence is rapid. The stabilization terms (PSPG/SUPG) add modest overhead.
206-
207-
\item \textbf{Linear solve (50-70\%):} The preconditioned GMRES iterations consume the majority of time, especially at high Reynolds numbers where more linear iterations are required per Newton step. Block preconditioners for the velocity-pressure coupling are essential for performance.
208-
209-
\item \textbf{Post-processing (5-10\%):} Export and validation measure computation time grows with mesh size but remains a small fraction of total cost.
210-
\end{itemize}
211-
212-
\subsubsection{Strong scalability}
213-
214-
Strong scaling tests with fixed problem size (M2 and M3 meshes) demonstrate:
215-
\begin{itemize}
216-
\item Near-ideal speedup up to 64-96 processors for all Reynolds numbers
217-
\item Parallel efficiency above 80\% for processor counts up to 128
218-
\item Communication overhead becomes significant beyond 256 processors for M2 mesh (diminishing returns)
219-
\item Linear solver shows good scaling due to effective domain decomposition preconditioning
220-
\end{itemize}
221-
222-
\subsubsection{Weak scalability}
223-
224-
Weak scaling tests with proportional mesh refinement show:
225-
\begin{itemize}
226-
\item Constant execution time per processor up to 512 processors
227-
\item Slightly increasing time for larger processor counts due to increased surface-to-volume ratio in domain decomposition
228-
\item Assembly phase maintains excellent weak scaling throughout the range
229-
\item Linear solver shows more sensitivity to processor count, typical of iterative methods
230-
\end{itemize}
231-
232-
The \texttt{strong-scalability} and \texttt{weak-scalability} metrics confirm that the parallel implementation is suitable for large-scale CFD simulations on modern HPC systems.
233160

161+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

0 commit comments

Comments
 (0)