guix-commits
[Top][All Lists]
Advanced

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

01/02: reppar: Update second part of the talk.


From: Ludovic Courtès
Subject: 01/02: reppar: Update second part of the talk.
Date: Mon, 24 Aug 2015 12:36:09 +0000

civodul pushed a commit to branch master
in repository maintenance.

commit c680bccbe01a5986daebe9e9a25da8731136fe7d
Author: Ludovic Courtès <address@hidden>
Date:   Mon Aug 24 12:10:55 2015 +0200

    reppar: Update second part of the talk.
---
 talks/reppar-2015/my-software.scm |    6 +-
 talks/reppar-2015/talk.tex        |  184 ++++++++++++++++++++++++++++++++----
 2 files changed, 165 insertions(+), 25 deletions(-)

diff --git a/talks/reppar-2015/my-software.scm 
b/talks/reppar-2015/my-software.scm
index 400c09e..c5e1ac0 100644
--- a/talks/reppar-2015/my-software.scm
+++ b/talks/reppar-2015/my-software.scm
@@ -2,7 +2,5 @@
 
 (packages->manifest
  (list gcc-5 glibc binutils
-       coreutils
-       gnu-make
-       findutils
-       sed grep))
+       coreutils findutils sed grep
+       gnu-make))
diff --git a/talks/reppar-2015/talk.tex b/talks/reppar-2015/talk.tex
index b871f08..1eb412f 100644
--- a/talks/reppar-2015/talk.tex
+++ b/talks/reppar-2015/talk.tex
@@ -10,9 +10,7 @@
 \usepackage[absolute,overlay]{textpos}
 \usepackage{tikz}
 \usetikzlibrary{arrows,shapes,trees,shadows,positioning}
-%% \usepackage{tree}
 \usepackage{fancyvrb}           % for \Verb
-\usepackage{ulem}               % for \sout
 
 % Remember the position of every picture.
 \tikzstyle{every picture}+=[remember picture]
@@ -279,19 +277,41 @@
 
 %% \section{Functional Package Management}
 
-%% \setbeamercolor{normal text}{fg=black, bg=black}
-\begin{frame}
-  \center{\huge{\textbf{functional package management}}}
-  \\[2em]
-  \begin{quote}
-    \large{
-    regarding the build \& installation process\\
-    of a package as a \textbf{pure function}}
-  \end{quote}
+\setbeamercolor{normal text}{bg=guixblue2}
+\begin{frame}[plain]
+  \center{\huge{\textbf{Functional Package Management}}}
 \end{frame}
-%% \setbeamercolor{normal text}{fg=white,bg=black}
+\setbeamercolor{normal text}{fg=white,bg=black}
 
 \begin{frame}{Functional Package Management}
