Overview
Syllabus
Intro
Agenda
What is Vectorization
Why Vectorization Matters
Single Instruction Multiple Data
SIMD Example
Types of Vectorization
Types of Instructions
Streaming Instructions
Handling Exceptions
SIMD History
Tradeoffs
AVX 512
Wikipedia
Skylake 2017
Implementation
Automatic Vectorization
Automatic Vectorization Example
Driver Hints
C Restrictions
Explicit Vectorization
Memory Alignment
Permute
Out of Memory
Selective Store
Compress
Additional Values Span
Gather and Gather
Scatter
Vectorized Algorithms
MD Compare
Output Vector
Performance
Xeon Phi
Branchless
Vectorized
Memory Bandwidth
Invalid Tuples
Example
Materialization Model
Stage Buffer
Simple Pseudo Code
Prefetching
Results
Graph
Hash Tables
Taught by
CMU Database Group