[Commits] [svn:einsteintoolkit] Workshop_Summer_2013/et_intro_details/ (Rev. 11)

rhaas at tapir.caltech.edu rhaas at tapir.caltech.edu
Fri Jul 26 01:31:31 CDT 2013


User: rhaas
Date: 2013/07/26 01:31 AM

Added:
 /et_intro_details/
  Makefile, et_intro_details.tex

Log:
 add current state of detailed et intro

File Changes:

Directory: /et_intro_details/
=============================

File [added]: Makefile
Delta lines: +10 -0
===================================================================
--- et_intro_details/Makefile	                        (rev 0)
+++ et_intro_details/Makefile	2013-07-26 06:31:31 UTC (rev 11)
@@ -0,0 +1,10 @@
+all: et_intro_details.pdf
+
+%.pdf: %.tex
+	pdflatex $*
+
+clean:
+	/bin/bash -exec "rm -f et_intro_details.{aux,log,nav,out,snm,pdf,toc} *~"
+
+.PHONY: all clean
+

File [added]: et_intro_details.tex
Delta lines: +220 -0
===================================================================
--- et_intro_details/et_intro_details.tex	                        (rev 0)
+++ et_intro_details/et_intro_details.tex	2013-07-26 06:31:31 UTC (rev 11)
@@ -0,0 +1,220 @@
+\input{../preamble.tex}
+\usepackage{ragged2e}
+\usepackage{amsmath}
+\usepackage{listings}
+\usepackage{scrextend}
+\newcommand{\Heaviside}{\operatorname{\Theta}}
+
+\title[ET details]{Introduction to the Einstein Toolkit -- Details}
+\author{Roland Haas\\
+\scriptsize TAPIR, Caltech}
+\date{July 26\textsuperscript{th} 2013}
+
+%\usecolortheme[RGB={200,200,200}]{structure}
+\usecolortheme[RGB={132,186,75}]{structure}
+\definecolor{cactusgreen}{RGB}{132,186,75}
+\newcommand{\red}[1]{\textcolor{cactusgreen}{#1}}
+\newcommand{\black}[1]{\textcolor{black}{#1}}
+
+\begin{document}
+
+\begin{frame}
+\titlepage
+\end{frame}
+
+\begin{frame}
+\frametitle{Einstein Toolkit main components}
+Toolkit is based on three core components
+\begin{labeling}{Simulation Factory}
+\item[\red{Cactus}] provides the numerical framework and defines interfaces for
+codes from different authors to interact with each other
+\item[\red{GetComponents}] downloads modules the make up a simulation code
+\item[\red{Simulation Factory}] unified user interface to start and manage
+simulations on a variety of machines -- from laptops to supercomputers
+\end{labeling}
+\end{frame}
+
+\begin{frame}
+\frametitle{What is Cactus?}
+Cactus is
+\begin{itemize}
+\item<1-> a framework for developing portable, modular applications
+\item<2-> focusing, although not exclusively, on high-performance simulation
+codes
+he other modules
+\item<3-> separate concerns: designed to allow experts in different fields to develop modules based
+upon their experience and to use modules developed by experts in
+other fields with minimal knowledge of the internals or operation of
+the other modules
+\item<4-> mature $\ge12$ years of development
+\end{itemize}
+\end{frame}
+
+\frame { \frametitle{Cactus Goals}
+  \begin{itemize}
+    \item<1-> Portable
+      \begin{itemize}
+        \item Different development machines
+        \item Different production machines
+      \end{itemize}
+    \item<2-> Modular
+      \begin{itemize}
+        \item Standard interfaces for module interaction for easier
+              code interaction, writing and debugging
+        \item Interchangeable modules with same functionality
+      \end{itemize}
+    \item<3-> Easy to use
+      \begin{itemize}
+        \item Good documentation
+        \item Try to let users program the way they are used to
+        \item Support all major (HPC) programming languages
+      \end {itemize}
+  \end{itemize} }
+
+\begin{frame}
+\frametitle{Flesh}
+ \begin{itemize}
+  \item The \textbf{flesh} is the central component of Cactus. It interfaces
+        with modular components called \textbf{thorns}. The flesh provides:
+  \begin{columns}[t]
+   \column{.6\textwidth}
+  \begin{itemize}
+   \item Variables \& Data Types
+   \item Parameters
+   \item Functions for:
+    \begin{itemize}
+     \item Parallelisation
+     \item Input/Output
+     \item Coordinates
+     \item Reduction
+     \item Interpolation
+     \item Information
+    \end{itemize}
+   \item Staggering
+    \begin{itemize}
+     \item Indexing
+     \item Ghostzones
+    \end{itemize}
+  \end{itemize}
+
+      \column{.3\textwidth}
+       \begin{center}
+        \begin{figure}[h]
+         \includegraphics[width=40mm]{cactusflesh}
+        \end{figure}
+       \end{center}
+      \end{columns}
+    \end{itemize}
+\end{frame}
+
+\begin{frame} \frametitle{Thorns}
+ \begin{itemize}
+  \item Some thorns provide additional functionality, while others serve as applications.
+  \item Thorns are grouped into \textbf{arrangements} which supply some common functionality.
+  \item Example thorns:
+  \\ \vspace{12pt}
+  \small
+  \begin{tabular}{ll}
+   \textit{EinsteinInitialData} & initial data \\
+   \ \textbf{TwoPunctures}      & initial data for binary black holes\\
+   \ \textbf{TOVSolver}         & initial data for single spherical star\\
+   \textit{Carpet}              & adaptive mesh refinement driver\\
+   \ \textbf{Carpet}            & simulation driver, adaptive mesh refinement\\
+   \ \textbf{CarpetIOHDF5}      & 1d, 2d, 3d output to HDF5\\
+   \textit{EinsteinAnalysis}    & extract data from simulation\\
+   \ \textbf{WeylScal4}         & computes gravitational wave content\\
+   \ \textbf{Multipole}         & decompose into spherical harmonic modes\\
+  \end{tabular}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[containsverbatim] \frametitle{Directory structure}
+  
+ \begin{alltt}
+Cactus
+|-- doc
+|   |-- UsersGuide.pdf
+|   `-- ReferenceManual.pdf
+|-- configs
+|   |-- sim
+|   `-- sim-debug
+|-- src
+|-- repos
+|-- simfactory
+`-- arrangements
+    |-- EinsteinInitialData
+    |   `-- TwoPunctures
+    `-- Carpet
+        `-- CarpetIOHDF5
+\end{alltt}
+\end{frame}
+
+\begin{frame} \frametitle{GetComponents -- why?}
+
+\begin{itemize}
+\item $\sim 100$ thorns used for simulation
+\item Thorns come from a variety of sources: \texttt{git}, \texttt{svn}, \texttt{cvs}, \texttt{darcs}, \ldots
+\item Multiple access levels: publicly available, password required
+\item Multiple thorns per repository? Separate documentation? Example files?
+\item Specific code version, release date
+\end{itemize}
+
+\end{frame}
+
+\begin{frame} \frametitle{GetComponents -- what?}
+
+\begin{itemize}
+\item (parallised) download of modules from source code repositories
+\item access to sub-parts of repositories
+\item assemble directory structure
+\item simplify update of modules
+\item show local changes in all thorns
+\item operates on \texttt{thornlist} describing collection of thorns
+\end{itemize}
+
+\end{frame}
+
+\begin{frame}[containsverbatim] \frametitle{GetComponents -- how?}
+\scriptsize\begin{alltt}
+!CRL_VERSION = 1.0
+
+!DEFINE ROOT = Cactus
+!DEFINE ARR  = $ROOT/arrangements
+
+!TARGET   = $ROOT
+!TYPE     = svn
+!AUTH_URL = https://svn.cactuscode.org/flesh/trunk
+!CHECKOUT = Cactus
+!NAME     = .
+
+!TARGET   = $ARR
+!TYPE     = git
+!AUTH_URL = carpetgit at carpetcode.org:carpet
+!URL      = git://carpetcode.org/carpet
+!CHECKOUT = Carpet/doc
+Carpet/Carpet
+Carpet/CarpetIOHDF5
+\end{alltt}
+\end{frame}
+
+\begin{frame} \frametitle{Simulation Factory}
+  The Simulation Factory:
+    \begin{columns}
+    \column{0.25\textwidth}
+    \includegraphics[width=\textwidth]{pics/factory.png}
+    \column{0.75\textwidth}
+    \begin{itemize}
+    \item Command-line tools for setting up Cactus distribution
+          and managing simulations on a variety of supercomputers,
+          including most of the TeraGrid machines.
+    \end{itemize}
+    \end{columns}
+    \begin{itemize}
+    \item Captures the best practices of experienced users, ensuring 
+          repeatable and well-documented scientific results.
+    \item Developed by Erik Schnetter and Michael Thomas.
+    \item Included in Cactus-OS distro: {\tt Cactus/simfactory}.
+    \item For more, see: {\tt http://simfactory.org}
+    \end{itemize}
+\end{frame}
+\end{document}



More information about the Commits mailing list