mem.tex 639 B

12345678910111213141516171819202122232425262728293031
  1. % vim: set foldmethod=marker foldmarker=<<<,>>>:
  2. \section{Memory/bandwidth optimization}
  3. \begin{frame} \frametitle{Memory benchmarks}{} %<<<
  4. % https://lwn.net/Articles/252125/
  5. % Ulrich Drepper -- What every programmer should know about memory
  6. % plot: X (size), Y (cycles) ---- vary stride length
  7. % spatial and temporal data locality
  8. % hyper threading - shared cache - useful for latency bound
  9. \end{frame}
  10. %>>>
  11. % vector vs linked list
  12. \begin{frame} \frametitle{Shared memory pitfalls}{} %<<<
  13. % thread contention
  14. % cache coherency
  15. % thread pinning
  16. % NUMA
  17. % locks / atomic / synchronization
  18. \end{frame}
  19. %>>>