[Commits] [svn:einsteintoolkit] Workshop_Spring_2012/hpc_intro/ (Rev. 19)
knarf at cct.lsu.edu
knarf at cct.lsu.edu
Sun Apr 1 13:20:46 CDT 2012
User: knarf
Date: 2012/04/01 01:20 PM
Modified:
/hpc_intro/
hpc_intro.tex
Log:
basic text for hpc intro
File Changes:
Directory: /hpc_intro/
======================
File [modified]: hpc_intro.tex
Delta lines: +97 -5
===================================================================
--- hpc_intro/hpc_intro.tex 2012-04-01 16:38:39 UTC (rev 18)
+++ hpc_intro/hpc_intro.tex 2012-04-01 18:20:46 UTC (rev 19)
@@ -2,9 +2,9 @@
\usepackage{ragged2e}
\usecolortheme[RGB={200,200,200}]{structure}
-\subtitle[Introduction to HPC]{{\large Einstein Toolkit Workshop}\\*[0.3em]Introduction to High-Performance-Computing}
+\subtitle[Introduction to HPC]{{\large Einstein Toolkit Workshop}\\*[0.3em]Introduction to High-Performance-Computing (HPC)}
\author[\mbox{\includegraphics[height=0.6em]{fl_300}\hspace{0.5em}Frank Löffler}]{Dr Frank Löffler}
-\date{Apr 04 2012}
+\date{Apr 03 2012}
\begin{document}
@@ -33,7 +33,7 @@
\frame{\frametitle{Examples}
\begin{itemize}
- \item Smimulation of physical phenomena
+ \item Simmulation of physical phenomena
\begin{itemize}
\item Climate modeling
\item Galaxy formation
@@ -86,7 +86,7 @@
\frame{\frametitle{But I am just a computer scientist}
\begin{itemize}
- \item Don't worry: since most people in HPC are not, you have an advantage from the start
+ \item Don't worry: since most people in HPC are not, you are very valuable
\item Skills you need:
\begin{itemize}
\item Common sense
@@ -103,7 +103,7 @@
\frame{\frametitle{HPC is pragmatic}
\begin{itemize}
- \item Performance is not always what matters: Time to solution is
+ \item Performance is not always what matters: time to solution is.
\item Practical experience is most important
\item Leveraging existing solutions is preferred over inventing new ones
\item A good solution today is often worth more than a better solution tomorrow
@@ -111,4 +111,96 @@
\end{itemize}
}
+\frame{\frametitle{How to get a faster answer?}
+ \begin{itemize}
+ \item Work harder
+ \begin{itemize}
+ \item Get faster hardware
+ \end{itemize}
+ \item Work smarter
+ \begin{itemize}
+ \item Use optimized algorithms (libraries)
+ \item Write faster code (optimize for hardware)
+ \item trade convenience for performance (compilation vs. script)
+ \end{itemize}
+ \item Devide and conquer
+ \begin{itemize}
+ \item Parallelize code
+ \item Utilize accelarators (GPGPU)
+ \end{itemize}
+ \end{itemize}
+}
+
+\frame{\frametitle{What determines performance?}
+ \begin{itemize}
+ \item CPU speed
+ \item I/O speed
+ \item How well can work be split into pieces?
+ \begin{itemize}
+ \item very problem specific
+ \item run benchmarks to understand program behavior
+ \item know about Amdahl's law
+ \end{itemize}
+ \end{itemize}
+}
+
+\frame{\frametitle{How is performance measured?}
+ \begin{itemize}
+ \item For numeric operations: FLOP/s
+ \item Theoretical peak
+ \begin{itemize}
+ \item clock rate $\times$ number of double precision operations per clock cycle
+ \item can in practice not be reached
+ \end{itemize}
+ \item Sustained (real) performance
+ \begin{itemize}
+ \item very application dependent
+ \item Top500 uses Linpack (linerar algebra)
+ \end{itemize}
+ \end{itemize}
+}
+
+\frame{\frametitle{Performance of supercomputing applications}
+ \begin{itemize}
+ \item Strong scaling: fixed problem set; measure speedup depending on amount of
+ used resources
+ \item Weak scaling: fixed ratio of problem set / resource, measure if speed stays
+ constant
+ \item Linpack: weak scaling test: $50\%-80\%$ peak
+ \item Weather forcast: strong scaling: typical $<10\%$ peak (similar for many others)
+ \end{itemize}
+}
+
+\frame{\frametitle{What is Cluster?}
+ A cluster consists of:
+ \begin{itemize}
+ \item Several computers (nodes), often in special cases
+ \item One or more networks (interconnects)
+ \item Software for communication between nodes (e.g. MPI)
+ \item Software to reserve resources to individual users
+ \end{itemize}
+ A cluster is: one big computer formed by these components.
+}
+
+\frame{\frametitle{Parallel Programming}
+ \begin{itemize}
+ \item MPI
+ \begin{itemize}
+ \item Message Passing Interface
+ \item Node-to-node communication
+ \end{itemize}
+ \item OpenMP
+ \begin{itemize}
+ \item Based on threads
+ \item Within-node communication
+ \end{itemize}
+ \item OpenCL/OpenACC/CUDA
+ \begin{itemize}
+ \item Accelerator Hardware (CPU/GPU/FPGA/...)
+ \item Usually within-node usage
+ \end{itemize}
+ \item Typical: Mix (Hybrid)
+ \end{itemize}
+}
+
\end{document}
More information about the Commits
mailing list