-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
/cc @HBarucq
- Loading branch information
Showing
24 changed files
with
291 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -31,4 +31,5 @@ docs/meetings/20220907_kickoff/beamertheme-trigon/source/x.log | |
*.snm | ||
*.synctex.gz | ||
*.toc | ||
.DS_Store// | ||
.DS_Store | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
import pandas as pd | ||
import math | ||
|
||
# Specify the path to your Excel file | ||
file_path = 'doe.xlsx' | ||
|
||
# Read the Excel spreadsheet | ||
df = pd.read_excel(file_path) | ||
|
||
# Print the DataFrame | ||
print(df) | ||
|
||
solvers_list = [ | ||
"KokkosKernels", | ||
"PETSc", | ||
"PARDISO", | ||
"Trilinos", | ||
"SuperLU-Dist", | ||
"STRUMPACK", | ||
"Hypre", | ||
"SPARSKIT", | ||
"BLAS", | ||
"SuperLU", | ||
"SparsePACK", | ||
"LAPACK" | ||
] | ||
math_list = ["SAMRAI", "STK", "MFEM", "UMR", "Portage", "Tangram", "Axom", "Overlink", "METIS", "ParMETIS", "Sculpt", "libigl"] | ||
compilers_list = ["Kokkos", "RAJA Suite", "FleCSI", "Flang", "MPICH", "OpenMPI", "Legion", "PyKokkos", "KokkosRemoteMemorySpaces", "Fortran", "MPI", "C", "C++", "GCC", "HIP", "CUDA", "Python", "OpenMP", "Intel Compiler Suite", "LLVM", "Perl", "PyTorch", "TensorFlow", "Boost", "Intel MPI"] | ||
system_list = ["CharlieCloud", "LDMS", "Flux", "SICM", "AppSysFusion", "GMI", "Maestro/Merlin", "Splunk", "SLURM", "VmWare", "LSF"] | ||
visu_list = ["VTK/VTKm", "Paraview", "Visit", "Catalyst", "Conduit", "Cinema", "Ascent"] | ||
build_list = ["Spack", "BLT", "CMake", "Ninja", "Autoconf/Automake", "gdb", "git", "Gitlab", "git-lfs", "Valgrind", "AllineaForge", "TotalView", "Caliper", "Archer", "PAPI", "KokkosTools", "CDash", "STAT"] | ||
io_list = ["HDF5/Parallel-HDF5", "NetCDF, pNetCDF", "SEACAS", "UnifyFS", "ZFP", "HPSS, MarFS, SILO", "Exodus, yamlcpp", "GUFI, HIO, SCR, Sina/Kosh", "CGNS, libz", "DB2, Matio", "ADIOS, szip/AEC"] | ||
|
||
|
||
# Define the mapping from scale to numerical values | ||
scale_mapping = { | ||
"Low": 0, | ||
"Medium": 1, | ||
"High": 2, | ||
"Very High": 3 | ||
} | ||
|
||
data_map = { | ||
"solvers_list": (["KokkosKernels", "PETSc", "PARDISO", "Trilinos", "SuperLU-Dist", "STRUMPACK", "Hypre", "SPARSKIT", "BLAS", "SuperLU", "SparsePACK", "LAPACK"], "Solver Libraries"), | ||
"math_list": (["SAMRAI", "STK", "MFEM", "UMR", "Portage", "Tangram", "Axom", "Overlink", "METIS", "ParMETIS", "Sculpt", "libigl"], "Math, Meshing, Discretization & Decomposition"), | ||
"compilers_list": (["Kokkos", "RAJA Suite", "FleCSI", "Flang", "MPICH", "OpenMPI", "Legion", "PyKokkos", "KokkosRemoteMemorySpaces", "Fortran", "MPI", "C", "C++", "GCC", "HIP", "CUDA", "Python", "OpenMP", "Intel Compiler Suite", "LLVM", "Perl", "PyTorch", "TensorFlow", "Boost", "Intel MPI"], "Compilers, Runtimes and Languages"), | ||
"system_list": (["CharlieCloud", "LDMS", "Flux", "SICM", "AppSysFusion", "GMI", "Maestro/Merlin", "Splunk", "SLURM", "VmWare", "LSF"], "System imaging, system monitoring and management"), | ||
"visu_list": (["VTK/VTKm", "Paraview", "Visit", "Catalyst", "Conduit", "Cinema", "Ascent"], "Visualisation And Analysis"), | ||
"build_list": (["Spack", "BLT", "CMake", "Ninja", "Autoconf/Automake", "gdb", "git", "Gitlab", "git-lfs", "Valgrind", "AllineaForge", "TotalView", "Caliper", "Archer", "PAPI", "KokkosTools", "CDash", "STAT"], "Build, Development and Software Eng."), | ||
"io_list": (["HDF5/Parallel-HDF5", "NetCDF, pNetCDF", "SEACAS", "UnifyFS", "ZFP", "HPSS, MarFS, SILO", "Exodus, yamlcpp", "GUFI, HIO, SCR, Sina/Kosh", "CGNS, libz", "DB2, Matio", "ADIOS, szip/AEC"], "IO Storage/Data management") | ||
} | ||
|
||
for software_list, title in data_map.values(): | ||
print(f"Processing {title}: {software_list}") | ||
average_value = dict() | ||
# Define the reverse mapping | ||
reverse_mapping = {v: k for k, v in scale_mapping.items()} | ||
|
||
for software in software_list: | ||
software_columns = [column for column in df.columns if software in column] | ||
if software_columns: | ||
# Apply the mapping to the specific columns | ||
df[software_columns] = df[software_columns].replace(scale_mapping) | ||
# Ignore rows with all NaN values | ||
average_value[software] = df[software_columns].dropna(how='all').mean(axis=0) | ||
# Convert the average value back to the scale | ||
average_value[software] = average_value[software].round().map(reverse_mapping) | ||
print(f"Average value for {software}: {average_value[software]}") | ||
#print(f"Average value for {software}: {average_value[software]}") | ||
# Print the results for each column | ||
#for column in software_columns: | ||
# print(f"Results for {column}:") | ||
# print(df[column].map(reverse_mapping).dropna()) | ||
else: | ||
print(f"No columns found for {software}") | ||
|
||
|
||
# Define the table structure | ||
table = { | ||
("Low", "Low"): [], | ||
("Low", "Medium"): [], | ||
("Low", "High"): [], | ||
("Low", "Very High"): [], | ||
("Medium", "Low"): [], | ||
("Medium", "Medium"): [], | ||
("Medium", "High"): [], | ||
("Medium", "Very High"): [], | ||
("High", "Low"): [], | ||
("High", "Medium"): [], | ||
("High", "High"): [], | ||
("High", "Very High"): [], | ||
("Very High", "Low"): [], | ||
("Very High", "Medium"): [], | ||
("Very High", "High"): [], | ||
("Very High", "Very High"): [], | ||
} | ||
|
||
# Fill the table with software names | ||
for software in software_list: | ||
row=dict() | ||
col=dict() | ||
ok=0 | ||
for key, val in average_value[software].items(): | ||
if "Likelihood" in key: | ||
if val in ["Very High","High","Medium","Low"]: | ||
row[software]=val | ||
else: | ||
row[software]="Low" | ||
if "Impact" in key: | ||
if val in ["Very High","High","Medium","Low"]: | ||
col[software]=val | ||
else: | ||
col[software]="Low" | ||
table[(row[software], col[software])].append(software) | ||
# print(table) | ||
|
||
## Create the AsciiDoc table | ||
asciidoc_table = f""" | ||
.Likelihood-Impact Matrix for {title} | ||
|===\n|Likelihood \\ Impact|Very High|High|Medium|Low\n | ||
""" | ||
# | ||
for likelihood in ["Very High","High","Medium","Low"]: | ||
asciidoc_table += f"|{likelihood}" | ||
for impact in ["Very High","High","Medium","Low"]: | ||
asciidoc_table += f"|{', '.join(table[(likelihood, impact)])}" | ||
asciidoc_table += "\n" | ||
|
||
asciidoc_table += "|===\n\n" | ||
|
||
with open(f"doe-analysis.adoc", "a") as f: | ||
f.write(f"== {title}") | ||
f.write(asciidoc_table) | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
== Solver Libraries | ||
.Likelihood-Impact Matrix for Solver Libraries | ||
|=== | ||
|Likelihood \ Impact|Very High|High|Medium|Low | ||
|
||
|Very High|||| | ||
|High||Hypre|Trilinos| | ||
|Medium||PETSc, STRUMPACK, SuperLU|PARDISO, SPARSKIT, SparsePACK|KokkosKernels | ||
|Low||BLAS, LAPACK|SuperLU-Dist| | ||
|=== | ||
|
||
== Math, Meshing, Discretization & Decomposition | ||
.Likelihood-Impact Matrix for Math, Meshing, Discretization & Decomposition | ||
|=== | ||
|Likelihood \ Impact|Very High|High|Medium|Low | ||
|
||
|Very High|||| | ||
|High||MFEM||libigl | ||
|Medium||METIS, ParMETIS|| | ||
|Low||SAMRAI||STK, UMR, Portage, Tangram, Axom, Overlink, Sculpt | ||
|=== | ||
|
||
== Compilers, Runtimes and Languages | ||
.Likelihood-Impact Matrix for Compilers, Runtimes and Languages | ||
|=== | ||
|Likelihood \ Impact|Very High|High|Medium|Low | ||
|
||
|Very High|||| | ||
|High||PyKokkos, Python, TensorFlow|| | ||
|Medium|C++, GCC|MPICH, OpenMPI, Fortran, MPI, HIP, CUDA, OpenMP, PyTorch, Boost, Intel MPI||Kokkos, C | ||
|Low|RAJA Suite|Flang, Intel Compiler Suite, LLVM|FleCSI, KokkosRemoteMemorySpaces, Perl|Legion | ||
|=== | ||
|
||
== System imaging, system monitoring and management | ||
.Likelihood-Impact Matrix for System imaging, system monitoring and management | ||
|=== | ||
|Likelihood \ Impact|Very High|High|Medium|Low | ||
|
||
|Very High|||| | ||
|High|||CharlieCloud| | ||
|Medium||LSF||LDMS, Flux, SICM, AppSysFusion, GMI, Maestro/Merlin, Splunk, VmWare | ||
|Low||SLURM|| | ||
|=== | ||
|
||
== Visualisation And Analysis | ||
.Likelihood-Impact Matrix for Visualisation And Analysis | ||
|=== | ||
|Likelihood \ Impact|Very High|High|Medium|Low | ||
|
||
|Very High|||| | ||
|High||Visit, Conduit|Catalyst|Cinema, Ascent | ||
|Medium||VTK/VTKm, Paraview|| | ||
|Low|||| | ||
|=== | ||
|
||
== Build, Development and Software Eng. | ||
.Likelihood-Impact Matrix for Build, Development and Software Eng. | ||
|=== | ||
|Likelihood \ Impact|Very High|High|Medium|Low | ||
|
||
|Very High|||| | ||
|High|git, git-lfs|Spack|| | ||
|Medium|CMake, gdb|Autoconf/Automake, Gitlab, Valgrind, Caliper||Archer, PAPI, KokkosTools, CDash, STAT | ||
|Low|Ninja|BLT, TotalView|AllineaForge| | ||
|=== | ||
|
||
== IO Storage/Data management | ||
.Likelihood-Impact Matrix for IO Storage/Data management | ||
|=== | ||
|Likelihood \ Impact|Very High|High|Medium|Low | ||
|
||
|Very High|||| | ||
|High|||| | ||
|Medium|HDF5/Parallel-HDF5|NetCDF, pNetCDF, SEACAS, HPSS, MarFS, SILO, Exodus, yamlcpp, ADIOS, szip/AEC||UnifyFS, ZFP, GUFI, HIO, SCR, Sina/Kosh, CGNS, libz, DB2, Matio | ||
|Low|||| | ||
|=== | ||
|
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
= PEPR NumPEx Exa-MA Software analysis | ||
Exa-MA | ||
v1.0 2023-05-31 | ||
:toc: macro | ||
:doctype: book | ||
:title-page: | ||
:title-page-background-image: image:media/digital-background.png[] | ||
:title-page-background-color: #000000 | ||
// :title-logo-image: image:media/logo-csmi.png[top=25%,align=center,pdfwidth=2in] | ||
:sectnums: | ||
:toc: left | ||
:toclevels: 2 | ||
:icons: font | ||
:icon-set: fab | ||
|
||
[.metadata] | ||
{author} -- version {revnumber}, {revdate} | ||
|
||
== Introduction | ||
|
||
== Doe Software Analysis | ||
|
||
This section describes the software analysis for the DOE Stack for the Exa-MA project. | ||
|
||
include::doe-analysis.adoc[] |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
extends: default | ||
title-page: | ||
background-color: #666666 | ||
font-size: 18 | ||
font-color: '#000000' | ||
header: | ||
height: 0.55in | ||
line-height: 1 | ||
border_color: dddddd | ||
border_width: 0.25 | ||
background-image: #image:../../media/logo-csmi.png[fit=scale-down,position=right] | ||
recto: | ||
center: | ||
content: 'PEPR NumPEx - Exa-MA -- v{revnumber}, {docdate}' | ||
verso: | ||
center: | ||
content: $header-recto-center-content | ||
footer: | ||
# background-image: image:../../media/logo-csmi.png[width=0.5in] image:../../media/logo-unistra.png[width=0.5in] | ||
background-image: #image:../../media/logo-unistra.png[fit=scale-down,position=right] | ||
height: 0.65in | ||
line-height: 1 | ||
recto: | ||
left: | ||
content: '{section-or-chapter-title} | {page-number} of {page-count}' | ||
verso: | ||
left: | ||
content: '{page-number} of {page-count} | *{chapter-title}*' | ||
|
||
font: | ||
catalog: | ||
merge: true | ||
UnistraA: | ||
normal: UnistraA-Regular.ttf | ||
bold: UnistraA-Bold.ttf | ||
italic: UnistraA-Italic.ttf | ||
bold_italic: UnistraA-BoldItalic.ttf | ||
UnistraB: | ||
normal: UnistraB-Regular.ttf | ||
bold: UnistraB-Bold.ttf | ||
italic: UnistraB-Italic.ttf | ||
bold_italic: UnistraB-BoldItalic.ttf | ||
|
||
heading: | ||
font-family: UnistraB | ||
font-style: bold | ||
#base: | ||
# font-family: UnistraB | ||
# font-style: normal | ||
h2: | ||
font-color: '#da3131' |