+  \huge{
+    Regarding the build \& installation process
+    of a package as a \highlight{pure function}.
+  }
+\end{frame}
+
+\begin{frame}[plain]
+  \Large{
+    $\texttt{openmpi} = f(\texttt{hwloc}, \texttt{gcc}, 
\texttt{make},\texttt{coreutils})$
+    
+    \uncover<2->{$\texttt{hwloc} = g(\texttt{pciaccess}, \texttt{gcc}, 
\texttt{make}, \texttt{coreutils})$}
+
+    \uncover<3->{$\texttt{gcc} = h(\texttt{make}, \texttt{coreutils}, 
\texttt{gcc}_0)$}
+    
+    \uncover<4->{$\texttt{gcc}_0 = \sigma$}
+  }
+
+  \uncover<1>{\large{where $f =$ \texttt{./configure \&\& make \&\& make 
install}}}
+
+  \begin{tikzpicture}[overlay]
+    \node<5->[fill=guixorange1, text=black, text opacity=1, opacity=.7,
+          rounded corners=2mm, inner sep=5mm] at (5, 1) {
+            \textbf{\Large{the complete DAG is captured}}
+          };
+  \end{tikzpicture}
+\end{frame}
+
+\begin{frame}{References}
   \Large{
     \begin{itemize}
     \item<3-> \textit{Caching Function Calls Using Precise Dependencies}
@@ -457,14 +477,14 @@
   \framesubtitle{$^*$ almost!}
 
   \begin{semiverbatim}
-\$ guix build slepc
-\uncover<2->{/gnu/store/\tikz[baseline]{\node[anchor=base](nixhash){\alert<2>{h2g4sf72\textrm{...}}};}-slepc-3.6.0}
+\$ guix build petsc
+\uncover<2->{/gnu/store/\tikz[baseline]{\node[anchor=base](nixhash){\alert<2>{h2g4sf72\textrm{...}}};}-petsc-3.6.0}
 
-\uncover<3->{\$ \alert<3>{guix gc --references 
/gnu/store/\textrm{...}-slepc-3.6.0}
+\uncover<3->{\$ \alert<3>{guix gc --references 
/gnu/store/\textrm{...}-petsc-3.6.0}
 /gnu/store/\textrm{...}-openmpi-1.8.5
 /gnu/store/\textrm{...}-gfortran-4.9.3-lib
 /gnu/store/\textrm{...}-superlu-4.3
-/gnu/store/\textrm{...}-petsc-complex-openmpi-3.6.0
+/gnu/store/\textrm{...}-lapack-3.5.0
 /gnu/store/\textrm{...}-glibc-2.21
 \textrm{...}}
   \end{semiverbatim}
@@ -498,13 +518,18 @@
 \$ guix package -i gcc-toolchain coreutils sed grep
 \textrm{...}
 
-
 \$ eval `guix package --search-paths`
 \textrm{...}
 
-
 \$ guix package --manifest=my-software.scm
 \textrm{...}
+
+\$ guix environment petsc
+\textrm{...}
+
+\$ guix environment --ad-hoc python-ipython python-numpy \\
+    -E ipython
+\textrm{...}
   \end{semiverbatim}
 
   \begin{tikzpicture}[overlay]
@@ -584,9 +609,7 @@
   \end{tikzpicture}
 \end{frame}
 
-% FIXME: Add ``How do we fiddle with that?'' here.  (?)
-
-\begin{frame}{HPC Developer Requirements}
+\begin{frame}{Requirements for an\\Experimentation-Capable System}
 
   \Large{
     \begin{enumerate}
@@ -596,6 +619,125 @@
   }
 \end{frame}
 
+\begin{frame}[fragile]
+  \begin{semiverbatim}
+\small{
+(define starpu
+  (\alert{package}
+    (name "starpu")
+    (version "1.1.4")
+    (source (origin
+             (method url-fetch)
+             (uri "http://\textrm{...}";)
+             (sha256 (base32 "0zmkw\textrm{...}"))))
+    (\alert{build-system} 
\tikz[baseline]{\node[anchor=base](gbs){gnu-build-system};})
+    (native-inputs `(("pkg-config" ,pkg-config)))
+    (\tikz[baseline]{\node[anchor=base](deps){inputs};} `(("fftw" ,fftw)
+              ("hwloc" ,\tikz[baseline]{\node[anchor=base](var){hwloc};})))
+    (home-page "http://starpu.gforge.inria.fr/";)
+    (synopsis "Run-time system for heterogeneous computing")
+    (description "Blah...")
+    (license lgpl2.1+)))
+}
+  \end{semiverbatim}
+
+  \begin{textblock}{5}(11, 12)
+    \tikz{\node<2-3>(labeldeps)[fill=white, text=black]{dependencies};}
+  \end{textblock}
+
+  \begin{textblock}{5}(9, 9)
+    \tikz{\node<3-4>(labelvar)[fill=white, text=black]{reference to a
+        variable};}
+  \end{textblock}
+
+  \begin{textblock}{5}(3, 5)
+    \tikz{\node<5>(labelgbs)[fill=white, text=black]{\texttt{./configure
+        \&\& make install}...};}
+  \end{textblock}
+
+  \begin{textblock}{5}(8, 9)
+    \tikz{\node<5>(labelgbsdeps)[fill=white, text=black]{depends on
+        \texttt{gcc}, \texttt{make}, \texttt{bash}, etc.};}
+  \end{textblock}
+
+  \begin{tikzpicture}[overlay]
+    \path[->, fill=white, thick]<2-3>(labeldeps) edge (deps);
+    \path[->, fill=white, thick]<3-4>(labelvar) edge (var);
+    \path[->, fill=white, thick]<5>(labelgbs) edge (gbs);
+    \path[->, fill=white, thick]<5>(labelgbsdeps) edge (gbs);
+  \end{tikzpicture}
+\end{frame}
+
+\begin{frame}[fragile]
+  \frametitle{Defining Package Variants}
+
+  \begin{semiverbatim}
+\small{
+(define starpu-1.2rc              ;release candidate
+  (package (\alert{inherit} starpu)
+    (version "1.2.0rc2")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "http://\textrm{...}/";
+                                 "starpu-" version ".tar.gz"))
+             (sha256 (base32 "0qgb6y\textrm{...}"))))))
+}
+  \end{semiverbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+  \frametitle{Defining Package Variants}
+  
+  \begin{semiverbatim}
+\small{
+(define starpu-with-simgrid
+  (package (\alert{inherit} starpu)
+    (name "starpu-with-simgrid")
+
+    ;; Add SimGrid, an optional dependency.
+    (inputs `(("simgrid" ,simgrid)
+              ,@(package-inputs starpu)))))
+}
+  \end{semiverbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+  \frametitle{Package Functions}
+
+  \begin{semiverbatim}
+\small{
+  (define (\alert{make-chameleon} name 
\tikz[baseline]{\node(formal)[anchor=base]{\alert<1>{starpu}};})
+     ;; Return the Chameleon solver linked against
+     ;; this particular variant of StarPU.
+     (\alert{package}
+       (name name)
+       ;; \textrm{...}
+       (inputs `(("starpu" 
,\tikz[baseline]{\node(use)[anchor=base]{\alert<1>{starpu}};})
+                 ("blas" ,atlas)
+                 ("lapack" ,lapack)
+                 ("gfortran" ,gfortran-4.8)
+                 ("python" ,python-2)))))
+\uncover<2->{
+   (define chameleon
+     (\alert{make-chameleon} "chameleon" starpu))
+   (define chameleon/starpu-simgrid
+     (\alert{make-chameleon} "chameleon-simgrid" starpu-with-simgrid))
+}
+}
+  \end{semiverbatim}
+
+  \begin{tikzpicture}[overlay]
+    \path[<->, fill=white, thick]<1>(formal) edge (use);
+  \end{tikzpicture}
+\end{frame}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\setbeamercolor{normal text}{bg=guixblue2}
+\begin{frame}[plain]
+  \center{\huge{\textbf{Conclusion}}}
+\end{frame}
+\setbeamercolor{normal text}{fg=white,bg=black}
+
 \begin{frame}
   \frametitle{Limitations}
 



reply via email to

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