intro.tex 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. % vim: set foldmethod=marker foldmarker=<<<,>>>:
  2. \section{Introduction}
  3. \begin{frame} \frametitle{What is HPC?}{} %<<<
  4. \begin{columns}
  5. \column{0.43\textwidth}
  6. \column{0.56\textwidth}
  7. \centering
  8. \resizebox{0.99\textwidth}{!}{\begin{tikzpicture} %<<<
  9. \draw[black!0] (-4.73,-5) rectangle (4.73,4);
  10. \only<1-3>{
  11. \draw[color=green, ultra thick, fill=green, opacity=0.3] (1.73,1) circle (3);
  12. \node[text width=3.2cm] at (3.0,1.5) {\LARGE Methods \& Algorithms};
  13. }
  14. \only<2-3>{
  15. \draw[color=blue, ultra thick, fill=blue, opacity=0.3] (0,-2) circle (3);
  16. \node at (0,-2.9) {\LARGE Software};
  17. }
  18. \only<3-3>{
  19. \draw[color=red, ultra thick, fill=red, opacity=0.3] (-1.73,1) circle (3);
  20. \node at (-2.8,1.6) {\LARGE Hardware};
  21. }
  22. \end{tikzpicture}}%>>>
  23. \end{columns}
  24. \end{frame}
  25. %>>>
  26. % FUTURE PROOFING OUT METHODS AND CODES
  27. % Domain Specific Languages ⇒ Domain Specific Architectures
  28. \begin{frame} \frametitle{Trends in hardware}{} %<<<
  29. % exascale computing
  30. % heterogeneous computing, specialized hardware accelerators: GPUs, ASICS, FPGA, Tensor processing units
  31. % AMD GPUs becoming more common, Intel Xe GPU to feature in Aurora suprcomputer
  32. % energy efficiency
  33. % new memory technologies:
  34. % - Hybrid Memory Cube
  35. % - DDR6
  36. % - High Bandwidth Memory (HBM, HBM2, ...)
  37. \end{frame}
  38. %>>>
  39. \begin{frame} \frametitle{Trends in hardware}{} %<<<
  40. % end of frequency scaling
  41. % post Moore's law
  42. % Dennard scaling
  43. % multi-core / many-core
  44. % vector lengths (512-bit now standard in most CPU cores)
  45. % rise of ARM (RISC ISA)
  46. % transistor counts increasing -- multi-package CPUs (NUMA) -- AMD Risen 64 cores
  47. %https://www.karlrupp.net/2018/02/42-years-of-microprocessor-trend-data/
  48. \begin{columns}
  49. \column{0.3\textwidth}
  50. \column{0.7\textwidth}
  51. %\write18{wget -O figs/trends0.png https://github.com/karlrupp/microprocessor-trend-data/raw/master/50yrs/50-years-processor-trend.png}
  52. %\write18{wget -O figs/trends1.png https://upload.wikimedia.org/wikipedia/commons/0/00/Moore\%27s_Law_Transistor_Count_1970-2020.png}
  53. \includegraphics[width=0.99\textwidth]{figs/trends0.png}
  54. \end{columns}
  55. \end{frame}
  56. %>>>
  57. \begin{frame} \frametitle{Trends in hardware}{} %<<<
  58. \begin{columns}
  59. \column{0.3\textwidth}
  60. \column{0.7\textwidth}
  61. \includegraphics[width=0.99\textwidth]{figs/sustained-memory-bw-falling-graph-mccalpin-1000x}
  62. {\footnotesize John McCalpin - Memory bandwidth and system balance in HPC systems, 2016}
  63. \end{columns}
  64. \end{frame}
  65. %>>>
  66. \begin{frame} \frametitle{Trends in software}{} %<<<
  67. % programming languages: interpreted, JIT, code-generation,
  68. % - new languages (modern C++ - SCC sciware)
  69. % - features
  70. # know how your programming language works
  71. # don't iterate over billion element array in python
  72. % compilers
  73. # compiler options for best performance
  74. % profilers and debuggers
  75. % optimized libraries for scientific computing: (BLAS, LAPACK, FFTW)
  76. % use whenever it makes sense to do so
  77. \end{frame}
  78. \begin{frame} \frametitle{Resources}{} %<<<
  79. % SCC Sciware lectures
  80. \end{frame}
  81. %>>>