|
@@ -667,6 +667,69 @@ the priorities as the StarPU scheduler would, i.e. schedule prioritized
|
|
|
tasks before less prioritized tasks, to check to which extend this results
|
|
|
to a less optimal solution. This increases even more computation time.
|
|
|
|
|
|
+\section starvz Trace visualization with StarVZ
|
|
|
+
|
|
|
+Creating views with StarVZ (see: https://github.com/schnorr/starvz) is made up of two steps. The initial
|
|
|
+stage consists of a pre-processing of the traces generated by the application.
|
|
|
+The second step consists of the analysis itself and is carried out with the
|
|
|
+aid of R packages. To download and install StarVZ, it is necessary to have R,
|
|
|
+pajeng and the following packages:
|
|
|
+
|
|
|
+\verbatim
|
|
|
+# For pajeng
|
|
|
+apt install -y git cmake build-essential libboost-dev asciidoc flex bison
|
|
|
+git clone git://github.com/schnorr/pajeng.git
|
|
|
+mkdir -p pajeng/b ; cd pajeng/b
|
|
|
+cmake ..
|
|
|
+make
|
|
|
+
|
|
|
+# For R tidyverse
|
|
|
+apt install -y r-base libxml2-dev libssl-dev libcurl4-openssl-dev libgit2-dev libboost-dev
|
|
|
+\endverbatim
|
|
|
+
|
|
|
+To install the StarVZ the following commands can be used:
|
|
|
+
|
|
|
+\verbatim
|
|
|
+git clone https://github.com/schnorr/starvz.git
|
|
|
+echo "install.packages(c('tidyverse', 'devtools'), repos = 'https://cloud.r-project.org')" | R --vanilla
|
|
|
+echo "library(devtools); devtools::install_local(path='./starvz/R_package')" | R --vanilla
|
|
|
+\endverbatim
|
|
|
+
|
|
|
+To generate traces from an application, it is necessary to set \ref STARPU_GENERATE_TRACE.
|
|
|
+and build StarPU with FxT. Then, Step 1 of StarVZ can be used on a folder with
|
|
|
+StarPU FxT traces:
|
|
|
+
|
|
|
+\verbatim
|
|
|
+export PATH=starvz/:$PATH
|
|
|
+export PATH=pajeng/b:$PATH
|
|
|
+export PATH=$STARPU_HOME/bin:$PATH
|
|
|
+
|
|
|
+./starvz/src/phase1-workflow.sh /tmp/ ""
|
|
|
+\endverbatim
|
|
|
+
|
|
|
+Then the second step can be executed directly in R, StarVZ enables a set of
|
|
|
+different plots that can be configured on a .yaml file. A default file is provided
|
|
|
+<c>full_config.yaml</c>; also the options can be changed directly in R.
|
|
|
+
|
|
|
+\verbatim
|
|
|
+library(starvz)
|
|
|
+dtrace <- the_fast_reader_function("./")
|
|
|
+
|
|
|
+pajer <- config::get(file = "starvz/full_config.yaml")
|
|
|
+
|
|
|
+pajer$starpu$active = TRUE
|
|
|
+pajer$submitted$active = TRUE
|
|
|
+pajer$st$abe$active = TRUE
|
|
|
+
|
|
|
+plot <- the_master_function(dtrace)
|
|
|
+\endverbatim
|
|
|
+
|
|
|
+An example of visualization follows:
|
|
|
+
|
|
|
+\image html starvz_visu.png
|
|
|
+\image latex starvz_visu.eps "" width=\textwidth
|
|
|
+
|
|
|
+
|
|
|
\section MemoryFeedback Memory Feedback
|
|
|
|
|
|
It is possible to enable memory statistics. To do so, you need to pass
|