Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 0019693c authored by FELŠÖCI Marek's avatar FELŠÖCI Marek
Browse files

Looks even better

parent 4c6128f6
No related branches found
No related tags found
No related merge requests found
...@@ -13,14 +13,12 @@ ...@@ -13,14 +13,12 @@
*.snm *.snm
*.vrb *.vrb
*.pdf *.pdf
!styles/**/*.pdf
*.html *.html
*.json *.json
svg-inkscape *.600pk
_minted* figures/*.pdf
figures/*.svg
public/figures/*
*.csv *.csv
*.el
# Tangled source code # Tangled source code
*.sh *.sh
......
@misc{testFEMBEM, @misc{minisolver,
title = { title = {
{test\_FEMBEM, a simple application for testing dense and sparse solvers {minisolver, a simple application for testing dense solvers with pseudo-BEM
with pseudo-FEM or pseudo-BEM matrices} matrices. It is based on the test\_FEMBEM application, however with just
enough functionalities for the needs of the Org mode and Guix tutorial.}
}, },
howpublished = {\url{https://gitlab.inria.fr/solverstack/test_fembem}} howpublished = {
\url{https://gitlab.inria.fr/tutorial-guix-hpc-workshop/software/minisolver}
}
} }
@misc{hmat-oss, @misc{hmat-oss,
......
...@@ -23,12 +23,12 @@ application, developed especially for the needs of this study. ...@@ -23,12 +23,12 @@ application, developed especially for the needs of this study.
:CUSTOM_ID: model-software :CUSTOM_ID: model-software
:END: :END:
=minisolver= considers a simplified aeroacoustic =cylinder= model represented by =minisolver= [cite:@minisolver] considers a simplified aeroacoustic =cylinder=
a linear system. It is then able to generate test cases of arbitrarily large model represented by a linear system. It is then able to generate test cases of
sizes in terms of the unknown count in the corresponding linear system. Finally, arbitrarily large sizes in terms of the unknown count in the corresponding
=minisolve= uses the open-source HMAT solver [cite:@hmat-oss;Lize14] for solving linear system. Finally, =minisolve= uses the open-source HMAT solver
the generated linear system and actually compute the acoustic pressure in [cite:@hmat-oss;@Lize14] for solving the generated linear system and actually
different parts of the model. compute the acoustic pressure in different parts of the model.
#+CAPTION: A =cylinder= mesh counting 20,000 vertices. #+CAPTION: A =cylinder= mesh counting 20,000 vertices.
#+NAME: short-pipe #+NAME: short-pipe
...@@ -99,7 +99,7 @@ approach is to associate source code with an explanation of its purpose written ...@@ -99,7 +99,7 @@ approach is to associate source code with an explanation of its purpose written
in a natural language. in a natural language.
There are numerous software tools designed for literate programming. We rely on There are numerous software tools designed for literate programming. We rely on
Org mode for Emacs [cite:@Dominik18;emacs] which defines the Org markup language Org mode for Emacs [cite:@Dominik18;@emacs] which defines the Org markup language
allowing to combine formatted text, images and figures with traditional source allowing to combine formatted text, images and figures with traditional source
code. Files containing documents written in Org mode should end with the =.org= code. Files containing documents written in Org mode should end with the =.org=
extension. extension.
...@@ -162,9 +162,9 @@ explanation. ...@@ -162,9 +162,9 @@ explanation.
#+BEGIN_SRC shell #+BEGIN_SRC shell
guix time-machine -C channels.scm -- shell --pure -m manifest.scm -- \ guix time-machine -C channels.scm -- shell --pure -m manifest.scm -- \
./results-time.R Rscript ./results-time.R
guix time-machine -C channels.scm -- shell --pure -m manifest.scm -- \ guix time-machine -C channels.scm -- shell --pure -m manifest.scm -- \
./results-ram.R Rscript ./results-ram.R
#+END_SRC #+END_SRC
**** Publishing manuscripts **** Publishing manuscripts
...@@ -297,9 +297,8 @@ together with the =ggplot2= plotting library. ...@@ -297,9 +297,8 @@ together with the =ggplot2= plotting library.
"r-ggplot2" "r-ggplot2"
#+END_SRC #+END_SRC
For editing Org mode files and publishing them into HTML and PDF, we need some For editing Org mode files and publishing them into PDF, we need some
Emacs and Texlive packages as well as =inkscape= for manipulating scalable Emacs and Texlive packages.
vector graphics.
#+BEGIN_SRC scheme #+BEGIN_SRC scheme
"emacs" "emacs"
...@@ -307,19 +306,17 @@ vector graphics. ...@@ -307,19 +306,17 @@ vector graphics.
"emacs-org-ref" "emacs-org-ref"
"emacs-ess" "emacs-ess"
"texlive-scheme-basic" "texlive-scheme-basic"
"texlive-hyperref" "texlive-hyperref"
"texlive-geometry" "texlive-geometry"
"texlive-ec" "texlive-ec"
"texlive-float" "texlive-float"
"texlive-latexmk" "texlive-latexmk"
"texlive-wrapfig" "texlive-wrapfig"
"texlive-amsmath" "texlive-amsmath"
"texlive-ulem" "texlive-ulem"
"texlive-capt-of" "texlive-capt-of"
"texlive-biblatex" "texlive-biblatex"
"texlive-biber" "texlive-biber"
"sed"
"inkscape"
#+END_SRC #+END_SRC
Eventually, we also include =bash= together with other system utilities, Eventually, we also include =bash= together with other system utilities,
...@@ -327,6 +324,7 @@ especially for gathering the machine info in the bash script defined in Section. ...@@ -327,6 +324,7 @@ especially for gathering the machine info in the bash script defined in Section.
#+BEGIN_SRC scheme #+BEGIN_SRC scheme
"bash" "bash"
"sed"
"coreutils")) "coreutils"))
#+END_SRC #+END_SRC
...@@ -337,11 +335,11 @@ especially for gathering the machine info in the bash script defined in Section. ...@@ -337,11 +335,11 @@ especially for gathering the machine info in the bash script defined in Section.
We benchmark =minisolver= on linear systems with $N$, the number of unknowns, We benchmark =minisolver= on linear systems with $N$, the number of unknowns,
in (5,000; 10,000; 15,000; 20,000) while consider either the /low/ or the /high/ in (5,000; 10,000; 15,000; 20,000) while consider either the /low/ or the /high/
# compression level. Table [[benchmarks-table]] lists all of the considered compression level. Table [[benchmarks-table]] lists all of the considered
benchmarks. benchmarks.
#+NAME: get-table #+NAME: get-table
#+begin_src elisp :noweb yes :exports none #+begin_src elisp :noweb yes :exports results :results value raw
<<get-table-of-benchmarks>> <<get-table-of-benchmarks>>
#+end_src #+end_src
...@@ -566,7 +564,7 @@ At the very end of the script, we produce the plot into a =*.svg= file while ...@@ -566,7 +564,7 @@ At the very end of the script, we produce the plot into a =*.svg= file while
specifying the destination as well as the initial dimensions. specifying the destination as well as the initial dimensions.
#+begin_src R #+begin_src R
ggsave(file = "figures/results-time.pdf", plot = plot, width = 5, height = 5) ggsave(file = "figures/results-time.pdf", plot = plot, width = 5, height = 3)
#+end_src #+end_src
*** Peak RAM usage *** Peak RAM usage
...@@ -624,7 +622,7 @@ theme_bw() ...@@ -624,7 +622,7 @@ theme_bw()
The destination file name changes too, of course. The destination file name changes too, of course.
#+begin_src R #+begin_src R
ggsave(file = "figures/results-ram.pdf", plot = plot, width = 5, height = 5) ggsave(file = "figures/results-ram.pdf", plot = plot, width = 5, height = 3)
#+end_src #+end_src
* Conclusion * Conclusion
...@@ -698,27 +696,6 @@ For the bibliography to be exported correctly to PDF, we need to use the ...@@ -698,27 +696,6 @@ For the bibliography to be exported correctly to PDF, we need to use the
(setq org-cite-export-processors '((t biblatex))) (setq org-cite-export-processors '((t biblatex)))
#+end_src #+end_src
For a nice formatting of source code blocks, we choose the =minted= package with
a custom appearance configuration.
#+begin_src elisp
(setq org-latex-packages-alist '())
;;(add-to-list 'org-latex-packages-alist '("" "minted"))
;;(setq org-latex-listings 'minted)
;;(setq org-latex-minted-options
;; '(("linenos = false") ("mathescape") ("breaklines")
;; ("style = monokai")))
#+end_src
The export to a LaTeX PDF triggers the inclusion of a certain number of LaTeX
packages by default. However, we need to include an extra package, i.e. the
=svg= package, allowing us to use =*.svg= files in the manuscript.
#+begin_src elisp
;;(add-to-list 'org-latex-packages-alist
;; '("inkscapelatex = false, inkscapearea = page" "svg"))
#+end_src
Eventually, we set up a list of publishing targets. Here, we have a single Eventually, we set up a list of publishing targets. Here, we have a single
target consisting in publishing all of the Org files in the current working target consisting in publishing all of the Org files in the current working
directory. In our case, it concerns only the present Org source. The attributes directory. In our case, it concerns only the present Org source. The attributes
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment