Overview Architecture refresher: x86,
ARM, Atom, MIC, GPU
|
Designing for data
Data-intensive applications
Vectorization
|
Memory effects in hardware:
prefetching, false sharing, caches
|
Threads, thread pools,
creation, overheads, pthreads
|
Principles of programming for
accelerators
Direct, Offload, Symmetric mode, MIC
|
Advanced performance
monitoring and tuning
|
|
Choosing data structures Non-uniform memory
|
Parallelization technologies
and environments: OpenMP, Cilk, TBB
|
|