[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