intro.tex 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  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. How can we keep our methods/algorithms and codes relevant in the future?
  7. \column{0.56\textwidth}
  8. \centering
  9. \resizebox{0.99\textwidth}{!}{\begin{tikzpicture} %<<<
  10. \draw[black!0] (-4.73,-5) rectangle (4.73,4);
  11. \only<1-3>{
  12. \draw[color=green, ultra thick, fill=green, opacity=0.3] (1.73,1) circle (3);
  13. \node[text width=3.2cm] at (3.0,1.5) {\LARGE Methods \& Algorithms};
  14. }
  15. \only<2-3>{
  16. \draw[color=blue, ultra thick, fill=blue, opacity=0.3] (0,-2) circle (3);
  17. \node at (0,-2.9) {\LARGE Software};
  18. }
  19. \only<3-3>{
  20. \draw[color=red, ultra thick, fill=red, opacity=0.3] (-1.73,1) circle (3);
  21. \node at (-2.8,1.6) {\LARGE Hardware};
  22. }
  23. \end{tikzpicture}}%>>>
  24. \end{columns}
  25. \end{frame}
  26. %>>>
  27. % FUTURE PROOFING OUT METHODS AND CODES
  28. % Domain Specific Languages ⇒ Domain Specific Architectures
  29. \begin{frame} \frametitle{Trends in hardware}{} %<<<
  30. % Top 10 supercomputers
  31. % 3 have AMD Instinct GPU
  32. % 4 have NVIDIA GPU
  33. % 5 have AMD CPU
  34. % 2 have POWER9 CPU
  35. % 1 has Intel CPU
  36. % 1 has ARM CPU
  37. % exascale computing
  38. % heterogeneous computing, specialized hardware accelerators: GPUs, ASICS, FPGA, Tensor processing units
  39. % AMD GPUs becoming more common, Intel Xe GPU to feature in Aurora suprcomputer
  40. % energy efficiency
  41. % new memory technologies:
  42. % - Hybrid Memory Cube
  43. % - DDR6
  44. % - High Bandwidth Memory (HBM, HBM2, ...)
  45. \end{frame}
  46. %>>>
  47. \begin{frame}[t] \frametitle{Trends in hardware}{} %<<<
  48. \begin{columns}
  49. \column{0.2\textwidth}
  50. \column{0.8\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. % post Moore's law
  56. % Dennard scaling: end of frequency scaling
  57. % multi-core / many-core
  58. % vector lengths (512-bit now standard in most CPU cores)
  59. % rise of ARM (RISC ISA)
  60. % transistor counts increasing -- multi-package CPUs (NUMA) -- AMD Risen 64 cores
  61. %https://www.karlrupp.net/2018/02/42-years-of-microprocessor-trend-data/
  62. \end{frame}
  63. %>>>
  64. \begin{frame} \frametitle{Trends in hardware}{} %<<<
  65. \begin{columns}
  66. \column{0.7\textwidth}
  67. \center
  68. \includegraphics[width=0.99\textwidth]{figs/sustained-memory-bw-falling-graph-mccalpin-1000x}
  69. {\scriptsize Source: John McCalpin - Memory bandwidth and system balance in HPC systems, 2016}
  70. \column{0.3\textwidth}
  71. \end{columns}
  72. \end{frame}
  73. %>>>
  74. \begin{frame}[t] \frametitle{Trends in hardware}{} %<<<
  75. \vspace{-1.5em}
  76. \begin{columns}[t]
  77. \column{0.5\textwidth}
  78. \column{0.5\textwidth}
  79. \center
  80. \includegraphics[width=0.9\textwidth]{figs/Graphics-card-with-HBM-1}
  81. \includegraphics[width=0.6\textwidth]{figs/HBM}
  82. {\scriptsize Source: \url{https://www.amd.com/en/technologies/hbm}}
  83. \end{columns}
  84. % Intel recently announced that High-Bandwidth Memory (HBM) will be available on select “Sapphire Rapids” Xeon SP processors and will provide the CPU backbone for the “Aurora” exascale supercomputer to be sited at Argonne National Laboratory.
  85. %https://www.nextplatform.com/2021/10/21/how-high-bandwidth-memory-will-break-performance-bottlenecks/
  86. \end{frame}
  87. %>>>
  88. \begin{frame} \frametitle{Trends in software}{} %<<<
  89. % programming languages: interpreted, JIT, code-generation,
  90. % - new languages (modern C++ - SCC sciware)
  91. % - features
  92. % Switch from interpreted to JIT (eg. MATLAB)
  93. % know how your programming language works
  94. % don't iterate over billion element array in python
  95. % compilers
  96. % compiler options for best performance
  97. % profilers and debuggers
  98. % optimized libraries for scientific computing: (BLAS, LAPACK, FFTW)
  99. % use whenever it makes sense to do so
  100. % HIP (NVIDIA and AMD GPUs)
  101. % HIP increasingly being instead of CUDA
  102. % hipify tool converts source from CUDA to HIP
  103. \end{frame}
  104. \begin{frame} \frametitle{Resources}{} %<<<
  105. % SCC Sciware lectures
  106. \end{frame}
  107. %>>>