Add example report
This commit is contained in:
parent
067fb0c0a2
commit
30ad4219d9
30
garlic/report.nix
Normal file
30
garlic/report.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{
|
||||
stdenv
|
||||
, fig
|
||||
, exp
|
||||
, writeText
|
||||
, busybox
|
||||
, jq
|
||||
, texlive
|
||||
}:
|
||||
let
|
||||
figJSON = writeText "fig.json" (builtins.toJSON fig);
|
||||
expJSON = writeText "exp.json" (builtins.toJSON exp);
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "report";
|
||||
src = ./.;
|
||||
buildInputs = [ jq texlive.combined.scheme-basic ];
|
||||
buildPhase = ''
|
||||
ls -l
|
||||
sed -i -e "s:@fig\.nbody\.test@:$(jq -r .nbody.test ${figJSON}):g" report.tex
|
||||
jq . ${figJSON}
|
||||
jq . ${expJSON}
|
||||
pdflatex report.tex -o report.pdf
|
||||
pdflatex report.tex -o report.pdf
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
cp report.* $out
|
||||
'';
|
||||
}
|
31
garlic/report.tex
Normal file
31
garlic/report.tex
Normal file
@ -0,0 +1,31 @@
|
||||
\documentclass{article}
|
||||
\usepackage{graphicx}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\title{Example of Nix + \LaTeX{}}
|
||||
\author{Rodrigo Arias Mallo}
|
||||
|
||||
\maketitle
|
||||
|
||||
\section{Nbody}
|
||||
The nbody program has been executed with varying block sizes while the execution
|
||||
time $t$ is measured, as shown in the figure \ref{fig:nbody.test}.
|
||||
%
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=0.45\textwidth]{@fig.nbody.test@/scatter.png}
|
||||
\includegraphics[width=0.45\textwidth]{@fig.nbody.test@/box.png}
|
||||
\caption{Nbody times with varying block size}
|
||||
\label{fig:nbody.test}
|
||||
\end{figure}
|
||||
%
|
||||
The normalized time $\hat t$ is computed with the median time $t_m$ using $ \hat
|
||||
t = t / t_{m} - 1 $. It can be observed that the normalized times exceed the
|
||||
maximum allowed interval in most cases, except with the largest block sizes.
|
||||
|
||||
Once the experiment \texttt{exp.nbody.test} changes, the hash of the experiment
|
||||
program will change, therefore the plot will be updated and, lastly, this
|
||||
report.
|
||||
|
||||
\end{document}
|
@ -162,6 +162,11 @@ let
|
||||
# Configuration for the machines
|
||||
machines = callPackage ./garlic/machines.nix {};
|
||||
|
||||
report = callPackage ./garlic/report.nix {
|
||||
fig = self.bsc.garlic.fig;
|
||||
exp = self.bsc.garlic.exp;
|
||||
};
|
||||
|
||||
# Use the configuration for the following target machine
|
||||
targetMachine = self.garlic.machines.mn4;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user