Skip to content

Commit

Permalink
Updates from Overleaf
Browse files Browse the repository at this point in the history
  • Loading branch information
prudhomm committed Sep 13, 2024
1 parent fe337a1 commit ae99394
Showing 1 changed file with 22 additions and 4 deletions.
26 changes: 22 additions & 4 deletions software/uranie/WP6/WP6.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,32 @@ \section{Software: Uranie}

\begin{itemize}
\item \textbf{Contact Email(s):} [email protected], [email protected]
\item \textbf{Supported Architecture(s):} CPU
\item \textbf{Repository Link:} \href{https://sourceforge.net/projects/uranie/}{https://sourceforge.net/projects/uranie/}
\item \textbf{Supported Architecture(s):} CPU, GPU
\item \textbf{Repository Link:} \href{https://uranie.cea.fr/}{https://uranie.cea.fr/}
\end{itemize}

\subsection{Software Overview}
\label{sec:WP6:Uranie:summary}

Provide a brief overview of the software with respect to WP6.
Uranie platform is based on ROOT and has by cosnequence a lot of ROOT characteristics such as:
\begin{itemize}
\item interactive C++ interpreter (Cling) based on LLVM and Clang
\item Python interface (PyROOT)
\item SQL database access
\end{itemize}
Uranie is organized in different modules, each devoted to a specific task in the Uncertainty Quantification (UQ) framework.
\begin{itemize}
\item \textbf{DataServer module:} The DataServer module is the heart of the Uranie platform, and contains the DataServer class. It contains all the necessary information on the variables in a problem (names, units, probability distributions, data files, etc.) and enables basic statistical operations to be performed.
\item \textbf{Sampler module:} This module contains sampling algorithms, such as Monte Carlo or Latin Hypercube Sampling.
\item \textbf{Launcher \& Relauncher modules:} The Launcher and Relauncher module apply an analytical function (python or C++), external simulation code or any combination of these to the contents of a DataServer. The contents of the DataServer can result from a design of experiments generated using one of the sampling techniques, or can be loaded from an external source (ASCII file, SQL database, etc.). Calculations can be easily launched on a cluster or parallelized using different paradigms: fork, shared memory (thread), separate memory (MPI)...
\item \textbf{Modeler module:} The Modeler module can be used to build a surrogate model linking the output(s) and input factors (polynomial models, neural networks, etc.) as closely as possible to the results contained in a set of supplied points serving as a train sample.
\item \textbf{Sensitivity module:} The Sensitivity module is used to perform a sensitivity analysis of one of the output responses in relation to the input factors. Estimation of Sobol' indices and HSIC indices are implemented in this module.
\item \textbf{Optimizer \& Reoptimizer module:} The Optimizer and Reoptimizer libraries are dedicated to model optimization and calibration. Model calibration consists in defining a model's “degrees of freedom” so that future simulations can be optimally adapted to an experimental database. Optimization is a complex procedure, and several techniques are available to perform it with single- or multi-criteria objectives, with or without constraints.
\item \textbf{MeteModelOptim module:} The MetaModelOptim library is a module dedicated to optimizations where it is necessary to couple the generation of surrogate models (and more precisely kriging techniques) to genetic algorithms in an EGO-type approach.
\item \textbf{Calibration module:} The Calibration module is a dedicated module for obtaining the best estimates of some of the parameters of a specific model under consideration. Optimization algorithms and Metropolis-Hastings MCMC sampler are available in this module.
\item \textbf{Reliability module:} The Reliability module is dedicated to reliability analysis, i.e. the determination of the low probabilities characterizing rare events, such as failures.
\end{itemize}


\subsection{Parallel Capabilities}
\label{sec:WP6:Uranie:performances}
Expand Down Expand Up @@ -43,4 +61,4 @@ \subsubsection{Benchmark \#1}
\subsection{12 months roadmap}
\label{sec:WP6:Uranie:roadmap}

Describe the planned improvements for the software in the context of WP6 and Exa-MA for the year to come that will be adressed in the next version of this deliverable.
In the context of exascale computation, Uranie will have to perform uncertainty quantification on more complex simulation softwares, that will be heavily parallelized using for instance MPI or OpenMP, and run on supercomputers. For the specific case of uncertainty propagation. Ensemble-runs of a simulation software has to be performed, and this can be tricky when the software is parallelized. Memory storage will also be challenging in the exascale era and "on the fly" handling of the output data generated by the simulation software has to be performed by Uranie. In the next deliverable, an adaptation of the Relauncher module using the ICoCo API (\url{https://github.com/cea-trust-platform/icoco-coupling}) will be proposed and illustrated on an uncertainty propagation task using TRUST software, with on the fly processing of the data generated using TRUST Python API.

0 comments on commit ae99394

Please sign in to comment.