[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