diff --git a/kernel.s b/kernel.s index 473805d..2864efd 100644 --- a/kernel.s +++ b/kernel.s @@ -1,12 +1,12 @@ -MOV GRF_A #0, BANK -MOV GRF_A #1, BANK -MOV GRF_A #2, BANK -MOV GRF_A #3, BANK -MOV GRF_A #4, BANK -MOV GRF_A #5, BANK -MOV GRF_A #6, BANK -MOV GRF_A #7, BANK -MAC(AAM) GRF_B, BANK, GRF_A -JUMP -1, 7 -FILL BANK, GRF_B #0 -EXIT + MOV GRF_A #0, BANK + MOV GRF_A #1, BANK + MOV GRF_A #2, BANK + MOV GRF_A #3, BANK + MOV GRF_A #4, BANK + MOV GRF_A #5, BANK + MOV GRF_A #6, BANK + MOV GRF_A #7, BANK + MAC(AAM) GRF_B, BANK, GRF_A + JUMP -1, 7 + FILL BANK, GRF_B #0 + EXIT diff --git a/main.pdf b/main.pdf index 38b44bb..8ea7e7c 100644 Binary files a/main.pdf and b/main.pdf differ diff --git a/main.tex b/main.tex index df7180c..f146e6e 100644 --- a/main.tex +++ b/main.tex @@ -2,6 +2,8 @@ % \setbeameroption{show notes on second screen=right} \usetheme{UniWue} +\usepackage{appendixnumberbeamer} + \usepackage[style=verbose-ibid]{biblatex} \usepackage{datetime} \usepackage{tabularray} @@ -48,7 +50,7 @@ \frame{\titlepage} -\section{Introduction} +% \section{Introduction} \begin{frame}{Energy Demand of Applications} Total compute energy approaches world’s energy production\autocite{src2021} @@ -78,7 +80,7 @@ \item (drastically more parameters in GPT-3, operational intensity goes down) } -\section{Processing-in-Memory} +% \section{Processing-in-Memory} \begin{frame}{Workloads for PIM} Fully connected neural network layers: @@ -155,7 +157,7 @@ \item I/O region of memory - limited by memory bus } -\section{Samsung HBM-PIM/FIMDRAM} +% \section{Samsung HBM-PIM/FIMDRAM} \begin{frame}{Samsung HBM-PIM/FIMDRAM\autocite{lee2021}} \begin{itemize} @@ -204,31 +206,6 @@ \item Control units executes one instruction when RD or WR command is issued } -\begin{frame}{HBM-PIM/FIMDRAM GEMV Operation} - \begin{figure} - \only<1>{\includesvg[width=0.8\textwidth]{images/gemv_normal}} - \only<2>{\includesvg[width=0.9\textwidth]{images/gemv_interleaved}} - \end{figure} -\end{frame} - -\begin{frame}{HBM-PIM/FIMDRAM GEMV Operation\autocite{kang2022}} - \begin{figure} - \only<1>{\includesvg[width=0.55\textwidth]{images/gemv.svg}} - \only<2>{\includesvg[width=0.55\textwidth]{images/gemv_0.svg}} - \only<3>{\includesvg[width=0.55\textwidth]{images/gemv_1.svg}} - \only<4>{\includesvg[width=0.55\textwidth]{images/gemv_2.svg}} - \only<5>{\includesvg[width=0.55\textwidth]{images/gemv_3.svg}} - \only<6>{\includesvg[width=0.55\textwidth]{images/gemv_4.svg}} - \end{figure} -\end{frame} - -\note[itemize]{ - \item Procedure of GEMV operation - \item multiple cycles - \item each PIM unit operatates on one matrix row - \item partial sum, reduced by host -} - \begin{frame}{HBM-PIM/FIMDRAM} \begin{huge} How fast is it? @@ -241,7 +218,7 @@ \end{itemize} \end{frame} -\section{Virtual Prototype} +% \section{Virtual Prototype} \begin{frame}{Virtual Prototype} \begin{itemize} @@ -267,6 +244,7 @@ \item Initialization \begin{itemize} \item Assembly and loading of microkernel + \item Arrange input data in special memory layout \end{itemize} \item Execution \begin{itemize} @@ -329,7 +307,7 @@ \item bare metal offers most control } -\section{Simulations} +% \section{Simulations} \begin{frame}{Microbenchmarks} \begin{columns} @@ -467,11 +445,38 @@ \section{Thank you for your attention!} -\begin{frame} - \frametitle{Outline} - \tableofcontents +% \begin{frame} +% \frametitle{Outline} +% \tableofcontents +% \end{frame} + +\appendix + +\begin{frame}{HBM-PIM/FIMDRAM GEMV Operation} + \begin{figure} + \only<1>{\includesvg[width=0.8\textwidth]{images/gemv_normal}} + \only<2>{\includesvg[width=0.9\textwidth]{images/gemv_interleaved}} + \end{figure} \end{frame} +\begin{frame}{HBM-PIM/FIMDRAM GEMV Operation\autocite{kang2022}} + \begin{figure} + \only<1>{\includesvg[width=0.55\textwidth]{images/gemv.svg}} + \only<2>{\includesvg[width=0.55\textwidth]{images/gemv_0.svg}} + \only<3>{\includesvg[width=0.55\textwidth]{images/gemv_1.svg}} + \only<4>{\includesvg[width=0.55\textwidth]{images/gemv_2.svg}} + \only<5>{\includesvg[width=0.55\textwidth]{images/gemv_3.svg}} + \only<6>{\includesvg[width=0.55\textwidth]{images/gemv_4.svg}} + \end{figure} +\end{frame} + +\note[itemize]{ + \item Procedure of GEMV operation + \item multiple cycles + \item each PIM unit operatates on one matrix row + \item partial sum, reduced by host +} + \begin{frame}{Memory Layout} \begin{figure} \includesvg[width=\textwidth]{images/complete_layout.svg}