Vectorized Query Execution with SIMD - Lecture 8
Offered By: CMU Database Group via YouTube
Course Description
Overview
Explore a comprehensive lecture on vectorized query execution using SIMD in advanced database systems. Delve into the fundamentals of vectorization, its importance, and the concept of Single Instruction Multiple Data (SIMD). Examine various types of vectorization, SIMD instructions, and their historical development. Analyze implementation strategies, including automatic and explicit vectorization, memory alignment, and specialized instructions. Investigate vectorized algorithms, performance considerations, and the materialization model. Learn about stage buffers, prefetching, and hash tables in the context of vectorized query execution.
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
Related Courses
Stanford Seminar - MIPS Open, Wave ComputingStanford University via YouTube Loop Analysis and Vectorization in Julia - JuliaCon 2020
The Julia Programming Language via YouTube Intrinsic Functions and Vector Processing Extensions for SIMD Parallel Operations in C++
javidx9 via YouTube Intrinsics - Low-Level Engine Development with Burst - Unite Copenhagen
Unity via YouTube Aggregating Ticks to Manage Scale in Sea of Thieves - Unreal Fest Europe 2019 - Unreal Engine
Unreal Engine via YouTube