Commit 9c94435a authored by Dominic Etienne Charrier's avatar Dominic Etienne Charrier
Browse files

Add section in profiling section to measure processing times of particular...

Add section in profiling section to measure processing times of particular algorithmic phases or cell operations.
parent bbac4639
......@@ -7,6 +7,41 @@ Intel's VTune Amplifier and Likwid, we equip the engine with a couple of profile
options and features.
\section{Profiling scope}
Profiling can target the whole code or only particular algorithmic phases.
The profiling target can be selected via a block
\begin{verbatim}
begin profiling
profiling-target = <enum>
end profiling
\end{verbatim}
where we can choose between \texttt{whole\_code} and \texttt{neighbour\_merge}, \texttt{predictor}, and \texttt{update}.
The default is \texttt{whole\_code}.
The block must be placed within the \texttt{exahype-project} environment.
Note that it is important to run the code for a certain
number of \texttt{time-steps} instead of specifying a simulation
\texttt{end-time} if a profiling target other than \texttt{whole\_code}
is specified.
Alternatively or additionally, we can measure the processing time of cell-wise operations
such as (fused) cell update or space-time predictor computation via:
\begin{verbatim}
begin profiling
measure_cell_processing_times = true
measure_cell_processing_times_iter = <integer>
end profiling
\end{verbatim}
The second parameter specifies the number of measurements to perform when measuring cell processing times.
The results are averaged over the number of measurements. The default is one measurement.
Note that these real-time measurements can be performed in release mode.
No special profiling build target must be specified.
\section{Build targets}
We currently support two build targets for profiling:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment