1
SVM on Intel Graphics
Jesse Barnes Intel Open Source Technology Center
SVM on Intel Graphics Jesse Barnes Intel Open Source Technology - - PowerPoint PPT Presentation
SVM on Intel Graphics Jesse Barnes Intel Open Source Technology Center 1 What is SVM? Discussion of current practices SVM OS and driver modifications Device options and implications 2 SVM defined Pointer sharing between CPU
1
Jesse Barnes Intel Open Source Technology Center
2
3
4
○ Offset in device address space matches offset in process address space ○ Can use a buffer allocation API to manage device page tables ○ Allows OpenCL “fine grained, buffered” model
○ Requires pinning or page fault support ○ Allows OpenCL “fine grained, bufferless” model ○ Requires core OS and driver support ○ Ideal for application programmers
5
6
DRAM
Root Complex
7
DRAM
Root Complex
8
9
Kernel buffer
User buffer
1 2
3 a
1
3 a
2
3 b
1. Alloc buffer, syscall or ioctl to kernel (maybe for both) 2. Alloc buffer, request device to initiate DMA
process address (pinned!)
10
11
DRAM
Root Comple x
VT-d hw
VT-d looks up correct tables with PASID
12
Kernel buffer
User buffer
1 2 3
1. Alloc buffer, syscall or ioctl to kernel (maybe for both) 2. Alloc buffer, request device to initiate DMA 3. Device DMAs directly to translated process address (with faulting!)
13
14
}
to fd event for app
15
16
17
○ Simple, but potentially poor device utilization, depending on use model
○ Simply re-submit work after fault is handled, starting from the top ○ Also simple to implement, but potentially even worse utilization than waiting
○ Save device context on fault, switch to new context like on CPU ○ Potentially very complex for device designers ○ Added complexity for drivers