% vim: set foldmethod=marker foldmarker=<<<,>>>:

\section{Memory/bandwidth optimization}

\begin{frame} \frametitle{Memory benchmarks}{} %<<<

  % https://lwn.net/Articles/252125/
  % Ulrich Drepper -- What every programmer should know about memory

  % plot: X (size), Y (cycles)  ----  vary stride length

  % spatial and temporal data locality

  % hyper threading - shared cache - useful for latency bound

\end{frame}
%>>>

% vector vs linked list

\begin{frame} \frametitle{Shared memory pitfalls}{} %<<<

  % thread contention
  % cache coherency
  % thread pinning
  % NUMA
  % locks / atomic / synchronization

\end{frame}
%>>>

