guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/03: talks: Add IN2P3 ComputeOps workshop talk.


From: Ludovic Courtès
Subject: 02/03: talks: Add IN2P3 ComputeOps workshop talk.
Date: Tue, 5 Mar 2019 11:56:08 -0500 (EST)

civodul pushed a commit to branch master
in repository maintenance.

commit 43ffafcea82eed1249ae8c4c980fc667308803bc
Author: Ludovic Courtès <address@hidden>
Date:   Tue Mar 5 16:23:40 2019 +0100

    talks: Add IN2P3 ComputeOps workshop talk.
    
    * talks/in2p3-2019: New directory.
---
 .gitignore                                         |  10 +
 talks/in2p3-2019/images/Git-Logo-2Color.pdf        | Bin 0 -> 13852 bytes
 talks/in2p3-2019/images/Guix-horizontal-print.pdf  |   1 +
 .../images/IBM_Blue_Gene_P_supercomputer.jpg       |   1 +
 .../images/acm-artifact-review-and-badging.png     |   1 +
 .../in2p3-2019/images/acm-artifacts-functional.jpg |   1 +
 talks/in2p3-2019/images/arrow-curly.svg            |   1 +
 talks/in2p3-2019/images/arrow-right.pdf            | Bin 0 -> 1265 bytes
 talks/in2p3-2019/images/big-picture-1.pdf          |   1 +
 talks/in2p3-2019/images/big-picture-2.pdf          |   1 +
 talks/in2p3-2019/images/big-picture-3.pdf          |   1 +
 talks/in2p3-2019/images/big-picture.svg            |   1 +
 talks/in2p3-2019/images/bootstrappable.pdf         |   1 +
 talks/in2p3-2019/images/docker-guix-lol.pdf        |   1 +
 .../images/docker-image-layers-cropped.png         |   1 +
 talks/in2p3-2019/images/easybuild-bug.png          |   1 +
 talks/in2p3-2019/images/easybuild.png              |   1 +
 talks/in2p3-2019/images/environment-modules.png    |   1 +
 .../images/guixhpc-logo-transparent-white.pdf      |   1 +
 .../in2p3-2019/images/guixhpc-logo-transparent.pdf |   1 +
 talks/in2p3-2019/images/hwloc-graph.dot            |   1 +
 .../images/inria-logo-inverse-en-2017.pdf          |   1 +
 talks/in2p3-2019/images/lwn-docker-hello-world.png |   1 +
 talks/in2p3-2019/images/openhub-contributors.png   | Bin 0 -> 31126 bytes
 talks/in2p3-2019/images/pigx1.pdf                  |   1 +
 talks/in2p3-2019/images/pigx2.pdf                  |   1 +
 talks/in2p3-2019/images/repeatability-study.png    |   1 +
 talks/in2p3-2019/images/reproducible-builds.pdf    |   1 +
 talks/in2p3-2019/images/rescience-logo.png         |   1 +
 talks/in2p3-2019/images/rescience.png              |   1 +
 talks/in2p3-2019/images/singularity-def-file.png   | Bin 0 -> 68042 bytes
 talks/in2p3-2019/images/singularity-hpc-wire.png   |   1 +
 talks/in2p3-2019/images/singularity-secure.png     | Bin 0 -> 73931 bytes
 talks/in2p3-2019/images/smoothie.pdf               | Bin 0 -> 111347 bytes
 talks/in2p3-2019/images/snap-crypto-miner.png      |   1 +
 talks/in2p3-2019/images/spack-bug.png              |   1 +
 talks/in2p3-2019/images/spack.png                  |   1 +
 talks/in2p3-2019/rules.ini                         |   9 +
 talks/in2p3-2019/talk.tex                          | 696 +++++++++++++++++++++
 39 files changed, 745 insertions(+)

diff --git a/.gitignore b/.gitignore
index b3deba3..686ed24 100644
--- a/.gitignore
+++ b/.gitignore
@@ -170,3 +170,13 @@
 /talks/fosdem-2019/distributions/talk.snm
 /talks/fosdem-2019/distributions/talk.toc
 /talks/fosdem-2019/distributions/talk.vrb
