RTT对MALI GPU的支持思路

熊大的RTT-SMART是除了Linux内核之外,唯一一个覆盖从小型嵌入式平台到到中高端终端SOC品类的操作系统,其中对GPU,图形系统和OPENGL的支持可谓是比较典型,简单搜集了一些这方面的实现资料,纪录如下。

RTT-SMART支持原生的ARM-MALI GPU DDK,MALI-GPU是业内首屈一指的图形IP,看看它的对手有多强就知道了,比如高通的Adreno GPU, IMG的PoverVR, 苹果GPU等,都是业内的顶级产品。

ARM GPU的架构如下:

RTT对MALI GPU的支持思路_第1张图片

ARM MALI DDK(驱动器开发工具包)构成,车载应用中,Mali DDK的单个SoC能够将计算资源分配到仪表盘、IVI(车载信息娱乐系统)和导航系统,而不是每个应用都需要一个SoC或一个ECU。Mali DDK支持Linux和安卓系统,而且可以跨多个操作系统和管理程序使用虚拟化功能,确保顺畅的用户体验,比如在虚拟化系统中实现触摸屏快速响应。此外,Arm支持Mali GPU和Mali DDK用于汽车应用,且可根据市场需求进行定制,以帮助在车辆使用寿命期间,维护车辆软件。

RTT对MALI GPU的支持思路_第2张图片

RTT-SMART的实现思路

RTT对MALI GPU的支持思路_第3张图片

经过了解,RTT-smart的图形应用基于openGL es,  这部分属于mali ddk的,把GPU KMD和UMD驱动移植到RTT-SMART内核上跑,内核态和用户态都要搞,几乎整套mali ddk + driver,该适配的都要适配,工作量还是非常大的,好几个人搞了几个月,最终搞定。ARM DDK部分是需要ARM授权的,对于RTT 纯搞软件系统的公司来说,可以通过IC厂商间接授权,也就是ARM先授权给IC厂商,在通过IC厂商授权给RTT,只是开发的话,国内IC原厂就指望了不上,他们的水准一般没有RTT这种专注做软件开发的水平高呢。

GPU开发,UMD比KMD坑多,编译器(shader compiler, ai compiler),调优,适配各种开源软件和生态等。


结束

你可能感兴趣的:(GPU,GPGPU,算法,python,开发语言)