12345678910111213141516171819202122232425262728293031 |
- % 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}
- %>>>
|