diff --git a/chapters/WP3/00-index.tex b/chapters/WP3/00-index.tex index 80a6c93..cc33c39 100644 --- a/chapters/WP3/00-index.tex +++ b/chapters/WP3/00-index.tex @@ -3,6 +3,6 @@ \input{software/feelpp/WP3/WP3.tex} \input{software/freefempp/WP3/WP3.tex} \input{software/hawen/WP3/WP3.tex} -\input{software/hpdomain-decomposition-methods/WP3/WP3.tex} +\input{software/hpddm/WP3/WP3.tex} \input{software/manta/WP3/WP3.tex} \input{software/trust-platform/WP3/WP3.tex} diff --git a/chapters/software.tex b/chapters/software.tex index 245a08b..b4db2ba 100644 --- a/chapters/software.tex +++ b/chapters/software.tex @@ -2,25 +2,68 @@ \chapter{Software} \label{sec:software} - This chapter presents the software developed within Exa-MA, focusing on features, mathematics, functionalities, publications, acknowledgments, and contact details. - - First, we present some general statistics about the software identified for Exa-MA that will present some benchmarking results. - Other software (new or existing) will be included in the future version of this document. - - \paragraph{Architectures} - The following pie chart~\ref{fig:arch} shows the distribution of hardware architectures used. - \begin{figure}[H] +This chapter presents the software developed within Exa-MA, focusing on features, mathematics, functionalities, publications, acknowledgments, and contact details. + +First, we present some general statistics about the software identified for Exa-MA that will present some benchmarking results. +Other software (new or existing) will be included in the future versions of this document. + +In the context of the D7.1 deliverable, it is essential to clarify the supported features across different hardware configurations, specifically CPUs, GPUs, and hybrid setups. +The following classification describes the architectural capabilities that will be benchmarked: + +\paragraph{CPU Only} +Software that will exclusively run on CPU architectures (e.g., CGAL, Freefem++, Feel++, Manta). Benchmarks for these codes will only target CPU architectures. + +\paragraph{GPU Only} +Software that will exclusively run on GPU architectures (e.g., Zellij). Benchmarks for these codes will focus solely on GPU architectures. + +\paragraph{CPU or GPU} +Software that can run on either CPU or GPU but not both simultaneously (e.g., PyTorch, SciMba). In this case, benchmarks will be performed on both CPU and GPU, but no single run will execute on both architectures simultaneously. Some benchmarks may be CPU-only, others GPU-only, depending on the software's capabilities. + +\paragraph{CPU and GPU} +Software that supports simultaneous execution on both CPU and GPU during a single simulation run (e.g., TRUST). Benchmarks in this category will involve executing components on both CPU and GPU, ensuring that at least one computational component runs on each architecture. + +\paragraph{Explanation of Benchmarking Criteria} +\begin{itemize} + \item \textbf{CPU Only:} If selected, benchmarks will be performed exclusively on CPU architectures. + \item \textbf{GPU Only:} If selected, benchmarks will focus exclusively on GPU architectures. + \item \textbf{CPU and GPU:} If selected, benchmarks will involve simultaneous execution on CPU and GPU within the same run. + \item \textbf{CPU or GPU:} If selected, benchmarks will involve execution on either CPU or GPU, but not simultaneously. Some benchmarks will target CPU, others GPU, depending on the computational components. +\end{itemize} + + + +\section{General Statistics} +\label{sec:software:statistics} + +In this section, we provide an overview of the key characteristics and technological choices for the software developed and benchmarked within Exa-MA. +These statistics offer insights into the diversity of hardware architectures, programming languages, and parallel computing technologies utilized across the different software packages. + +The aim is to highlight the widespread usage of various technologies, demonstrating both the flexibility and the breadth of approaches within the project. +Additionally, the DevOps practices employed, such as continuous integration, testing, and deployment, are presented to underscore the commitment to ensuring quality, reliability, and maintainability of the software developed under Exa-MA. + +The following subsections provide detailed breakdowns of the different aspects of the software involved in the project, from supported architectures and programming languages to specific parallelism technologies, data formats, and DevOps strategies. +It helps to assess the readiness of the software for large-scale simulations and benchmarks in exascale computing environments. + + +\subsection{Architectures} + +The following pie chart~\ref{fig:arch} shows the distribution of hardware architectures used. + +\begin{figure}[H] \centering \begin{tikzpicture} -\pie[text=legend, color={red, orange, yellow}, sum=auto]{13/CPU, 7/GPU, 1/Hybrid} +\pie[text=legend, color={red, orange, yellow, lime}, sum=auto]{5/CPU or GPU, 7/CPU Only, 2/CPU and GPU, 1/GPU Only} \end{tikzpicture} -\caption{Distribution of hardware architectures} +\caption{Distribution of bemchmarked hardware architectures} \label{fig:arch} \end{figure} - \paragraph{Programming Languages} - The following pie chart~\ref{fig:languages} shows the distribution of programming languages used, highlighting the variety of computational solutions employed. - \begin{figure}[H] + +\subsection{Programming Languages} + +The following pie chart~\ref{fig:languages} shows the distribution of programming languages used, highlighting the variety of computational solutions employed. + +\begin{figure}[H] \centering \begin{tikzpicture} \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} @@ -29,20 +72,28 @@ \chapter{Software} \label{fig:languages} \end{figure} - \paragraph{Parallelism Technology} - The pie chart~\ref{fig:parallelism} below represents the parallelism techniques used in Exa-MA software selected for this document. - \begin{figure}[H] + +\subsection{Parallelism Technology} + + +The pie chart~\ref{fig:parallelism} below represents the parallelism techniques used in Exa-MA software selected for this document. + +\begin{figure}[H] \centering \begin{tikzpicture} -\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} +\pie[text=legend, color={red, orange, yellow, lime, skyblue, pink}, sum=auto]{7/Multithread, 13/MPI, 7/GPU, 1/Parallelism - C++, 1/Task based, 1/Chapel} \end{tikzpicture} \caption{Distribution of parallelism technologies} \label{fig:parallelism} \end{figure} - \paragraph{Data Formats} - 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. - \begin{figure}[H] + + +\subsection{Data Formats} + +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. + +\begin{figure}[H] \centering \begin{tikzpicture} \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} @@ -51,20 +102,26 @@ \chapter{Software} \label{fig:data} \end{figure} - \paragraph{DevOps - CI/CD} - 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. - \begin{figure}[H] + +\subsection{DevOps - CI/CD} + +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. + +\begin{figure}[H] \centering \begin{tikzpicture} -\pie[text=legend, color={red, orange, yellow, lime}, sum=auto]{11/Continuous Integration, 1/Continuous Benchmarking, 1/Continuous Delivery, 4/None} +\pie[text=legend, color={red, orange, yellow, lime}, sum=auto]{11/Continuous Integration, 1/Continuous Benchmarking, 2/Continuous Delivery, 4/None} \end{tikzpicture} \caption{Distribution of DevOps CI/CD/CD} \label{fig:devops-cicd} \end{figure} - \paragraph{DevOps - Packaging} - The next chart~\ref{fig:devops-packaging} shows different packaging methods used, which help in the distribution and management of software. - \begin{figure}[H] + +\subsection{DevOps - Packaging} + +The next chart~\ref{fig:devops-packaging} shows different packaging methods used, which help in the distribution and management of software. + +\begin{figure}[H] \centering \begin{tikzpicture} \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} @@ -73,9 +130,12 @@ \chapter{Software} \label{fig:devops-packaging} \end{figure} - \paragraph{DevOps - Containers} - The pie chart~\ref{fig:devops-containers} displays the use of container technologies, which help encapsulate the software to run reliably in various environments. - \begin{figure}[H] + +\subsection{DevOps - Containers} + +The pie chart~\ref{fig:devops-containers} displays the use of container technologies, which help encapsulate the software to run reliably in various environments. + +\begin{figure}[H] \centering \begin{tikzpicture} \pie[text=legend, color={red, orange, yellow}, sum=auto]{12/None, 2/Apptainer/Singularity, 2/Docker} @@ -84,23 +144,28 @@ \chapter{Software} \label{fig:devops-containers} \end{figure} - \paragraph{DevOps - Testing} - The following pie chart~\ref{fig:devops-testing} details the testing practices adopted, illustrating the commitment to software reliability and functionality. - \begin{figure}[H] + +\subsection{DevOps - Testing} + +The following pie chart~\ref{fig:devops-testing} details the testing practices adopted, illustrating the commitment to software reliability and functionality. + +\begin{figure}[H] \centering \begin{tikzpicture} -\pie[text=legend, color={red, orange, yellow, lime}, sum=auto]{8/Unit, 7/Verification, 3/Validation, 6/None} +\pie[text=legend, color={red, orange, yellow, lime, skyblue}, sum=auto]{8/Unit, 7/Verification, 3/Validation, 6/None, 1/Functional} \end{tikzpicture} \caption{Distribution of DevOps Testing} \label{fig:devops-testing} \end{figure} + + \input{software/arcane-framework/arcane-framework.tex} \input{software/cgal/cgal.tex} \input{software/composyx/composyx.tex} \input{software/feelpp/feelpp.tex} \input{software/freefempp/freefempp.tex} \input{software/hawen/hawen.tex} -\input{software/hpdomain-decomposition-methods/hpdomain-decomposition-methods.tex} +\input{software/hpddm/hpddm.tex} \input{software/mahyco/mahyco.tex} \input{software/manta/manta.tex} \input{software/mmg-parmmg/mmg-parmmg.tex} @@ -109,3 +174,4 @@ \chapter{Software} \input{software/scimba/scimba.tex} \input{software/trust-platform/trust-platform.tex} \input{software/zellij/zellij.tex} + diff --git a/exama-software.xlsx b/exama-software.xlsx index 624c423..7d46a00 100644 Binary files a/exama-software.xlsx and b/exama-software.xlsx differ diff --git a/gen.py b/gen.py index a45e9f6..ae5cafa 100644 --- a/gen.py +++ b/gen.py @@ -135,9 +135,10 @@ def generate_latex_table_simple(input_string): def normalize_archs(arch_string): # Define a dictionary to map various input forms to standardized forms arch_map = { - 'CPU': ['CPU'], - 'GPU': ['GPU'], - 'Hybrid': ['HYBRID'], + 'CPU Only': ['CPU ONLY'], + 'GPU Only': ['GPU ONLY'], + 'CPU or GPU': ['CPU OR GPU'], + 'CPU and GPU': ['CPU AND GPU'], 'Indirect': ['INDIRECT'], 'Not Yet Benchmarked': ['NOT YET'] } @@ -149,6 +150,7 @@ def normalize_archs(arch_string): # Normalize each architecture entry for arch in archs: found = False + print(f"arch: {arch}\n") # Check each category for a match for standard, variations in arch_map.items(): if arch in variations: @@ -317,6 +319,7 @@ def count_frequencies(df,column,debug=False): return Counter(items) archs_freq = count_frequencies(stats_software,'Benchmarked') +print(archs_freq) languages_freq = count_frequencies(stats_software,'Languages') parallelism_freq = count_frequencies(stats_software,'Parallelism') data_freq = count_frequencies(stats_software,'Data') @@ -350,7 +353,7 @@ def tikz_pie_chart(data, title, caption, label): chart += "\\end{figure}\n" return chart -arch_chart = tikz_pie_chart(archs_freq, "Architectures", caption="Distribution of hardware architectures", label="arch") +arch_chart = tikz_pie_chart(archs_freq, "Benchmarked Architectures", caption="Distribution of bemchmarked hardware architectures", label="arch") languages_chart = tikz_pie_chart(languages_freq, "Languages", caption="Distribution of programming languages", label="languages") parallelism_chart = tikz_pie_chart(parallelism_freq, "Parallelism", caption="Distribution of parallelism technologies", label="parallelism") data_chart = tikz_pie_chart(data_freq, "Data", caption="Distribution of data formats", label="data") @@ -519,7 +522,7 @@ def tikz_pie_chart(data, title, caption, label): # Load template from file template_desc = env.get_template('templates/desc-software.tex') template_wp = env.get_template('templates/wp-software.tex') - +template_soft = env.get_template('templates/software.tex') # for software in software_list: # rendered = template.render(software=software) # @@ -536,123 +539,61 @@ def tikz_pie_chart(data, title, caption, label): # Dictionary to store LaTeX content per category latex_content_per_category = {} -with open(f'chapters/software.tex', 'w') as software_index: - software_index.write('\clearpage\n\chapter{Software}\n') - software_index.write('\label{sec:software}\n') - software_index.write( - """ - This chapter presents the software developed within Exa-MA, focusing on features, mathematics, functionalities, publications, acknowledgments, and contact details. - - First, we present some general statistics about the software identified for Exa-MA that will present some benchmarking results. - Other software (new or existing) will be included in the future version of this document. - """) - - software_index.write( - """ - \paragraph{Architectures} - The following pie chart~\\ref{fig:arch} shows the distribution of hardware architectures used. - """) - software_index.write(arch_chart) - # Programming Languages Pie Chart - software_index.write( - """ - \paragraph{Programming Languages} - The following pie chart~\\ref{fig:languages} shows the distribution of programming languages used, highlighting the variety of computational solutions employed. - """) - software_index.write(languages_chart) - - # Parallelism Techniques Pie Chart - software_index.write( - """ - \paragraph{Parallelism Technology} - The pie chart~\\ref{fig:parallelism} below represents the parallelism techniques used in Exa-MA software selected for this document. - """) - software_index.write(parallelism_chart) - - # Data Formats Pie Chart - software_index.write( - """ - \paragraph{Data Formats} - 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. - """) - software_index.write(data_chart) - - # DevOps - CI/CD Pie Chart - software_index.write( - """ - \paragraph{DevOps - CI/CD} - 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. - """) - software_index.write(devops_cicd_chart) - - # DevOps - Packaging Pie Chart - software_index.write( - """ - \paragraph{DevOps - Packaging} - The next chart~\\ref{fig:devops-packaging} shows different packaging methods used, which help in the distribution and management of software. - """) - software_index.write(devops_packaging_chart) - - # DevOps - Containers Pie Chart - software_index.write( - """ - \paragraph{DevOps - Containers} - The pie chart~\\ref{fig:devops-containers} displays the use of container technologies, which help encapsulate the software to run reliably in various environments. - """) - software_index.write(devops_containers_chart) - - # DevOps - Testing Pie Chart - software_index.write( - """ - \paragraph{DevOps - Testing} - The following pie chart~\\ref{fig:devops-testing} details the testing practices adopted, illustrating the commitment to software reliability and functionality. - """) - software_index.write(devops_testing_chart) - - # sort software_list with respect to name in lexical order - software_list = sorted(software_list, key=lambda x: x['name']) - for index,software in benchmarked_software.iterrows(): - software_json = json.loads(software.to_json()) - software_json['name'] = software['Software'] - for column_name in ['Emails','Consortium', 'Partner', 'License', 'Languages', 'Benchmarked', 'Parallelism', 'Data', 'DevOps', 'CI', 'Packaging', 'Containers', 'Tests', 'Resilience','Interfaces']: - software_json[column_name] = generate_latex_table_simple( - input_string=software[column_name]) - - desc = template_desc.render(software= software_json) - name = software['Software'] - prefix = software_prefix(software) - os.makedirs(f'software/{prefix}', exist_ok=True) - software_json['prefix'] = prefix - software_index.write('\input{software/'+f'{prefix}/{prefix}.tex'+'}\n') - - with open(f'software/{prefix}/{prefix}.tex', 'w') as f: - f.write(desc) - # Loop through all categories for the current software - for wpindex in range(1,7): - category = f'WP{wpindex}' - if is_benchmarked_in(category,software): - software_json = json.loads(software.to_json()) - software_json['name'] = software['Software'] - software_json['WP'] = generate_latex_table( - desc="Features", input_string=software[category]) - for column_name in ['Emails', 'Consortium', 'Partner', 'License', 'Languages', 'Benchmarked', 'Parallelism', 'Data', 'DevOps', 'CI', 'Packaging', 'Containers', 'Tests', 'Resilience', 'Interfaces']: - software_json[column_name] = generate_latex_table_simple( - input_string=software[column_name]) - software_json['Emails'] = generate_latex_table_simple( - input_string=software['Emails']) - wp = template_wp.render(software=software_json,wp=category) - # Ensure the category has an entry in the dictionary - if category not in latex_content_per_category: - latex_content_per_category[category] = [] - # Append the rendered content to the category - software_json['wp'] = wp - #print(software['rendered']) - latex_content_per_category[category].append(software_json) - os.makedirs(f'software/{prefix}/{category}', exist_ok=True) - with open(f'software/{prefix}/{category}/{category}.tex', 'w') as f: - f.write(wp) - print(f"- Generated LaTeX file for {name} in category {category}: software/{prefix}/{category}/{category}.tex") - +software_list = dict() +software_list['arch_chart'] = arch_chart +software_list['languages_chart'] = languages_chart +software_list['parallelism_chart'] = parallelism_chart +software_list['data_chart'] = data_chart +software_list['devops_cicd_chart'] = devops_cicd_chart +software_list['devops_packaging_chart'] = devops_packaging_chart +software_list['devops_containers_chart'] = devops_containers_chart +software_list['devops_testing_chart'] = devops_testing_chart +software_list["software"] = "" +# sort software_list with respect to name in lexical order +#software_list = sorted(software_list, key=lambda x: x['name']) +for index,software in benchmarked_software.iterrows(): + software_json = json.loads(software.to_json()) + software_json['name'] = software['Software'] + for column_name in ['Emails','Consortium', 'Partner', 'License', 'Languages', 'Benchmarked', 'Parallelism', 'Data', 'DevOps', 'CI', 'Packaging', 'Containers', 'Tests', 'Resilience','Interfaces']: + software_json[column_name] = generate_latex_table_simple( + input_string=software[column_name]) + desc = template_desc.render(software= software_json) + name = software['Software'] + prefix = software_prefix(software) + os.makedirs(f'software/{prefix}', exist_ok=True) + software_json['prefix'] = prefix + software_list["software"] += '\input{software/'+f'{prefix}/{prefix}.tex'+'}\n' + + with open(f'software/{prefix}/{prefix}.tex', 'w') as f: + f.write(desc) + # Loop through all categories for the current software + for wpindex in range(1,7): + category = f'WP{wpindex}' + if is_benchmarked_in(category,software): + software_json = json.loads(software.to_json()) + software_json['name'] = software['Software'] + software_json['WP'] = generate_latex_table( + desc="Features", input_string=software[category]) + for column_name in ['Emails', 'Consortium', 'Partner', 'License', 'Languages', 'Benchmarked', 'Parallelism', 'Data', 'DevOps', 'CI', 'Packaging', 'Containers', 'Tests', 'Resilience', 'Interfaces']: + software_json[column_name] = generate_latex_table_simple( + input_string=software[column_name]) + software_json['Emails'] = generate_latex_table_simple( + input_string=software['Emails']) + wp = template_wp.render(software=software_json,wp=category) + # Ensure the category has an entry in the dictionary + if category not in latex_content_per_category: + latex_content_per_category[category] = [] + # Append the rendered content to the category + software_json['wp'] = wp + #print(software['rendered']) + latex_content_per_category[category].append(software_json) + os.makedirs(f'software/{prefix}/{category}', exist_ok=True) + with open(f'software/{prefix}/{category}/{category}.tex', 'w') as f: + f.write(wp) + print(f"- Generated LaTeX file for {name} in category {category}: software/{prefix}/{category}/{category}.tex") + +with open('chapters/software.tex', 'w') as f: + f.write(template_soft.render(software=software_list)) # sort latex_content_per_category with respect to category in lexical order latex_content_per_category = dict(sorted(latex_content_per_category.items())) diff --git a/sections/benchmarking.tex b/sections/benchmarking.tex index 376c6a8..6312aa3 100644 --- a/sections/benchmarking.tex +++ b/sections/benchmarking.tex @@ -15,6 +15,32 @@ \section{Introduction} \section{Types of Benchmarking} \label{sec:methodology-types} +\subsection{Architectures} + +In the context of the D7.1 deliverable, it is essential to clarify the supported features across different hardware configurations, specifically CPUs, GPUs, and hybrid setups. +The following classification describes the architectural capabilities that will be benchmarked: + +\paragraph{CPU Only} +Software that will exclusively run on CPU architectures (e.g., CGAL, Freefem++, Feel++, Manta). Benchmarks for these codes will only target CPU architectures. + +\paragraph{GPU Only} +Software that will exclusively run on GPU architectures (e.g., Zellij). Benchmarks for these codes will focus solely on GPU architectures. + +\paragraph{CPU or GPU} +Software that can run on either CPU or GPU but not both simultaneously (e.g., PyTorch, SciMba). In this case, benchmarks will be performed on both CPU and GPU, but no single run will execute on both architectures simultaneously. Some benchmarks may be CPU-only, others GPU-only, depending on the software's capabilities. + +\paragraph{CPU and GPU} +Software that supports simultaneous execution on both CPU and GPU during a single simulation run (e.g., TRUST). Benchmarks in this category will involve executing components on both CPU and GPU, ensuring that at least one computational component runs on each architecture. + +\paragraph{Explanation of Benchmarking Criteria} +\begin{itemize} + \item \textbf{CPU Only:} If selected, benchmarks will be performed exclusively on CPU architectures. + \item \textbf{GPU Only:} If selected, benchmarks will focus exclusively on GPU architectures. + \item \textbf{CPU and GPU:} If selected, benchmarks will involve simultaneous execution on CPU and GPU within the same run. + \item \textbf{CPU or GPU:} If selected, benchmarks will involve execution on either CPU or GPU, but not simultaneously. Some benchmarks will target CPU, others GPU, depending on the computational components. +\end{itemize} + + \subsection{Pure Performance Benchmarks} \label{sec:methodology-types-performance} Description of benchmarks based on computational performance, including metrics such as execution time and FLOPS. diff --git a/software/arcane-framework/WP3/WP3.tex b/software/arcane-framework/WP3/WP3.tex index 190975a..7f4f3ee 100644 --- a/software/arcane-framework/WP3/WP3.tex +++ b/software/arcane-framework/WP3/WP3.tex @@ -20,8 +20,7 @@ \section{Software: Arcane Framework} lydie.grospellier@cea.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ -GPU\\ +CPU or GPU\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/arcaneframework/framework}{https://github.com/arcaneframework/framework} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/arcane-framework/arcane-framework.tex b/software/arcane-framework/arcane-framework.tex index 6c6b470..d0875e9 100644 --- a/software/arcane-framework/arcane-framework.tex +++ b/software/arcane-framework/arcane-framework.tex @@ -22,8 +22,7 @@ \section{Software: Arcane Framework} lydie.grospellier@cea.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ -GPU\\ +CPU or GPU\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/arcaneframework/framework}{https://github.com/arcaneframework/framework} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/cgal/WP1/WP1.tex b/software/cgal/WP1/WP1.tex index 31d4e9c..9914f7c 100644 --- a/software/cgal/WP1/WP1.tex +++ b/software/cgal/WP1/WP1.tex @@ -19,7 +19,7 @@ \section{Software: CGAL} pierre.alliez@inria.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/CGAL}{https://github.com/CGAL} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/cgal/cgal.tex b/software/cgal/cgal.tex index 97bc4a1..f6e0c33 100644 --- a/software/cgal/cgal.tex +++ b/software/cgal/cgal.tex @@ -21,7 +21,7 @@ \section{Software: CGAL} pierre.alliez@inria.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/CGAL}{https://github.com/CGAL} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/composyx/WP3/WP3.tex b/software/composyx/WP3/WP3.tex index be27fc9..5cf6c8d 100644 --- a/software/composyx/WP3/WP3.tex +++ b/software/composyx/WP3/WP3.tex @@ -19,8 +19,7 @@ \section{Software: Composyx} gilles.marait@inria.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ -GPU\\ +CPU and GPU\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://gitlab.inria.fr/composyx/composyx}{https://gitlab.inria.fr/composyx/composyx} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/composyx/composyx.tex b/software/composyx/composyx.tex index ec99b8f..febaf62 100644 --- a/software/composyx/composyx.tex +++ b/software/composyx/composyx.tex @@ -21,8 +21,7 @@ \section{Software: Composyx} gilles.marait@inria.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ -GPU\\ +CPU and GPU\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://gitlab.inria.fr/composyx/composyx}{https://gitlab.inria.fr/composyx/composyx} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/feelpp/WP1/WP1.tex b/software/feelpp/WP1/WP1.tex index 7421044..16ca660 100644 --- a/software/feelpp/WP1/WP1.tex +++ b/software/feelpp/WP1/WP1.tex @@ -22,7 +22,7 @@ \section{Software: Feel++} vincent.chabannes@cemosis.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/feelpp/feelpp}{https://github.com/feelpp/feelpp} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/feelpp/WP2/WP2.tex b/software/feelpp/WP2/WP2.tex index 6819af3..e01184f 100644 --- a/software/feelpp/WP2/WP2.tex +++ b/software/feelpp/WP2/WP2.tex @@ -22,7 +22,7 @@ \section{Software: Feel++} vincent.chabannes@cemosis.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/feelpp/feelpp}{https://github.com/feelpp/feelpp} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/feelpp/WP3/WP3.tex b/software/feelpp/WP3/WP3.tex index df1188c..90ac5c9 100644 --- a/software/feelpp/WP3/WP3.tex +++ b/software/feelpp/WP3/WP3.tex @@ -22,7 +22,7 @@ \section{Software: Feel++} vincent.chabannes@cemosis.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/feelpp/feelpp}{https://github.com/feelpp/feelpp} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/feelpp/WP4/WP4.tex b/software/feelpp/WP4/WP4.tex index 65d7e7d..91a3d0c 100644 --- a/software/feelpp/WP4/WP4.tex +++ b/software/feelpp/WP4/WP4.tex @@ -22,7 +22,7 @@ \section{Software: Feel++} vincent.chabannes@cemosis.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/feelpp/feelpp}{https://github.com/feelpp/feelpp} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/feelpp/WP5/WP5.tex b/software/feelpp/WP5/WP5.tex index db78357..ffa4c8f 100644 --- a/software/feelpp/WP5/WP5.tex +++ b/software/feelpp/WP5/WP5.tex @@ -22,7 +22,7 @@ \section{Software: Feel++} vincent.chabannes@cemosis.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/feelpp/feelpp}{https://github.com/feelpp/feelpp} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/feelpp/feelpp.tex b/software/feelpp/feelpp.tex index 085178c..913b69e 100644 --- a/software/feelpp/feelpp.tex +++ b/software/feelpp/feelpp.tex @@ -24,7 +24,7 @@ \section{Software: Feel++} vincent.chabannes@cemosis.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/feelpp/feelpp}{https://github.com/feelpp/feelpp} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/freefempp/WP1/WP1.tex b/software/freefempp/WP1/WP1.tex index cf2c0fc..3fc3c41 100644 --- a/software/freefempp/WP1/WP1.tex +++ b/software/freefempp/WP1/WP1.tex @@ -22,7 +22,7 @@ \section{Software: Freefem++} pierre.jolivet@sorbonne-universite.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/FreeFem/FreeFem-sources}{https://github.com/FreeFem/FreeFem-sources} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/freefempp/WP3/WP3.tex b/software/freefempp/WP3/WP3.tex index 967e5ce..dcaa4f7 100644 --- a/software/freefempp/WP3/WP3.tex +++ b/software/freefempp/WP3/WP3.tex @@ -22,7 +22,7 @@ \section{Software: Freefem++} pierre.jolivet@sorbonne-universite.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/FreeFem/FreeFem-sources}{https://github.com/FreeFem/FreeFem-sources} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/freefempp/WP5/WP5.tex b/software/freefempp/WP5/WP5.tex index 07ff2fd..e23ace4 100644 --- a/software/freefempp/WP5/WP5.tex +++ b/software/freefempp/WP5/WP5.tex @@ -22,7 +22,7 @@ \section{Software: Freefem++} pierre.jolivet@sorbonne-universite.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/FreeFem/FreeFem-sources}{https://github.com/FreeFem/FreeFem-sources} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/freefempp/freefempp.tex b/software/freefempp/freefempp.tex index 6c7c375..fb7bd25 100644 --- a/software/freefempp/freefempp.tex +++ b/software/freefempp/freefempp.tex @@ -24,7 +24,7 @@ \section{Software: Freefem++} pierre.jolivet@sorbonne-universite.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/FreeFem/FreeFem-sources}{https://github.com/FreeFem/FreeFem-sources} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/hawen/WP1/WP1.tex b/software/hawen/WP1/WP1.tex index 7ce591d..91319fa 100644 --- a/software/hawen/WP1/WP1.tex +++ b/software/hawen/WP1/WP1.tex @@ -19,7 +19,7 @@ \section{Software: Hawen} florian.faucher@inria.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://gitlab.com/ffaucher/hawen}{https://gitlab.com/ffaucher/hawen} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/hawen/WP3/WP3.tex b/software/hawen/WP3/WP3.tex index 9f8eb25..4894c0a 100644 --- a/software/hawen/WP3/WP3.tex +++ b/software/hawen/WP3/WP3.tex @@ -19,7 +19,7 @@ \section{Software: Hawen} florian.faucher@inria.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://gitlab.com/ffaucher/hawen}{https://gitlab.com/ffaucher/hawen} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/hawen/WP4/WP4.tex b/software/hawen/WP4/WP4.tex index 0dfb477..8b633c3 100644 --- a/software/hawen/WP4/WP4.tex +++ b/software/hawen/WP4/WP4.tex @@ -19,7 +19,7 @@ \section{Software: Hawen} florian.faucher@inria.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://gitlab.com/ffaucher/hawen}{https://gitlab.com/ffaucher/hawen} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/hawen/hawen.tex b/software/hawen/hawen.tex index cb2c630..050fde5 100644 --- a/software/hawen/hawen.tex +++ b/software/hawen/hawen.tex @@ -21,7 +21,7 @@ \section{Software: Hawen} florian.faucher@inria.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://gitlab.com/ffaucher/hawen}{https://gitlab.com/ffaucher/hawen} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/hpddm/WP3/WP3.tex b/software/hpddm/WP3/WP3.tex index 67f0177..74a48dc 100644 --- a/software/hpddm/WP3/WP3.tex +++ b/software/hpddm/WP3/WP3.tex @@ -1,5 +1,5 @@ -\section{Software: 14} -\label{sec:WP3:14:software} +\section{Software: HPDDM} +\label{sec:WP3:HPDDM:software} \begin{table}[h!] \centering @@ -9,26 +9,62 @@ \section{Software: 14} {\fontsize{9}{11}\selectfont \begin{tabular}{!{\color{numpexgray}\vrule}p{.4\textwidth}!{\color{numpexgray}\vrule}p{.6\textwidth}!{\color{numpexgray}\vrule}} \rowcolor{numpexgray}{\rule{0pt}{2.5ex}\color{white}\bf Field} & {\rule{0pt}{2.5ex}\color{white}\bf Details} \\ - - \rowcolor{white}\textbf{Contact Emails} & pierre@joliv.et \\ - \rowcolor{numpexlightergray}\textbf{Supported Architectures} & CPU \\ - \rowcolor{white}\textbf{Repository Link} & \href{https://github.com/hpddm/hpddm}{https://github.com/hpddm/hpddm} \\ - \rowcolor{numpexlightergray}\textbf{License} & OSS:: LGPL v* \\ + \rowcolor{white}\textbf{Consortium} & \begin{tabular}{l} +None\\ +\end{tabular} \\ + \rowcolor{numpexlightergray}\textbf{Exa-MA Partners} & \begin{tabular}{l} +Inria PARIS\\ +Sorbonne U\\ +\end{tabular} \\ + \rowcolor{white}\textbf{Contact Emails} & \begin{tabular}{l} +pierre@joliv.et\\ +\end{tabular} \\ + \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} +CPU or GPU\\ +\end{tabular} \\ + \rowcolor{white}\textbf{Repository} & \href{https://github.com/hpdomain decomposition methods/hpdomain decomposition methods}{https://github.com/hpdomain decomposition methods/hpdomain decomposition methods} \\ + \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} +OSS:: LGPL v*\\ +\end{tabular} \\ \bottomrule \end{tabular} }} - \caption{14 Information} + \caption{WP3: HPDDM Information} \end{table} \subsection{Software Overview} -\label{sec:WP3:14:summary} +\label{sec:WP3:HPDDM:summary} Provide a brief overview of the software with respect to WP3. -nan +\begin{table}[h!] + \centering + { + \setlength{\parindent}{0pt} + \def\arraystretch{1.25} + \arrayrulecolor{numpexgray} + { + \fontsize{9}{11}\selectfont + \begin{tabular}{!{\color{numpexgray}\vrule}p{.25\linewidth}!{\color{numpexgray}\vrule}p{.6885\linewidth}!{\color{numpexgray}\vrule}} + + \rowcolor{numpexgray}{\rule{0pt}{2.5ex}\color{white}\bf Features} & {\rule{0pt}{2.5ex}\color{white}\bf Short Description }\\ + +\rowcolor{white} domain decomposition methods & provide short description here \\ +\rowcolor{numpexlightergray} multi-precision & provide short description here \\ +\rowcolor{white} tensor calculus & provide short description here \\ +\rowcolor{numpexlightergray} "reuse of Krylov subspaces for multiple right-hand sides" & provide short description here \\ +\rowcolor{white} randomization & provide short description here \\ +\rowcolor{numpexlightergray} low-rank & provide short description here \\ +\rowcolor{white} interface & provide short description here \\ +\end{tabular} + } + } + \caption{WP3: HPDDM Features} +\end{table} + \subsection{Parallel Capabilities} -\label{sec:WP3:14:performances} +\label{sec:WP3:HPDDM:performances} \begin{itemize} @@ -40,7 +76,7 @@ \subsection{Parallel Capabilities} \end{itemize} \subsection{Initial Performance Metrics} -\label{sec:WP3:14:metrics} +\label{sec:WP3:HPDDM:metrics} In this section, provide a summary of the initial performance metrics of the software with respect to WP3. You can list one or more benchmarks and their associated results, the challenges , bottlenecks and the expectations for future versions of the software. @@ -56,6 +92,6 @@ \subsubsection{Benchmark \#1} \end{itemize} \subsection{12 months roadmap} -\label{sec:WP3:14:roadmap} +\label{sec:WP3:HPDDM:roadmap} Describe the planned improvements for the software in the context of WP3 and Exa-MA for the year to come that will be adressed in the next version of this deliverable. \ No newline at end of file diff --git a/software/hpddm/hpddm.tex b/software/hpddm/hpddm.tex index 3ffeabd..4b52c0f 100644 --- a/software/hpddm/hpddm.tex +++ b/software/hpddm/hpddm.tex @@ -11,11 +11,23 @@ \section{Software: HPDDM} {\fontsize{9}{11}\selectfont \begin{tabular}{!{\color{numpexgray}\vrule}p{.4\textwidth}!{\color{numpexgray}\vrule}p{.6\textwidth}!{\color{numpexgray}\vrule}} \rowcolor{numpexgray}{\rule{0pt}{2.5ex}\color{white}\bf Field} & {\rule{0pt}{2.5ex}\color{white}\bf Details} \\ - - \rowcolor{white}\textbf{Contact Emails} & pierre@joliv.et \\ - \rowcolor{numpexlightergray}\textbf{Supported Architectures} & CPU \\ - \rowcolor{white}\textbf{Repository Link} & \href{https://github.com/hpddm/hpddm}{https://github.com/hpddm/hpddm} \\ - \rowcolor{numpexlightergray}\textbf{License} & OSS:: LGPL v* \\ + \rowcolor{white}\textbf{Consortium} & \begin{tabular}{l} +None\\ +\end{tabular} \\ + \rowcolor{numpexlightergray}\textbf{Exa-MA Partners} & \begin{tabular}{l} +Inria PARIS\\ +Sorbonne U\\ +\end{tabular} \\ + \rowcolor{white}\textbf{Contact Emails} & \begin{tabular}{l} +pierre@joliv.et\\ +\end{tabular} \\ + \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} +CPU or GPU\\ +\end{tabular} \\ + \rowcolor{white}\textbf{Repository} & \href{https://github.com/hpdomain decomposition methods/hpdomain decomposition methods}{https://github.com/hpdomain decomposition methods/hpdomain decomposition methods} \\ + \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} +OSS:: LGPL v*\\ +\end{tabular} \\ \bottomrule \end{tabular} }} @@ -47,18 +59,43 @@ \subsection{Programming and Computational Environment} {\fontsize{9}{11}\selectfont \begin{tabular}{lp{.3\textwidth}p{.5\textwidth}} \rowcolor{numpexgray}{\rule{0pt}{2.5ex}\color{white}\bf Category} & {\rule{0pt}{2.5ex}\color{white}\bf Details} & {\rule{0pt}{2.5ex}\color{white}\bf Description}\\ - \rowcolor{white}Languages & C, -C++, -Fortran, -Python & Programming languages and language standards supported by the software \\ - \rowcolor{numpexlightergray}Parallelism & MPI, -Multithread - OpenMP & Parallel computing methods and frameworks utilized by the software.\\ - \rowcolor{white}Data Formats & in-house format & Data formats that the software can handle or produce.\\ - \rowcolor{numpexlightergray}Resilience & None & Fault tolerance and recovery mechanisms employed by the software.\\ - \rowcolor{white}DevOps & Continuous Integration & Outlines the development and operational practices including continuous integration, containerization, and testing methodologies. \\ - \rowcolor{numpexlightergray}Packaging & None & Software packaging and distribution.\\ - \rowcolor{white}Testing & Unit, Verification & Testing methodologies employed to ensure software quality and correctness.\\ - \rowcolor{numpexlightergray}Containerization & None & Container technologies used to package and deploy the software.\\ + \rowcolor{white}Languages & \begin{tabular}{l} +C\\ +C++\\ +Fortran\\ +Python\\ +\end{tabular} & Programming languages and language standards supported by the software \\ + \rowcolor{numpexlightergray}Parallelism & \begin{tabular}{l} +GPU\\ +MPI\\ +Multithread\\ +\end{tabular} & Parallel computing methods and frameworks utilized by the software.\\ + \rowcolor{white}Data Formats & \begin{tabular}{l} +in-house format\\ +\end{tabular} & Data formats that the software can handle or produce.\\ + \rowcolor{numpexlightergray}Resilience & \begin{tabular}{l} +None\\ +\end{tabular} & Fault tolerance and recovery mechanisms employed by the software.\\ + \rowcolor{white}DevOps & \begin{tabular}{l} +Continuous Integration\\ +\end{tabular} & Outlines the development and operational practices including continuous integration, containerization, and testing methodologies. \\ + \rowcolor{numpexlightergray}Packaging & \begin{tabular}{l} +None\\ +\end{tabular} & Software packaging and distribution.\\ + \rowcolor{white}Testing & \begin{tabular}{l} +Unit\\ +Verification\\ +\end{tabular} & Testing methodologies employed to ensure software quality and correctness.\\ + \rowcolor{numpexlightergray}Containerization & \begin{tabular}{l} +None\\ +\end{tabular} & Container technologies used to package and deploy the software.\\ + \rowcolor{white}Interfaces & \begin{tabular}{l} +Feel++\\ +Freefem++\\ +MUMPS\\ +PETSc\\ +PaStIX\\ +\end{tabular} & List of software HPDDM has interfaces with.\\ \bottomrule \end{tabular} }} diff --git a/software/mahyco/mahyco.tex b/software/mahyco/mahyco.tex index 6993507..e5d5df9 100644 --- a/software/mahyco/mahyco.tex +++ b/software/mahyco/mahyco.tex @@ -21,8 +21,7 @@ \section{Software: MaHyCo} jean-philippe.perlat@cea.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ -GPU\\ +CPU or GPU\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/cea-hpc/MaHyCo}{https://github.com/cea-hpc/MaHyCo} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/manta/WP3/WP3.tex b/software/manta/WP3/WP3.tex index 4cbcb67..4f43a9a 100644 --- a/software/manta/WP3/WP3.tex +++ b/software/manta/WP3/WP3.tex @@ -19,7 +19,7 @@ \section{Software: MANTA} olivier.jamond@cea.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{None}{None} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/manta/manta.tex b/software/manta/manta.tex index d8df162..9233eff 100644 --- a/software/manta/manta.tex +++ b/software/manta/manta.tex @@ -21,7 +21,7 @@ \section{Software: MANTA} olivier.jamond@cea.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{None}{None} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/mmg-parmmg/WP1/WP1.tex b/software/mmg-parmmg/WP1/WP1.tex index 99059b6..5c75645 100644 --- a/software/mmg-parmmg/WP1/WP1.tex +++ b/software/mmg-parmmg/WP1/WP1.tex @@ -21,7 +21,7 @@ \section{Software: MMG/ParMMG} None\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{None}{None} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/mmg-parmmg/mmg-parmmg.tex b/software/mmg-parmmg/mmg-parmmg.tex index 93b09eb..9d9850c 100644 --- a/software/mmg-parmmg/mmg-parmmg.tex +++ b/software/mmg-parmmg/mmg-parmmg.tex @@ -23,7 +23,7 @@ \section{Software: MMG/ParMMG} None\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{None}{None} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/pbb/WP5/WP5.tex b/software/pbb/WP5/WP5.tex index f83c911..ae8e43e 100644 --- a/software/pbb/WP5/WP5.tex +++ b/software/pbb/WP5/WP5.tex @@ -19,8 +19,7 @@ \section{Software: pBB} nouredine.melab@univ-lille.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ -GPU\\ +CPU or GPU\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://gitlab.inria.fr/jgmys/permutationbb}{https://gitlab.inria.fr/jgmys/permutationbb} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/pbb/pbb.tex b/software/pbb/pbb.tex index 9d0511b..d352357 100644 --- a/software/pbb/pbb.tex +++ b/software/pbb/pbb.tex @@ -21,8 +21,7 @@ \section{Software: pBB} nouredine.melab@univ-lille.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ -GPU\\ +CPU or GPU\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://gitlab.inria.fr/jgmys/permutationbb}{https://gitlab.inria.fr/jgmys/permutationbb} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/samurai/WP1/WP1.tex b/software/samurai/WP1/WP1.tex index 14f181c..15b2a7f 100644 --- a/software/samurai/WP1/WP1.tex +++ b/software/samurai/WP1/WP1.tex @@ -20,7 +20,7 @@ \section{Software: Samurai} Loic Gouarin\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/hpc-maths/samurai}{https://github.com/hpc-maths/samurai} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/samurai/samurai.tex b/software/samurai/samurai.tex index 41d42a9..5539f0e 100644 --- a/software/samurai/samurai.tex +++ b/software/samurai/samurai.tex @@ -22,7 +22,7 @@ \section{Software: Samurai} Loic Gouarin\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ +CPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/hpc-maths/samurai}{https://github.com/hpc-maths/samurai} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} @@ -75,12 +75,14 @@ \subsection{Programming and Computational Environment} None\\ \end{tabular} & Fault tolerance and recovery mechanisms employed by the software.\\ \rowcolor{white}DevOps & \begin{tabular}{l} +Continuous Delivery\\ Continuous Integration\\ \end{tabular} & Outlines the development and operational practices including continuous integration, containerization, and testing methodologies. \\ \rowcolor{numpexlightergray}Packaging & \begin{tabular}{l} Other\\ \end{tabular} & Software packaging and distribution.\\ \rowcolor{white}Testing & \begin{tabular}{l} +Functional\\ Unit\\ Validation\\ Verification\\ diff --git a/software/scimba/WP2/WP2.tex b/software/scimba/WP2/WP2.tex index f02b93d..cf492bf 100644 --- a/software/scimba/WP2/WP2.tex +++ b/software/scimba/WP2/WP2.tex @@ -20,7 +20,7 @@ \section{Software: Scimba} emmanuel.franck@inria.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -GPU\\ +CPU or GPU\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://gitlab.inria.fr/scimba/scimba}{https://gitlab.inria.fr/scimba/scimba} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/scimba/scimba.tex b/software/scimba/scimba.tex index fa413e8..99d309f 100644 --- a/software/scimba/scimba.tex +++ b/software/scimba/scimba.tex @@ -22,7 +22,7 @@ \section{Software: Scimba} emmanuel.franck@inria.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -GPU\\ +CPU or GPU\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://gitlab.inria.fr/scimba/scimba}{https://gitlab.inria.fr/scimba/scimba} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/trust-platform/WP3/WP3.tex b/software/trust-platform/WP3/WP3.tex index c566a14..867130d 100644 --- a/software/trust-platform/WP3/WP3.tex +++ b/software/trust-platform/WP3/WP3.tex @@ -19,9 +19,7 @@ \section{Software: TRUST Platform} pierre.ledac@cea.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ -GPU\\ -Hybrid\\ +CPU and GPU\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/cea-trust-platform}{https://github.com/cea-trust-platform} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} @@ -52,6 +50,8 @@ \subsection{Software Overview} \rowcolor{numpexgray}{\rule{0pt}{2.5ex}\color{white}\bf Features} & {\rule{0pt}{2.5ex}\color{white}\bf Short Description }\\ \rowcolor{white} multiphysics coupling & provide short description here \\ +\rowcolor{numpexlightergray} krylov solver & provide short description here \\ +\rowcolor{white} direct solver & provide short description here \\ \end{tabular} } } diff --git a/software/trust-platform/trust-platform.tex b/software/trust-platform/trust-platform.tex index 4f3711b..3de8f24 100644 --- a/software/trust-platform/trust-platform.tex +++ b/software/trust-platform/trust-platform.tex @@ -21,9 +21,7 @@ \section{Software: TRUST Platform} pierre.ledac@cea.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -CPU\\ -GPU\\ -Hybrid\\ +CPU and GPU\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/cea-trust-platform}{https://github.com/cea-trust-platform} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/zellij/WP5/WP5.tex b/software/zellij/WP5/WP5.tex index f9cb3f4..e861dac 100644 --- a/software/zellij/WP5/WP5.tex +++ b/software/zellij/WP5/WP5.tex @@ -19,7 +19,7 @@ \section{Software: Zellij} el-ghazali.talbi@univ-lille.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -GPU\\ +GPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/ThomasFirmin/zellij}{https://github.com/ThomasFirmin/zellij} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/software/zellij/zellij.tex b/software/zellij/zellij.tex index 91f6828..5daff37 100644 --- a/software/zellij/zellij.tex +++ b/software/zellij/zellij.tex @@ -21,7 +21,7 @@ \section{Software: Zellij} el-ghazali.talbi@univ-lille.fr\\ \end{tabular} \\ \rowcolor{numpexlightergray}\textbf{Supported Architectures} & \begin{tabular}{l} -GPU\\ +GPU Only\\ \end{tabular} \\ \rowcolor{white}\textbf{Repository} & \href{https://github.com/ThomasFirmin/zellij}{https://github.com/ThomasFirmin/zellij} \\ \rowcolor{numpexlightergray}\textbf{License} & \begin{tabular}{l} diff --git a/templates/software.tex b/templates/software.tex new file mode 100644 index 0000000..5d1526f --- /dev/null +++ b/templates/software.tex @@ -0,0 +1,75 @@ +\clearpage +\chapter{Software} +\label{sec:software} + +This chapter presents the software developed within Exa-MA, focusing on features, mathematics, functionalities, publications, acknowledgments, and contact details. + +First, we present some general statistics about the software identified for Exa-MA that will present some benchmarking results. +Other software (new or existing) will be included in the future versions of this document. + + +\section{General Statistics} +\label{sec:software:statistics} + +In this section, we provide an overview of the key characteristics and technological choices for the software developed and benchmarked within Exa-MA. +These statistics offer insights into the diversity of hardware architectures, programming languages, and parallel computing technologies utilized across the different software packages. + +The aim is to highlight the widespread usage of various technologies, demonstrating both the flexibility and the breadth of approaches within the project. +Additionally, the DevOps practices employed, such as continuous integration, testing, and deployment, are presented to underscore the commitment to ensuring quality, reliability, and maintainability of the software developed under Exa-MA. + +The following subsections provide detailed breakdowns of the different aspects of the software involved in the project, from supported architectures and programming languages to specific parallelism technologies, data formats, and DevOps strategies. +It helps to assess the readiness of the software for large-scale simulations and benchmarks in exascale computing environments. + + +\subsection{Architectures} + +The following pie chart~\ref{fig:arch} shows the distribution of hardware architectures used for the benchmarks. + +\VAR{software.arch_chart} + +\subsection{Programming Languages} + +The following pie chart~\ref{fig:languages} shows the distribution of programming languages used, highlighting the variety of computational solutions employed. + +\VAR{software.languages_chart} + +\subsection{Parallelism Technology} + + +The pie chart~\ref{fig:parallelism} below represents the parallelism techniques used in Exa-MA software selected for this document. + +\VAR{software.parallelism_chart} + + +\subsection{Data Formats} + +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. + +\VAR{software.data_chart} + +\subsection{DevOps - CI/CD} + +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. + +\VAR{software.devops_cicd_chart} + +\subsection{DevOps - Packaging} + +The next chart~\ref{fig:devops-packaging} shows different packaging methods used, which help in the distribution and management of software. + +\VAR{software.devops_packaging_chart} + +\subsection{DevOps - Containers} + +The pie chart~\ref{fig:devops-containers} displays the use of container technologies, which help encapsulate the software to run reliably in various environments. + +\VAR{software.devops_containers_chart} + +\subsection{DevOps - Testing} + +The following pie chart~\ref{fig:devops-testing} details the testing practices adopted, illustrating the commitment to software reliability and functionality. + +\VAR{software.devops_testing_chart} + +\VAR{software.software} +