Open First Status of the Embedded GPU Space Robert Foss Senior Software Engineer @memcpy_io 2018 Q1
Open First
Status of theEmbedded GPU Space
Robert FossSenior Software Engineer@memcpy_io
2018 Q1
● History● Upstream Support● What Comes Next● The Big Picture
Agenda
History
History
History
History
History
History
History
History
History
Upstream Support
Upstream SupportNVidia
Upstream SupportNVidia
Reverse Engineering
Upstream SupportNVidia
Reverse Engineering
Mesa
Upstream SupportIntel
Upstream Support
Mesa
Intel
Upstream SupportAMD
Upstream SupportAMD
Mesa
Upstream SupportBroadcom
Upstream SupportBroadcom
Mesa
Upstream SupportBroadcom VC4
Board: Raspberry Pi 3SOC: Broadcom BCM2837
Upstream SupportBroadcom VC5
Board: ???SOC: Broadcom BCM7268
Upstream SupportQualcomm
Upstream SupportQualcomm
Reverse Engineering
Upstream SupportQualcomm
Reverse Engineering
Mesa
Upstream SupportQualcomm
Upstream SupportQualcomm Adreno A200
Board: iMX 53 DevkitSOC: NXP iMX 53
Upstream SupportQualcomm Adreno A300
Board: Dragonboard 410CSOC: Qualcomm 410E
Upstream SupportQualcomm Adreno A400
Board: Inforce 6540SOC: Qualcomm 805
Upstream SupportQualcomm Adreno A500
Board: Dragonboard 820CSOC: Qualcomm 820E
Upstream SupportVivante
Upstream SupportVivante
Reverse Engineering
Upstream Support
Mesa
Reverse Engineering
Vivante
Upstream SupportVivante GC2000
Board: iMX 6 SabreSOC: NXP iMX6q
Upstream SupportVivante GC3000
Board: iMX 6 QP Sabre SOC: NXP iMX6qp
Upstream SupportVivante GC7000
Board: iMX 8 DevkitSOC: NXP iMX8
Upstream SupportARM
Upstream Support
Reverse Engineering
ARM
Upstream SupportARM Mali Txxx
Board: Asus TinkerboardSOC: Rockchip RK3288
Upstream SupportARM Mali Gxx
Board: HiKey 960SOC: HiSilicon Kirin 960
Upstream SupportImagination
Upstream SupportImagination
What comes next
What Comes Next
● OpenGL improvements
What Comes Next
● OpenGL improvements● OpenCL support
What Comes Next
● OpenGL improvements● OpenCL support
– Intel OpenCL Neo
What Comes Next
● OpenGL improvements● OpenCL support
– Intel OpenCL Neo– AMD ROCm
What Comes Next
● OpenGL improvements● OpenCL support
– Intel OpenCL Neo– AMD ROCm– In progress: nouveau
What Comes Next
● OpenGL improvements● OpenCL support
– Intel OpenCL Neo– AMD ROCm– In progress: nouveau– In progress: freedreno
What Comes Next
● OpenGL improvements● OpenCL support
What Comes Next
● OpenGL improvements● OpenCL support● Vulkan support
What Comes Next
● OpenGL improvements● OpenCL support● Vulkan support
– AMD RADV & AMDVLK
What Comes Next
● OpenGL improvements● OpenCL support● Vulkan support
– AMD RADV & AMDVLK– Intel ANV
What Comes Next
● OpenGL improvements● OpenCL support● Vulkan support
The Big Picture
The Big PictureDevelopment
The Big Picture
● Some drivers are very mature
Development
The Big Picture
● Some drivers are very mature● Non-supported drivers use more common code
Development
The Big Picture
● Some drivers are very mature● Non-supported drivers use more common code● Reverse engineering to driver takes 0-3 years
Development
The Big Picture
● Some drivers are very mature● Non-supported drivers use more common code● Reverse engineering to driver takes 0-3 years● Vendors support APIs outside usual codebases
Development
The Big Picture
● Some drivers are very mature● Non-supported drivers use more common code● Reverse engineering to driver takes 0-3 years● Vendors support APIs outside usual codebases● OpenCL is hard.
Development
The Big Picture
● Some drivers are very mature● Non-supported drivers use more common code● Reverse engineering to driver takes 0-3 years● Vendors support APIs outside usual codebases● OpenCL is hard.
Development
The Big PictureVendors
The Big Picture
● Some vendor support is really good
Vendors
The Big Picture
● Some vendor support is really good● Open Source drivers come in different shapes
Vendors
The Big Picture
● Some vendor support is really good● Open Source drivers come in different shapes
– Vendor supported or not
Vendors
The Big Picture
● Some vendor support is really good● Open Source drivers come in different shapes
– Vendor supported or not– Small vendor teams or not
Vendors
The Big Picture
● Some vendor support is really good● Open Source drivers come in different shapes
– Vendor supported or not– Small vendor teams or not– Control motivated vendor or not
Vendors
The Big Picture
● Some vendor support is really good● Open Source drivers come in different shapes
– Vendor supported or not– Small vendor teams or not– Control motivated vendor or not– NVidia
Vendors
The Big PictureManufacturers
The Big Picture
● Some industries need Open Source
Manufacturers
The Big Picture
● Some industries need Open Source– Surprisingly the Aircraft industry
Manufacturers
The Big Picture
● Some industries need Open Source– Surprisingly the Aircraft industry– Anyone planning for >1year product support
Manufacturers
Thank you!