+/talks/in2p3-2019/talk.aux
+/talks/in2p3-2019/talk.log
+/talks/in2p3-2019/talk.nav
+/talks/in2p3-2019/talk.out
+/talks/in2p3-2019/talk.pdf
+/talks/in2p3-2019/talk.pdf.bak
+/talks/in2p3-2019/talk.snm
+/talks/in2p3-2019/talk.toc
+/talks/in2p3-2019/talk.vrb
+/talks/in2p3-2019/images/hwloc-graph.pdf
diff --git a/talks/in2p3-2019/images/Git-Logo-2Color.pdf 
b/talks/in2p3-2019/images/Git-Logo-2Color.pdf
new file mode 100644
index 0000000..3a899f5
Binary files /dev/null and b/talks/in2p3-2019/images/Git-Logo-2Color.pdf differ
diff --git a/talks/in2p3-2019/images/Guix-horizontal-print.pdf 
b/talks/in2p3-2019/images/Guix-horizontal-print.pdf
new file mode 120000
index 0000000..2fa87eb
--- /dev/null
+++ b/talks/in2p3-2019/images/Guix-horizontal-print.pdf
@@ -0,0 +1 @@
+../../bosc-2017/images/Guix-horizontal-print.pdf
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/IBM_Blue_Gene_P_supercomputer.jpg 
b/talks/in2p3-2019/images/IBM_Blue_Gene_P_supercomputer.jpg
new file mode 120000
index 0000000..15ae512
--- /dev/null
+++ b/talks/in2p3-2019/images/IBM_Blue_Gene_P_supercomputer.jpg
@@ -0,0 +1 @@
+../../jcad-2018/images/IBM_Blue_Gene_P_supercomputer.jpg
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/acm-artifact-review-and-badging.png 
b/talks/in2p3-2019/images/acm-artifact-review-and-badging.png
new file mode 120000
index 0000000..c958d1f
--- /dev/null
+++ b/talks/in2p3-2019/images/acm-artifact-review-and-badging.png
@@ -0,0 +1 @@
+../../fosdem-2018/hpc/images/acm-artifact-review-and-badging.png
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/acm-artifacts-functional.jpg 
b/talks/in2p3-2019/images/acm-artifacts-functional.jpg
new file mode 120000
index 0000000..553033d
--- /dev/null
+++ b/talks/in2p3-2019/images/acm-artifacts-functional.jpg
@@ -0,0 +1 @@
+../../jcad-2018/images/acm-artifacts-functional.jpg
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/arrow-curly.svg 
b/talks/in2p3-2019/images/arrow-curly.svg
new file mode 120000
index 0000000..7cfe213
--- /dev/null
+++ b/talks/in2p3-2019/images/arrow-curly.svg
@@ -0,0 +1 @@
+../../fosdem-2018/hpc/images/arrow-curly.svg
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/arrow-right.pdf 
b/talks/in2p3-2019/images/arrow-right.pdf
new file mode 100644
index 0000000..c657dac
Binary files /dev/null and b/talks/in2p3-2019/images/arrow-right.pdf differ
diff --git a/talks/in2p3-2019/images/big-picture-1.pdf 
b/talks/in2p3-2019/images/big-picture-1.pdf
new file mode 120000
index 0000000..c35afd3
--- /dev/null
+++ b/talks/in2p3-2019/images/big-picture-1.pdf
@@ -0,0 +1 @@
+../../fosdem-2018/hpc/images/big-picture-1.pdf
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/big-picture-2.pdf 
b/talks/in2p3-2019/images/big-picture-2.pdf
new file mode 120000
index 0000000..c9b6648
--- /dev/null
+++ b/talks/in2p3-2019/images/big-picture-2.pdf
@@ -0,0 +1 @@
+../../fosdem-2018/hpc/images/big-picture-2.pdf
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/big-picture-3.pdf 
b/talks/in2p3-2019/images/big-picture-3.pdf
new file mode 120000
index 0000000..b8d0c4f
--- /dev/null
+++ b/talks/in2p3-2019/images/big-picture-3.pdf
@@ -0,0 +1 @@
+../../fosdem-2018/hpc/images/big-picture-3.pdf
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/big-picture.svg 
b/talks/in2p3-2019/images/big-picture.svg
new file mode 120000
index 0000000..d623feb
--- /dev/null
+++ b/talks/in2p3-2019/images/big-picture.svg
@@ -0,0 +1 @@
+../../jcad-2018/images/big-picture.svg
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/bootstrappable.pdf 
b/talks/in2p3-2019/images/bootstrappable.pdf
new file mode 120000
index 0000000..e8580aa
--- /dev/null
+++ b/talks/in2p3-2019/images/bootstrappable.pdf
@@ -0,0 +1 @@
+../../fosdem-2019/distributions/images/bootstrappable.pdf
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/docker-guix-lol.pdf 
b/talks/in2p3-2019/images/docker-guix-lol.pdf
new file mode 120000
index 0000000..ec52589
--- /dev/null
+++ b/talks/in2p3-2019/images/docker-guix-lol.pdf
@@ -0,0 +1 @@
+../../jcad-2018/images/docker-guix-lol.pdf
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/docker-image-layers-cropped.png 
b/talks/in2p3-2019/images/docker-image-layers-cropped.png
new file mode 120000
index 0000000..8027e05
--- /dev/null
+++ b/talks/in2p3-2019/images/docker-image-layers-cropped.png
@@ -0,0 +1 @@
+../../fosdem-2017/hpc/images/docker-image-layers-cropped.png
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/easybuild-bug.png 
b/talks/in2p3-2019/images/easybuild-bug.png
new file mode 120000
index 0000000..21bd0b9
--- /dev/null
+++ b/talks/in2p3-2019/images/easybuild-bug.png
@@ -0,0 +1 @@
+../../fosdem-2017/hpc/images/easybuild-bug.png
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/easybuild.png 
b/talks/in2p3-2019/images/easybuild.png
new file mode 120000
index 0000000..876a839
--- /dev/null
+++ b/talks/in2p3-2019/images/easybuild.png
@@ -0,0 +1 @@
+../../fosdem-2017/hpc/images/easybuild.png
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/environment-modules.png 
b/talks/in2p3-2019/images/environment-modules.png
new file mode 120000
index 0000000..39d88f5
--- /dev/null
+++ b/talks/in2p3-2019/images/environment-modules.png
@@ -0,0 +1 @@
+../../fosdem-2017/hpc/images/environment-modules.png
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/guixhpc-logo-transparent-white.pdf 
b/talks/in2p3-2019/images/guixhpc-logo-transparent-white.pdf
new file mode 120000
index 0000000..4b29e6b
--- /dev/null
+++ b/talks/in2p3-2019/images/guixhpc-logo-transparent-white.pdf
@@ -0,0 +1 @@
+../../fosdem-2018/hpc/images/guixhpc-logo-transparent-white.pdf
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/guixhpc-logo-transparent.pdf 
b/talks/in2p3-2019/images/guixhpc-logo-transparent.pdf
new file mode 120000
index 0000000..d3e71a2
--- /dev/null
+++ b/talks/in2p3-2019/images/guixhpc-logo-transparent.pdf
@@ -0,0 +1 @@
+../../jcad-2018/images/guixhpc-logo-transparent.pdf
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/hwloc-graph.dot 
b/talks/in2p3-2019/images/hwloc-graph.dot
new file mode 120000
index 0000000..fa5abd2
--- /dev/null
+++ b/talks/in2p3-2019/images/hwloc-graph.dot
@@ -0,0 +1 @@
+../../inria-bordeaux-2016/images/hwloc-graph.dot
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/inria-logo-inverse-en-2017.pdf 
b/talks/in2p3-2019/images/inria-logo-inverse-en-2017.pdf
new file mode 120000
index 0000000..43ae623
--- /dev/null
+++ b/talks/in2p3-2019/images/inria-logo-inverse-en-2017.pdf
@@ -0,0 +1 @@
+../../gpce-2017/images/inria-logo-inverse-en-2017.pdf
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/lwn-docker-hello-world.png 
b/talks/in2p3-2019/images/lwn-docker-hello-world.png
new file mode 120000
index 0000000..3f2b1bd
--- /dev/null
+++ b/talks/in2p3-2019/images/lwn-docker-hello-world.png
@@ -0,0 +1 @@
+../../jcad-2018/images/lwn-docker-hello-world.png
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/openhub-contributors.png 
b/talks/in2p3-2019/images/openhub-contributors.png
new file mode 100644
index 0000000..9a6e410
Binary files /dev/null and b/talks/in2p3-2019/images/openhub-contributors.png 
differ
diff --git a/talks/in2p3-2019/images/pigx1.pdf 
b/talks/in2p3-2019/images/pigx1.pdf
new file mode 120000
index 0000000..e2fcf62
--- /dev/null
+++ b/talks/in2p3-2019/images/pigx1.pdf
@@ -0,0 +1 @@
+../../jcad-2018/images/pigx1.pdf
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/pigx2.pdf 
b/talks/in2p3-2019/images/pigx2.pdf
new file mode 120000
index 0000000..d7dc0ae
--- /dev/null
+++ b/talks/in2p3-2019/images/pigx2.pdf
@@ -0,0 +1 @@
+../../jcad-2018/images/pigx2.pdf
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/repeatability-study.png 
b/talks/in2p3-2019/images/repeatability-study.png
new file mode 120000
index 0000000..908435a
--- /dev/null
+++ b/talks/in2p3-2019/images/repeatability-study.png
@@ -0,0 +1 @@
+../../jcad-2018/images/repeatability-study.png
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/reproducible-builds.pdf 
b/talks/in2p3-2019/images/reproducible-builds.pdf
new file mode 120000
index 0000000..1e97217
--- /dev/null
+++ b/talks/in2p3-2019/images/reproducible-builds.pdf
@@ -0,0 +1 @@
+../../fosdem-2019/distributions/images/reproducible-builds.pdf
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/rescience-logo.png 
b/talks/in2p3-2019/images/rescience-logo.png
new file mode 120000
index 0000000..5295eb8
--- /dev/null
+++ b/talks/in2p3-2019/images/rescience-logo.png
@@ -0,0 +1 @@
+../../fosdem-2018/hpc/images/rescience-logo.png
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/rescience.png 
b/talks/in2p3-2019/images/rescience.png
new file mode 120000
index 0000000..7ebc0e5
--- /dev/null
+++ b/talks/in2p3-2019/images/rescience.png
@@ -0,0 +1 @@
+../../jcad-2018/images/rescience.png
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/singularity-def-file.png 
b/talks/in2p3-2019/images/singularity-def-file.png
new file mode 100644
index 0000000..e16afda
Binary files /dev/null and b/talks/in2p3-2019/images/singularity-def-file.png 
differ
diff --git a/talks/in2p3-2019/images/singularity-hpc-wire.png 
b/talks/in2p3-2019/images/singularity-hpc-wire.png
new file mode 120000
index 0000000..ba8a839
--- /dev/null
+++ b/talks/in2p3-2019/images/singularity-hpc-wire.png
@@ -0,0 +1 @@
+../../inria-bordeaux-2016/images/singularity-hpc-wire.png
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/singularity-secure.png 
b/talks/in2p3-2019/images/singularity-secure.png
new file mode 100644
index 0000000..03f8722
Binary files /dev/null and b/talks/in2p3-2019/images/singularity-secure.png 
differ
diff --git a/talks/in2p3-2019/images/smoothie.pdf 
b/talks/in2p3-2019/images/smoothie.pdf
new file mode 100644
index 0000000..1b3914b
Binary files /dev/null and b/talks/in2p3-2019/images/smoothie.pdf differ
diff --git a/talks/in2p3-2019/images/snap-crypto-miner.png 
b/talks/in2p3-2019/images/snap-crypto-miner.png
new file mode 120000
index 0000000..b149818
--- /dev/null
+++ b/talks/in2p3-2019/images/snap-crypto-miner.png
@@ -0,0 +1 @@
+../../jcad-2018/images/snap-crypto-miner.png
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/spack-bug.png 
b/talks/in2p3-2019/images/spack-bug.png
new file mode 120000
index 0000000..8e3336d
--- /dev/null
+++ b/talks/in2p3-2019/images/spack-bug.png
@@ -0,0 +1 @@
+../../fosdem-2017/hpc/images/spack-bug.png
\ No newline at end of file
diff --git a/talks/in2p3-2019/images/spack.png 
b/talks/in2p3-2019/images/spack.png
new file mode 120000
index 0000000..3120a7a
--- /dev/null
+++ b/talks/in2p3-2019/images/spack.png
@@ -0,0 +1 @@
+../../fosdem-2017/hpc/images/spack.png
\ No newline at end of file
diff --git a/talks/in2p3-2019/rules.ini b/talks/in2p3-2019/rules.ini
new file mode 100644
index 0000000..8d69a23
--- /dev/null
+++ b/talks/in2p3-2019/rules.ini
@@ -0,0 +1,9 @@
+;; Rules for Rubber.
+
+[dot-pdf]
+target = (.*)\.pdf
+source = \1.dot
+rule = shell
+cost = 0
+command = dot -Tpdf -Gratio=.62 -o $target $source
+message = rendering $source into $target
diff --git a/talks/in2p3-2019/talk.tex b/talks/in2p3-2019/talk.tex
new file mode 100644
index 0000000..4b51c01
--- /dev/null
+++ b/talks/in2p3-2019/talk.tex
@@ -0,0 +1,696 @@
+% The comment below tells Rubber to compile the .dot files.
+%
+% rubber: module graphics
+% rubber: rules rules.ini
+
+\documentclass[aspectratio=169]{beamer}
+
+\usetheme{default}
+
+\usefonttheme{structurebold}
+\usepackage{helvet}
+\usecolortheme{seagull}         % white on black
+
+\usepackage[utf8]{inputenc}
+\PassOptionsToPackage{hyphens}{url}\usepackage{hyperref,xspace,multicol}
+\usepackage[absolute,overlay]{textpos}
+\usepackage{tikz}
+\usetikzlibrary{arrows,shapes,trees,shadows,positioning}
+\usepackage{fancyvrb}           % for '\Verb'
+\usepackage{xifthen}            % for '\isempty'
+
+% Remember the position of every picture.
+\tikzstyle{every picture}+=[remember picture]
+
+\tikzset{onslide/.code args={<#1>#2}{%
+  \only<#1>{\pgfkeysalso{#2}} % \pgfkeysalso doesn't change the path
+}}
+
+% Colors.
+\definecolor{guixred1}{RGB}{226,0,38}  % red P
+\definecolor{guixorange1}{RGB}{243,154,38}  % guixorange P
+\definecolor{guixyellow}{RGB}{254,205,27}  % guixyellow P
+\definecolor{guixred2}{RGB}{230,68,57}  % red S
+\definecolor{guixred3}{RGB}{115,34,27}  % dark red
+\definecolor{guixorange2}{RGB}{236,117,40}  % guixorange S
+\definecolor{guixtaupe}{RGB}{134,113,127} % guixtaupe S
+\definecolor{guixgrey}{RGB}{91,94,111} % guixgrey S
+\definecolor{guixdarkgrey}{RGB}{46,47,55} % guixdarkgrey S
+\definecolor{guixblue1}{RGB}{38,109,131} % guixblue S
+\definecolor{guixblue2}{RGB}{10,50,80} % guixblue S
+\definecolor{guixgreen1}{RGB}{133,146,66} % guixgreen S
+\definecolor{guixgreen2}{RGB}{157,193,7} % guixgreen S
+
+\setbeamerfont{title}{size=\huge}
+\setbeamerfont{frametitle}{size=\huge}
+\setbeamerfont{normal text}{size=\Large}
+
+% White-on-black color theme.
+\setbeamercolor{structure}{fg=guixorange1,bg=black}
+\setbeamercolor{title}{fg=white,bg=black}
+\setbeamercolor{date}{fg=guixorange1,bg=black}
+\setbeamercolor{frametitle}{fg=white,bg=black}
+\setbeamercolor{titlelike}{fg=white,bg=black}
+\setbeamercolor{normal text}{fg=white,bg=black}
+\setbeamercolor{alerted text}{fg=guixyellow,bg=black}
+\setbeamercolor{section in toc}{fg=white,bg=black}
+\setbeamercolor{section in toc shaded}{fg=white,bg=black}
+\setbeamercolor{subsection in toc}{fg=guixorange1,bg=black}
+\setbeamercolor{subsection in toc shaded}{fg=white,bg=black}
+\setbeamercolor{subsubsection in toc}{fg=guixorange1,bg=black}
+\setbeamercolor{subsubsection in toc shaded}{fg=white,bg=black}
+\setbeamercolor{frametitle in toc}{fg=white,bg=black}
+\setbeamercolor{local structure}{fg=guixorange1,bg=black}
+
+\newcommand{\highlight}[1]{\alert{\textbf{#1}}}
+
+\title{GNU Guix, les conteneurs\\ et la reproductibilité}
+
+\author{Ludovic Courtès}
+\date{\small{Atelier ComputeOps IN2P3\\5 mars 2019}}
+
+\setbeamertemplate{navigation symbols}{} % remove the navigation bar
+
+\AtBeginSection[]{
+  \begin{frame}
+    \frametitle{}
+    \tableofcontents[currentsection]
+  \end{frame} 
+}
+
+
+\newcommand{\screenshot}[2][width=\paperwidth]{
+  \begin{frame}[plain]
+    \begin{tikzpicture}[remember picture, overlay]
+      \node [at=(current page.center), inner sep=0pt]
+        {\includegraphics[{#1}]{#2}};
+    \end{tikzpicture}
+  \end{frame}
+}
+
+
+\begin{document}
+
+\begin{frame}[plain, fragile]
+  \vspace{10mm}
+  \titlepage
+
+  \vfill{}
+  
\hfill{\includegraphics[width=0.2\paperwidth]{images/inria-logo-inverse-en-2017}}
+\end{frame}
+
+
+\setbeamercolor{normal text}{fg=black,bg=white}
+% http://www.nature.com/ngeo/journal/v7/n11/full/ngeo2294.html
+%% \screenshot{images/nature-transparency}
+
+% https://www.nature.com/nmeth/journal/v12/n12/full/nmeth.3686.html
+%% \screenshot{images/nature-reviewing-computational-methods}
+% 
http://blogs.nature.com/methagora/2014/02/guidelines-for-algorithms-and-software-in-nature-methods.html
+
+% http://www.acm.org/publications/policies/artifact-review-badging
+%% \screenshot[height=\paperheight]{images/acm-artifact-review-and-badging}
+
+\begin{frame}[plain]
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt]{
+      \includegraphics[height=.8\textheight]{images/acm-artifacts-functional}
+    };
+    \node [at=(current page.south), anchor=south,
+      text=guixdarkgrey, fill=white, text opacity=1]{
+      
\small{\url{https://www.acm.org/publications/policies/artifact-review-badging}}
+    };
+  \end{tikzpicture}
+\end{frame}
+
+\begin{frame}[plain]
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt]{
+      \includegraphics[height=.8\textheight]{images/rescience}
+    };
+    \node [at=(current page.south), anchor=south,
+      text=guixdarkgrey, fill=white, text opacity=1]{
+      \small{\url{https://rescience.github.io/}}
+    };
+  \end{tikzpicture}
+\end{frame}
+
+\begin{frame}[plain]
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt]{
+      \includegraphics[width=.9\textwidth]{images/repeatability-study}
+    };
+    \node [at=(current page.south east), anchor=south east,
+      text=guixdarkgrey, fill=white, text opacity=1]{
+      \small{\url{http://reproducibility.cs.arizona.edu/}}
+    };
+  \end{tikzpicture}
+\end{frame}
+
+\setbeamercolor{normal text}{bg=white}
+\begin{frame}[plain]
+  \includegraphics[width=\textwidth]{images/big-picture-1}
+\end{frame}
+\begin{frame}[plain]
+  \includegraphics[width=\textwidth]{images/big-picture-2}
+\end{frame}
+\begin{frame}[plain]
+  \includegraphics[width=\textwidth]{images/big-picture-3}
+\end{frame}
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+\begin{frame}[plain]
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt]
+    
{\includegraphics[width=\paperwidth]{images/IBM_Blue_Gene_P_supercomputer}};
+
+    \node[at=(current page.center), rounded corners=4, text centered,
+          inner sep=3mm, opacity=.75, text opacity=1]{
+            \Huge{\textbf{HPC, deployment, \& reproducibility}}
+    };
+  \end{tikzpicture}
+\end{frame}
+
+\setbeamercolor{normal text}{fg=black,bg=white}
+\screenshot{images/environment-modules}
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+%% \setbeamercolor{normal text}{bg=white}
+%% \screenshot[width=0.9\paperwidth]{images/package-managers-cropped}
+
+%% \begin{frame}[plain]
+%%   \begin{tikzpicture}[remember picture, overlay]
+%%     \node [at=(current page.center), inner sep=0pt]
+%%           
{\includegraphics[height=\paperheight]{images/universal_install_script}};
+%%     \node [at=(current page.north east), anchor=south east, rotate=90,
+%%            text=black, text opacity=1, fill=white, opacity=.6]{
+%%       \url{http://xkcd.com/1654/}
+%%     };
+%%   \end{tikzpicture}
+%% \end{frame}
+
+%% \setbeamercolor{normal text}{bg=guixblue2}
+%% \begin{frame}
+%%   \Huge{\textbf{Fixing HPC cluster environments.}}
+%% \end{frame}
+
+\setbeamercolor{normal text}{bg=white}
+\begin{frame}[plain]
+  \begin{tikzpicture}[overlay]
+    \node [at=(current page.center), anchor=south,
+      fill=white, text width=\paperwidth, text centered,
+      text height=0.5\paperheight]
+          {\includegraphics[width=0.5\paperwidth]{images/easybuild}};
+
+          % 
https://github.com/LLNL/spack/blob/develop/share/spack/logo/spack-logo-text-64.png
+          % 
https://github.com/LLNL/spack/blob/develop/share/spack/logo/spack-logo-white-text-48.png
+    \node [at=(current page.center), anchor=north,
+      fill=white, text width=\paperwidth, text centered,
+      inner sep=0.2\paperheight]
+          {\includegraphics[width=0.4\paperwidth]{images/spack}};
+  \end{tikzpicture}
+\end{frame}
+
+\screenshot[width=\paperwidth]{images/easybuild-bug}
+%% \screenshot[width=\paperwidth]{images/spack-bug}
+
+\setbeamercolor{normal text}{bg=guixdarkgrey}
+\begin{frame}[plain]
+  \Huge{\textbf{Approach \#2:\\``Preserve the mess''.}}
+  \\[0.5cm]
+  \hfill{\large{-- Arnaud Legrand (Inria reproducibility WG)}}
+\end{frame}
+\setbeamercolor{normal text}{bg=black}
+
+\setbeamercolor{normal text}{bg=white}
+%% \begin{frame}[plain]
+%%   \begin{tikzpicture}[remember picture, overlay]
+%%     \node [at=(current page.center), inner sep=0pt]
+%%           
{\includegraphics[height=\paperheight]{images/docker-image-layers-cropped}};
+%%     \node [at=(current page.north east), anchor=north east,
+%%            text=black, text opacity=1, fill=white, opacity=.6]{
+%%       \url{https://imagelayers.io/}
+%%     };
+%%   \end{tikzpicture}
+%% \end{frame}
+
+\begin{frame}[plain]
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt]
+          
{\includegraphics[width=0.95\paperwidth]{images/singularity-hpc-wire}};
+    \node [at=(current page.south east), anchor=south east,
+           text=black, text opacity=1, fill=white]{
+      
\small{\url{https://www.hpcwire.com/2016/10/20/singularity-containers-easing-scientific-computing}}
+    };
+  \end{tikzpicture}
+\end{frame}
+
+%% \begin{frame}[fragile]
+%%   \begin{tikzpicture}[overlay]
+%%     \node [at=(current page.center)]
+%%       {\includegraphics[width=0.7\textwidth]{images/shrink-wrap}};
+%%     \node<2> [at=(current page.east), anchor=east]
+%%       {\includegraphics[width=0.4\textwidth]{images/shrink-wrap2}};
+%%   \end{tikzpicture}
+%% \end{frame}
+
+\begin{frame}[plain]
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt]
+      {\includegraphics[width=1.3\textwidth]{images/smoothie}};
+    \node [at=(current page.south east), anchor=south east, text=guixgrey]
+      {\small{courtesy of Ricardo Wurmus}};
+  \end{tikzpicture}
+\end{frame}
+
+
+% https://xkcd.com/1988/
+
+\screenshot[height=0.95\paperheight]{images/singularity-def-file}
+
+\setbeamercolor{normal text}{bg=white}
+\begin{frame}[plain]
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt]
+          {\includegraphics[width=0.95\paperwidth]{images/snap-crypto-miner}};
+    \node [at=(current page.south east), anchor=south east,
+           text=black, text opacity=1, fill=white]{
+      
\small{\url{https://github.com/canonical-websites/snapcraft.io/issues/651}}
+    };
+  \end{tikzpicture}
+\end{frame}
+
+\begin{frame}[plain]
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt]
+          
{\includegraphics[width=0.9\paperwidth]{images/lwn-docker-hello-world}};
+    \node [at=(current page.south east), anchor=south east,
+           text=white, fill=black, text opacity=1]{
+      \small{\url{https://lwn.net/Articles/752982/}}
+    };
+  \end{tikzpicture}
+\end{frame}
+
+
+\setbeamercolor{normal text}{bg=white,fg=guixorange1}
+\begin{frame}[fragile]
+  \begin{tikzpicture}[overlay]
+    \node(logo) [at=(current page.center), inner sep=0pt]
+      
{\includegraphics[width=.8\textwidth]{images/guixhpc-logo-transparent-white}};
+    %% \node [at=(logo.south), anchor=north, text=black, inner sep=10pt]
+    %%   {\Large{\textbf{Reproducible software deployment\\for 
high-performance computing.}}};
+    \node [at=(current page.south), anchor=south, text=guixdarkgrey, inner 
sep=20pt]
+      {\Large{\url{https://guix-hpc.bordeaux.inria.fr}}};
+  \end{tikzpicture}
+\end{frame}
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{frame}
+  \LARGE{
+    \begin{enumerate}
+    \item transactional package manager
+    \item software environment manager
+    \item container provisioning tool
+    \item operating system deployment tool
+    \end{enumerate}
+  }
+\end{frame}
+
+\begin{frame}
+  \Large{
+  \begin{itemize}
+    \item started in 2012
+    \item \highlight{9,000+ packages}, all free software
+    \item \highlight{4 architectures}:\\
+      x86\_64, i686, ARMv7, AArch64
+    \item binaries available
+    \item \highlight{Guix-HPC effort (Inria, MDC, UBC) started in 2017}
+    \item cluster deployments at Inria (PlaFRIM), MDC, and more
+  \end{itemize}
+  }
+\end{frame}
+
+\setbeamercolor{normal text}{bg=white}
+%% \screenshot[width=.9\paperwidth]{images/openhub-activity}
+\screenshot[width=.9\paperwidth]{images/openhub-contributors}
+\setbeamercolor{normal text}{bg=black}
+
+
+\begin{frame}[fragile]
+
+  \begin{semiverbatim}
+    \LARGE{
+guix package \alert{-i} gcc-toolchain openmpi hwloc
+
+eval `guix package \alert{--search-paths}=prefix`
+
+guix package \alert{--roll-back}
+
+guix package \alert{--profile}=./experiment \\
+     -i address@hidden address@hidden
+}
+  \end{semiverbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+  \begin{semiverbatim}
+    \LARGE{
+guix package \alert{--manifest}=my-packages.scm
+
+
+
+    (\alert{specifications->manifest}
+      '("gcc-toolchain" "openmpi"
+        "scotch" "mumps"))
+}
+  \end{semiverbatim}
+\end{frame}
+
+
+
+\setbeamercolor{normal text}{bg=guixdarkgrey}
+\begin{frame}[fragile]
+  \begin{semiverbatim}
+    \Large{
address@hidden guix package \alert{--manifest}=my-packages.scm
address@hidden guix \alert{describe}
+  guix cabba9e
+    repository URL: https://git.sv.gnu.org/git/guix.git
+    commit: cabba9e15900d20927c1f69c6c87d7d2a62040fe
+
+\pause
+
+
address@hidden guix \alert{pull} --commit=cabba9e
address@hidden guix package \alert{--manifest}=my-packages.scm
+}
+  \end{semiverbatim}
+
+  \begin{tikzpicture}[overlay]
+    \node<3>[rounded corners=4, text centered, anchor=north,
+          fill=guixorange1, text width=7cm,
+          inner sep=3mm, opacity=.75, text opacity=1]
+      at (current page.center) {
+            \textbf{\Large{bit-reproducible \& portable!}}
+          };
+  \end{tikzpicture}
+\end{frame}
+
+\setbeamercolor{normal text}{bg=guixred3}
+\begin{frame}[fragile]%{Container provisioning}
+  \LARGE{
+    \begin{semiverbatim}
+\$ guix \alert{pack}\only<2>{ --relocatable}\only<3>{ 
--format=squashfs}\only<4->{ --format=docker} \\
+      jupyter jupyter-guile-kernel
+\textrm{...}
+/gnu/store/\textrm{...}-\only<1-2>{pack.tar.gz}\only<3>{singularity-image.tar.gz}\only<4->{docker-image.tar.gz}
+
+
+    \end{semiverbatim}
+  }
+\end{frame}
+
+\begin{frame}[fragile]
+  \LARGE{
+    \begin{semiverbatim}
+\$ guix \alert{pack} -f docker \\
+      -S /bin=bin python python-numpy
+\textrm{...}
+/gnu/store/\textrm{...}-docker-image.tar.gz
+    \end{semiverbatim}
+  }
+\end{frame}
+
+\begin{frame}[fragile]
+  \LARGE{
+    \begin{semiverbatim}
+\$ guix \alert{pack} -f docker \\
+      -S /bin=bin \alert{--manifest}=my-packages.scm
+
+
+    (\alert{specifications->manifest}
+      '("gcc-toolchain" "openmpi"
+        "scotch" "mumps"))
+    \end{semiverbatim}
+  }
+\end{frame}
+
+\setbeamercolor{normal text}{bg=guixblue1}
+\begin{frame}[fragile]
+
+  \Huge{Coming up in \texttt{guix pack}!}
+  \\[5mm]
+  \LARGE{
+  \begin{itemize}
+    \item ``entry points'' (aka. Docker \texttt{CMD})
+    \item more formats: SIF, snap?
+    \item automatic multi-layering
+    \item \textit{your idea here}
+  \end{itemize}
+  }
+\end{frame}
+\setbeamercolor{normal text}{bg=black}
+
+\setbeamercolor{normal text}{bg=guixblue2}
+\begin{frame}[fragile]
+  \begin{semiverbatim}
+    \vspace{-1cm}
+    \small{
+(\alert{operating-system}
+  (host-name "computeops")
+  (timezone "Europe/Paris")
+  (locale "fr_FR.utf8")
+  (bootloader (\alert{bootloader-configuration}
+                (bootloader grub-efi-bootloader)
+                (target "/boot/efi")))
+  (file-systems (cons (\alert{file-system}
+                        (device (file-system-label "my-root"))
+                        (mount-point "/")
+                        (type "ext4"))
+                      %base-file-systems))
+  (users (cons (\alert{user-account}
+                 (name "charlie")
+                 (group "users")
+                 (home-directory "/home/charlie"))
+               %base-user-accounts))
+  (services (cons* (\alert{service} dhcp-client-service-type)
+                   (\alert{service} openssh-service-type)
+                   %base-services)))
+    }
+  \end{semiverbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+  \begin{semiverbatim}
+    \Large{
+\$ guix system docker-image config.scm
+\textrm{...}   
+
+\$ guix system vm-image config.scm
+\textrm{...}
+
+\$ guix system disk-image config.scm
+\textrm{...}
+
+\$ guix system reconfigure config.scm
+\textrm{...}
+}
+  \end{semiverbatim}
+\end{frame}
+
+\setbeamercolor{normal text}{bg=white}
+\screenshot[width=.9\paperwidth]{images/docker-guix-lol}
+
+\setbeamercolor{normal text}{bg=white}
+\begin{frame}[plain]
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt]
+          {\includegraphics[height=\paperheight]{images/hwloc-graph}};
+  \end{tikzpicture}
+\end{frame}
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+\setbeamercolor{normal text}{bg=guixdarkgrey}
+\begin{frame}[fragile]
+  \begin{semiverbatim}
+\LARGE{
+guix pack hwloc \\
+  \alert{--with-source}=./hwloc-2.1rc1.tar.gz
+
+guix pack mumps \\
+  \alert{--with-input}=scotch=pt-scotch
+
+guix pack jupyter jupyter-guile-kernel \\
+  \alert{--with-branch}=jupyter-guile-kernel=master
+}
+  \end{semiverbatim}
+\end{frame}
+
+\setbeamercolor{normal text}{bg=white}
+\begin{frame}[fragile]
+  \begin{tikzpicture}[overlay]
+    \node [at=(current page.center)]
+      {\includegraphics[height=\paperheight]{images/singularity-secure}};
+    \node<2>[at=(current page.center), fill=white, text centered,
+          inner sep=10cm, opacity=.4, text opacity=1, text=black]{
+            \Huge{\textbf{security?}}};
+  \end{tikzpicture}
+\end{frame}
+\setbeamercolor{normal text}{bg=black}
+
+\setbeamercolor{normal text}{bg=white}
+\screenshot[width=.7\paperwidth]{images/reproducible-builds}
+\setbeamercolor{normal text}{bg=black}
+
+\setbeamercolor{normal text}{bg=white}
+\screenshot[width=.9\paperwidth]{images/bootstrappable}
+\setbeamercolor{normal text}{bg=black}
+
+\setbeamercolor{normal text}{bg=guixblue1}
+\begin{frame}[plain]
+  \Huge{\textbf{Wrap-up.}}
+\end{frame}
+
+\screenshot{images/pigx1}
+\screenshot{images/pigx2}
+
+\setbeamercolor{normal text}{bg=white}
+\screenshot[width=\textwidth]{images/big-picture-3}
+
+\setbeamercolor{normal text}{fg=white,bg=black}
+\begin{frame}
+  \LARGE{
+    \begin{itemize}
+    \item \highlight{reproduce} software environments
+    \item \highlight{declare \& publish} complete environments
+    \item beyond replication: precision \highlight{experimentation}
+    \item use Singularity \& co. as run-time support
+    \end{itemize}
+  }
+\end{frame}
+
+\setbeamercolor{normal text}{bg=white}
+\begin{frame}[fragile]
+  \vspace{-2cm}
+  \begin{tikzpicture}
+    \matrix[row sep=10mm, column sep=1cm]{
+      % https://git-scm.com/downloads/logos
+      \node {\includegraphics[width=0.2\textwidth]{images/Git-Logo-2Color}}; &
+      \node {\includegraphics[width=0.15\textwidth]{images/arrow-right}}; &
+      \node 
{\includegraphics[width=0.24\textwidth]{images/Guix-horizontal-print}};
+      \\
+    };
+  \end{tikzpicture}
+
+  \begin{tikzpicture}[overlay]
+    \node [at=(current page.center), anchor=north,
+           text=black, text width=.9\textwidth]{
+      \Huge{Let's add\\ \textbf{reproducible deployment}\\
+        to our best practices book. \par
+      }};
+  \end{tikzpicture}
+\end{frame}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\setbeamercolor{normal text}{bg=black}
+\begin{frame}[plain]
+
+\vfill{
+  \vspace{3cm}
+  
\center{\includegraphics[width=0.5\textwidth]{images/guixhpc-logo-transparent}}\\[1.0cm]
+  address@hidden |} @GuixHPC
+  \center{\alert{\url{https://guix-hpc.bordeaux.inria.fr}}}
+  \\[1cm]
+}
+\end{frame}
+
+\setbeamercolor{normal text}{bg=guixred2}
+\begin{frame}
+  \Huge{\textbf{Bonus slides!}}
+\end{frame}
+
+\setbeamercolor{normal text}{bg=black}
+\begin{frame}[fragile]
+  %% \frametitle{Bit-Reproducible Builds$^*$}
+  %% \framesubtitle{$^*$ almost!}
+
+  \begin{semiverbatim}
+\Large{
+\$ guix build hwloc
+\uncover<2->{/gnu/store/\tikz[baseline]{\node[anchor=base](nixhash){\alert<2>{h2g4sf72\textrm{...}}};}-hwloc-1.11.2}
+
+\uncover<3->{\$ \alert<3>{guix gc --references 
/gnu/store/\textrm{...}-hwloc-1.11.2}
+/gnu/store/\textrm{...}-glibc-2.24
+/gnu/store/\textrm{...}-gcc-4.9.3-lib
+/gnu/store/\textrm{...}-hwloc-1.11.2
+}}
+  \end{semiverbatim}
+
+  \begin{tikzpicture}[overlay]
+    \node<1>(labelnixhash) [fill=white, text=black, inner sep=0.5cm,
+       rounded corners] at (current page.center) {%
+      \Large{\textbf{isolated build}: chroot, separate name spaces, etc.}
+    };
+
+    \node<2>(labelnixhash) [fill=white, text=black] at (4cm, 2cm) {%
+      hash of \textbf{all} the dependencies};
+    \path[->]<2>(labelnixhash.north) edge [bend left, in=180, out=-45] 
(nixhash.south);
+
+    \draw<4-> (-10pt, 105pt) [very thick, color=guixorange2, rounded 
corners=8pt]
+      arc (10:-50:-50pt and 110pt);
+    \node<4->[fill=white, text=black, text opacity=1, opacity=.7,
+          rounded corners=2mm, inner sep=5mm]
+      at (7, 2) {\textbf{\Large{(nearly) bit-identical for everyone}}};
+  \end{tikzpicture}
+
+\end{frame}
+
+
+\begin{frame}{}
+  \begin{textblock}{12}(2, 8)
+    \tiny{
+      Copyright \copyright{} 2010, 2012--2019 Ludovic Courtès address@hidden
+      GNU Guix logo, CC-BY-SA 4.0, \url{http://gnu.org/s/guix/graphics}.
+
+      Smoothie image \copyright{} 2019 Ricardo Wurmus, CC-BY-SA 4.0.
+
+      Hand-drawn arrows by Freepik from flaticon.com.
+
+      Copyright of other images included in this document is held by
+      their respective owners.
+      \\[3.0mm]
+      This work is licensed under the \alert{Creative Commons
+        Attribution-Share Alike 3.0} License.  To view a copy of this
+      license, visit
+      \url{http://creativecommons.org/licenses/by-sa/3.0/} or send a
+      letter to Creative Commons, 171 Second Street, Suite 300, San
+      Francisco, California, 94105, USA.
+      \\[2.0mm]
+      At your option, you may instead copy, distribute and/or modify
+      this document under the terms of the \alert{GNU Free Documentation
+        License, Version 1.3 or any later version} published by the Free
+      Software Foundation; with no Invariant Sections, no Front-Cover
+      Texts, and no Back-Cover Texts.  A copy of the license is
+      available at \url{http://www.gnu.org/licenses/gfdl.html}.
+      \\[2.0mm]
+      % Give a link to the 'Transparent Copy', as per Section 3 of the GFDL.
+      The source of this document is available from
+      \url{http://git.sv.gnu.org/cgit/guix/maintenance.git}.
+    }
+  \end{textblock}
+\end{frame}
+
+\end{document}
+
+% Local Variables:
+% coding: utf-8
+% comment-start: "%"
+% comment-end: ""
+% ispell-local-dictionary: "francais"
+% compile-command: "rubber --pdf talk.tex"
+% End:
+
+%%  LocalWords:  Reproducibility



reply via email to

[Prev in Thread] Current Thread [Next in Thread]