|
1 | 1 | \clearpage
|
2 | 2 | \chapter{Software}
|
3 | 3 | \label{sec:software}
|
4 |
| -This chapter presents the software developed within Exa-MA. Each software is described in a dedicated section, with a focus on the features and the general mathematics, the main functionalities, the relevant publications and acknowledgments, and the contact persons. |
| 4 | + |
| 5 | + This chapter presents the software developed within Exa-MA, focusing on features, mathematics, functionalities, publications, acknowledgments, and contact details. |
| 6 | + |
| 7 | + First, we present some general statistics about the software identified for Exa-MA that will present some benchmarking results. |
| 8 | + Other software (new or existing) will be included in the future version of this document. |
| 9 | + |
| 10 | + \paragraph{Architectures} |
| 11 | + The following pie chart~\ref{fig:arch} shows the distribution of hardware architectures used. |
| 12 | + \begin{figure}[H] |
| 13 | +\centering |
| 14 | +\begin{tikzpicture} |
| 15 | +\pie[text=legend, color={red, orange, yellow}, sum=auto]{13/CPU, 7/GPU, 1/Hybrid} |
| 16 | +\end{tikzpicture} |
| 17 | +\caption{Distribution of hardware architectures} |
| 18 | +\label{fig:arch} |
| 19 | +\end{figure} |
| 20 | + |
| 21 | + \paragraph{Programming Languages} |
| 22 | + The following pie chart~\ref{fig:languages} shows the distribution of programming languages used, highlighting the variety of computational solutions employed. |
| 23 | + \begin{figure}[H] |
| 24 | +\centering |
| 25 | +\begin{tikzpicture} |
| 26 | +\pie[text=legend, color={red, orange, yellow, lime, skyblue, pink, cyan, magenta}, sum=auto]{11/C++, 1/C\#, 3/C, 4/Fortran, 2/C++17, 4/Python, 1/C++20, 1/C++14} |
| 27 | +\end{tikzpicture} |
| 28 | +\caption{Distribution of programming languages} |
| 29 | +\label{fig:languages} |
| 30 | +\end{figure} |
| 31 | + |
| 32 | + \paragraph{Parallelism Technology} |
| 33 | + The pie chart~\ref{fig:parallelism} below represents the parallelism techniques used in Exa-MA software selected for this document. |
| 34 | + \begin{figure}[H] |
| 35 | +\centering |
| 36 | +\begin{tikzpicture} |
| 37 | +\pie[text=legend, color={red, orange, yellow, lime, skyblue, pink}, sum=auto]{7/Multithread, 13/MPI, 6/GPU, 1/Parallelism - C++, 1/Task based, 1/Chapel} |
| 38 | +\end{tikzpicture} |
| 39 | +\caption{Distribution of parallelism technologies} |
| 40 | +\label{fig:parallelism} |
| 41 | +\end{figure} |
| 42 | + |
| 43 | + \paragraph{Data Formats} |
| 44 | + The chart~\ref{fig:data} shows the supported data formats, for flexibility and compatibility in data handling, supported by Exa-MA software selected for this document. |
| 45 | + \begin{figure}[H] |
| 46 | +\centering |
| 47 | +\begin{tikzpicture} |
| 48 | +\pie[text=legend, color={red, orange, yellow, lime, skyblue, pink, cyan, magenta, peach, lavender}, sum=auto]{2/XML, 5/HDF5, 2/JSON, 2/Ensight, 5/None, 1/YAML, 1/Data-management system, 6/VTK, 6/in-house format, 4/Gmsh and associated formats, 2/MED, 1/MFront} |
| 49 | +\end{tikzpicture} |
| 50 | +\caption{Distribution of data formats} |
| 51 | +\label{fig:data} |
| 52 | +\end{figure} |
| 53 | + |
| 54 | + \paragraph{DevOps - CI/CD} |
| 55 | + The pie chart~\ref{fig:devops-cicd} below displays the support of continuous integration and deployment practices as well as continuous benchmarking, showcasing systematic software updates, quality maintenance and performance regression. |
| 56 | + \begin{figure}[H] |
| 57 | +\centering |
| 58 | +\begin{tikzpicture} |
| 59 | +\pie[text=legend, color={red, orange, yellow, lime}, sum=auto]{11/Continuous Integration, 1/Continuous Benchmarking, 1/Continuous Delivery, 4/None} |
| 60 | +\end{tikzpicture} |
| 61 | +\caption{Distribution of DevOps CI/CD/CD} |
| 62 | +\label{fig:devops-cicd} |
| 63 | +\end{figure} |
| 64 | + |
| 65 | + \paragraph{DevOps - Packaging} |
| 66 | + The next chart~\ref{fig:devops-packaging} shows different packaging methods used, which help in the distribution and management of software. |
| 67 | + \begin{figure}[H] |
| 68 | +\centering |
| 69 | +\begin{tikzpicture} |
| 70 | +\pie[text=legend, color={red, orange, yellow, lime, skyblue, pink}, sum=auto]{10/None, 5/Debian-based, 2/Fedora, 2/Spack, 1/GUIX, 1/Other} |
| 71 | +\end{tikzpicture} |
| 72 | +\caption{Distribution of DevOps Packaging} |
| 73 | +\label{fig:devops-packaging} |
| 74 | +\end{figure} |
| 75 | + |
| 76 | + \paragraph{DevOps - Containers} |
| 77 | + The pie chart~\ref{fig:devops-containers} displays the use of container technologies, which help encapsulate the software to run reliably in various environments. |
| 78 | + \begin{figure}[H] |
| 79 | +\centering |
| 80 | +\begin{tikzpicture} |
| 81 | +\pie[text=legend, color={red, orange, yellow}, sum=auto]{12/None, 2/Apptainer/Singularity, 2/Docker} |
| 82 | +\end{tikzpicture} |
| 83 | +\caption{Distribution of DevOps Containers} |
| 84 | +\label{fig:devops-containers} |
| 85 | +\end{figure} |
| 86 | + |
| 87 | + \paragraph{DevOps - Testing} |
| 88 | + The following pie chart~\ref{fig:devops-testing} details the testing practices adopted, illustrating the commitment to software reliability and functionality. |
| 89 | + \begin{figure}[H] |
| 90 | +\centering |
| 91 | +\begin{tikzpicture} |
| 92 | +\pie[text=legend, color={red, orange, yellow, lime}, sum=auto]{8/Unit, 7/Verification, 3/Validation, 6/None} |
| 93 | +\end{tikzpicture} |
| 94 | +\caption{Distribution of DevOps Testing} |
| 95 | +\label{fig:devops-testing} |
| 96 | +\end{figure} |
5 | 97 | \input{software/arcane-framework/arcane-framework.tex}
|
6 | 98 | \input{software/cgal/cgal.tex}
|
7 | 99 | \input{software/composyx/composyx.tex}
|
8 | 100 | \input{software/feelpp/feelpp.tex}
|
9 | 101 | \input{software/freefempp/freefempp.tex}
|
10 |
| -\input{software/hpddm/hpddm.tex} |
11 | 102 | \input{software/hawen/hawen.tex}
|
| 103 | +\input{software/hpdomain-decomposition-methods/hpdomain-decomposition-methods.tex} |
| 104 | +\input{software/mahyco/mahyco.tex} |
12 | 105 | \input{software/manta/manta.tex}
|
13 | 106 | \input{software/mmg-parmmg/mmg-parmmg.tex}
|
14 |
| -\input{software/mahyco/mahyco.tex} |
| 107 | +\input{software/pbb/pbb.tex} |
15 | 108 | \input{software/samurai/samurai.tex}
|
16 | 109 | \input{software/scimba/scimba.tex}
|
17 | 110 | \input{software/trust-platform/trust-platform.tex}
|
18 |
| -\input{software/uranie/uranie.tex} |
19 | 111 | \input{software/zellij/zellij.tex}
|
20 |
| -\input{software/pbb/pbb.tex} |
|
0 commit comments