Mentions légales du service
Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Org-modized
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Model registry
Monitor
Service Desk
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Org mode and Guix tutorial - Guix HPC Workshop
studies
Org-modized
Commits
0019693c
Commit
0019693c
authored
1 year ago
by
FELŠÖCI Marek
Browse files
Options
Downloads
Patches
Plain Diff
Looks even better
parent
4c6128f6
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
.gitignore
+3
-5
3 additions, 5 deletions
.gitignore
references.bib
+7
-4
7 additions, 4 deletions
references.bib
study.org
+27
-50
27 additions, 50 deletions
study.org
with
37 additions
and
59 deletions
.gitignore
+
3
−
5
View file @
0019693c
...
@@ -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
...
...
This diff is collapsed.
Click to expand it.
references.bib
+
7
−
4
View file @
0019693c
@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
,
...
...
This diff is collapsed.
Click to expand it.
study.org
+
27
−
50
View file @
0019693c
...
@@ -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
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment