[Commits] [svn:einsteintoolkit] Workshop_Summer_2013/cactus_intro/ (Rev. 10)
rhaas at tapir.caltech.edu
rhaas at tapir.caltech.edu
Fri Jul 26 01:31:28 CDT 2013
User: rhaas
Date: 2013/07/26 01:31 AM
Removed:
/cactus_intro/
cactus_intro.tex, recompile
Log:
remove unused cactus_intro
File Changes:
Directory: /cactus_intro/
=========================
File [removed]: cactus_intro.tex
Delta lines: +0 -374
===================================================================
--- cactus_intro/cactus_intro.tex 2013-07-26 06:14:59 UTC (rev 9)
+++ cactus_intro/cactus_intro.tex 2013-07-26 06:31:27 UTC (rev 10)
@@ -1,374 +0,0 @@
-\input{../preamble}
-\usepackage{ragged2e}
-\usecolortheme[RGB={200,200,200}]{structure}
-
-\begin{document}
-
- \frame { \frametitle{What is Cactus?}
- Cactus is
- \begin{itemize}[<+->]
- \item \textcolor{black}{a \hyperlink{framework}{framework} for developing portable, modular applications}
- \item \textcolor{black}{focusing, although not exclusively, on high-performance
- simulation codes}
- \item \textcolor{black}{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}
- \end{itemize} }
-
- \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} }
-
- \frame { \frametitle{Philosophy}
- \begin{center}
- \begin{figure}[h]
- \includegraphics[width=30mm]{Opensource}
- \end{figure}
- \end{center}
- \begin{itemize}[<+->]
- \item Open code base to encourage community contributions
- \item Strict quality control for base framework
- \item Development always driven by real user requirements
- \item Support and develop for a wide range of application domains
- \end{itemize} }
-
- \frame { \frametitle{What is Cactus for?}
- Assume:
- \begin{itemize}
- \item Computational problem
- \item Too large for single machine
- \begin{itemize}
- \item<2-> \only<5->{\textcolor{cactusgreen}}{OpenMP}
- \item<2-> \only<5->{\textcolor{cactusgreen}}{MPI}
- \end{itemize}
- \item Distributed development
- \begin{itemize}
- \item<3-> \only<5->{\textcolor{cactusgreen}}{Modularize Problem}
- \item<3-> \only<5->{\textcolor{cactusgreen}}{Versioning system(s)}
- \end{itemize}
- \item Multiple programming languages
- \begin{itemize}
- \item<4-> \only<5->{\textcolor{cactusgreen}}{Modularize Problem}
- \item<4-> \only<5->{\textcolor{cactusgreen}}{Interfaces for inter-language communication}
- \end{itemize}
- \end{itemize}
- }
-
-\frame{\frametitle{Modularization Motivation}
-Simulations are complex, may contain several models at once.\\
-Example: Long Gamma Ray Burst:
- \begin{columns}[t]
- \column{.4\textwidth}
- \begin{center}
- \includegraphics[width=0.9\textwidth]{supernova_model}
- \end{center}
- \column{.5\textwidth}
- \begin{itemize}
- \item General Relativity (black hole)
- \item Relativistic Hydrodynamics (star)
- \item Microphysics, equation of state (shock wave)
- \item Neutrino radiation (cooling, heating)
- \item Magnetic Fields (Jet formation)
- \item Photon radiation (afterglow)
- \end{itemize}
-
- \end{columns}
-}
-
-\frame{\frametitle{Modularization Motivation}
- Added Problems:
- \begin{itemize}
- \item Example: Einstein Toolkit (not untypical)
- \item Code 12+ years old
- \item Grad students leave after 3 productive years
- \item Most original authors not available anymore
- \item Developers distributed over many places in several continents
- \item Most physicists are not good programmers
- \end{itemize}
-}
-
-\frame{\frametitle{Component Architecture}
- \begin{itemize}
- \item Split program into independent components (as much as possible)
- \item \textit{Framework} provides glue between these
- \item Components are developed independently by small groups
- \item End user assembles all code: no central control, no authorative version
- \item Framework itself does no real work
- \item Components don't interact directly with each other
- \end{itemize}
-}
-
-\frame { \frametitle{Cactus History}
- \begin{itemize}
- \item Direct descendant of many years of code development in Ed Seidel's group of
- researchers at NCSA
- \item 1995, Paul Walker, Joan Masso, Ed Seidel, and John Shalf: Cactus~1.0
- \item Originally for numerical relativity
- \item Over the years generalized for use by scientists in other domains
- \end{itemize}
-}
-
-\frame { \frametitle{Current Users and Developers}
- \centering
- \includegraphics[height=7cm]{groups_map}\\
-}
-
-\frame { \frametitle{Covers}
- \hspace{0cm}\includegraphics[height=3.5cm]{covers/ACMCommunications}
- \hspace{1cm}\includegraphics[height=3.5cm]{covers/FutureTechPhysCosm}
- \hspace{1cm}\includegraphics[height=3.5cm]{covers/Gravity}\\\vspace{-1.5cm}
- \hspace{1cm}\includegraphics[height=3.5cm]{covers/max-planck-research2}
- \hspace{1cm}\includegraphics[height=3.5cm]{covers/nsffy2006budgetcover}
- \hspace{1cm}\includegraphics[height=3.5cm]{covers/mmcover}\\\vspace{-1.5cm}
- \hspace{2cm}\includegraphics[height=3.5cm]{covers/visprocessingtensor}
- \hspace{1.5cm}\includegraphics[height=3.5cm]{covers/PetascaleComputingBook}
- \hspace{1cm}\includegraphics[height=3.5cm]{covers/NR689}
-}
-
-\frame { \frametitle{Cactus Funding}
- \begin{itemize}
- \item Organizations:
- \begin{itemize}
- \item Max-Planck-Gesellschaft
- \item Center for Computation \& Technology at LSU
- \item National Center for Supercomputing Applications
- \item Lawrence Berkeley National Laboratory
- \item Washington University
- \item University of Tübingen
- \end{itemize}
- \item Grants:
- \begin{itemize}
- \item NSF (PHY-9979985, 0540374, 0653303, 0701491, 0701566,
- PIF-0904015, 0903973, 0903782)
- \item Europ. Commission (HPRN-CT-2000-00137, IST-2001-32133)
- \item DFN-Verein (TK 6-2-AN 200)
- \item DFG (TiKSL)
- \item ONR (COMI)
- \item DOE/BOR (OE DE-FG02-04ER46136, BOR DOE/LEQSF)
- \end{itemize}
- \end{itemize}
-}
-
-% Copied from web site
-\begin{frame} \frametitle{Cactus Awards}
- \begin{tabular}{ll}
- IEEE SCALE09 Challenge Winner & 2009\\
- IEEE Sidney Fernback Award & 2006\\
- High-Performance Bandwidth Challenge & SC2002\\
- High-Performance Computing Challenge & SC2002\\
- Gordon Bell Prize for Supercomputing & SC2001\\
- HPC ``Most Stellar'' Challenge Award & SC1998\\
- Heinz Billing Prize for Scientific Computing & 1998
- \end{tabular}
-\end{frame}
-
-\begin{frame} \frametitle{The 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{CactusIO} & input and output operations\\
- \ \textbf{CactusIOJpeg} & JPEG image data compression and writing operations\\
- \textit{CactusConnect} & networking\\
- \ \textbf{HTTPD} & starts the HTTP daemon for remote connections\\
- \textit{PUGH} & unigrid driver + tools; reductions and interpolations\\
- \ \textbf{PUGH} & unigrid driver handles grid scalars, arrays and functions\\
- \end{tabular}
- \end{itemize}
-\end{frame}
-
-
-% Should put more here.
-\begin{frame} \frametitle{Application Toolkits}
- \begin{columns}[t]
- \column{.5\textwidth}
- \begin{center}
- \begin{figure}
- \includegraphics[width=0.4\textwidth]{einstein}
- \end{figure}
- \end{center}
-
- \justifying The \textbf{Cactus Computational Toolkit} is a collection of
- arrangements that provides general computational infrastructure.
-
- \column{.5\textwidth}
- \justifying The \textbf{Einstein Toolkit} is a collection of arrangements for
- computational relativity. The toolkit includes a vacuum spacetime solver
- (McLachlan), a relativistic hydrodynamics solver, along with thorns for initial
- data, analysis and computational infrastructure.
- \begin{center}
- \begin{figure}
- \includegraphics[width=20mm]{cactuslogo}
- \end{figure}
- \end{center}
- \end{columns}
-\end{frame}
-
-\frame { \frametitle{Typical list of component tasks}
- \abspic{puzzle}{0.0}{0.6}{0.4}
- \begin{itemize}
- \item Evolution systems
- \item Boundary conditions
- \item Initial conditions
- \item Time stepping method
- \item Finite Difference methods
- \item Simulation grid (distributed arrays)
- \item I/O (more on next slide)
- \item Simulation domain specification
- \item Termination condition
- \item Twitter client
- \end{itemize}
-}
-
-\frame { \frametitle{I/O Capabilities}
- Usual I/O and checkpointing in different formats:
- \begin{columns}[t]
- \column{.6\textwidth}
- \begin{itemize}
- \item Screen output
- \item ASCII file output
- \item HDF5 file in-/output
- \item Online Jpeg rendering
- \item Online VisIt visualization
- \end{itemize}
-
- \column{.3\textwidth}
- \begin{center}
- \begin{figure}[h]
- \includegraphics[width=40mm]{viz}
- \end{figure}
- \end{center}
- \end{columns}
-}
-
-\frame { \frametitle{More Capabilities: Grids, Boundaries, Symmetries}
- \begin{columns}[t]
- \column{.5\textwidth}
- \begin{itemize}
- \item Grids
- \begin{itemize}
- \item Only structured meshes (at the moment)
- \item Unigrid (PUGH)
- \item Adaptive Mesh Refinement (Carpet)
- \end{itemize}
- \item Boundaries / Symmetries
- \begin{itemize}
- \item Periodic
- \item Static
- \item Mirror symmetries
- \item Rotational symmetries
- \item Problemspecific boundaries
- \end{itemize}
- \end{itemize}
-
-
- \column{.4\textwidth}
- \begin{center}
- \begin{figure}[h]
- \includegraphics[width=45mm]{amr}
- \end{figure}
- \end{center}
- \end{columns}
-}
-
-\frame { \frametitle{The Cactus Computational Toolkit}
- \begin{columns}[t]
- \column{.3\textwidth}
- \begin{center}
- \begin{figure}
- \includegraphics[height=40mm]{potcact}
- \end{figure}
- \end{center}
-
-
- \column{.6\textwidth}
- Core modules (thorns) providing many basic utilities:
- \begin{itemize}
- \item I/O methods
- \item Boundary conditions
- \item Parallel unigrid driver
- \item Reduction and Interpolation operators
- \item Interface to external elliptic solvers
- \item Web-based interaction and monitoring interface
- \item Simple example thorns (wavetoy)
- \end{itemize}
- \end{columns}
-}
-
-\frame { \frametitle{Many arrangements with many modules...}
- \begin{tabular}{ll}
- CactusBase& Basic utility and interface thorns\\
- CactusBench& Benchmark utility thorns\\
- CactusConnect& Network utility thorns\\
- CactusElliptic& Elliptic solvers / interface thorns\\
- CactusExamples& Example thorns\\
- CactusExternal& External library interface thorns\\
- CactusIO& General I/O thorns\\
- CactusNumerical& General numerical methods\\
- CactusPUGH& Cactus Unigrid Driver thorn\\
- CactusPUGHIO& I/O thorns specifix for PUGH driver\\
- CactusTest& Thorns for Cactus testing\\
- CactusUtils& Misc. utility thorns\\
- CactusWave& Wave example thorns\\
- \end{tabular}
-}
-
-
-\end{document}
-
File [removed]: recompile
Delta lines: +0 -14
===================================================================
--- cactus_intro/recompile 2013-07-26 06:14:59 UTC (rev 9)
+++ cactus_intro/recompile 2013-07-26 06:31:27 UTC (rev 10)
@@ -1,14 +0,0 @@
-#!/bin/bash
-
-function pdf {
- NAME=$1
- pdflatex $NAME.tex
- pgrep -f "xpdf -remote 127.0.0.1 $NAME.pdf" 2>&1 > /dev/null
- if [ $? == 0 ]; then
- xpdf -remote 127.0.0.1 -reload -raise
- else
- xpdf -remote 127.0.0.1 $NAME.pdf &
- fi
-}
-
-pdf cactus_intro
More information about the Commits
mailing list