联咏NT98692平台GPU系统初始化配置说明

基于联咏的gpu文档的概述,GPU用于处理3D图形或计算引擎,我们采用Arm Mali Gondul系列GPU G52作为我们的平台GPU,它可以支持OpenGL ES 1.1、2.0、3.2和OpenCL 2.0和EGL 1.5。刚好最近有处理一个GPU相关的问题,所以通过这篇文章简单说明GPU的系统初始化配置。

问题是这样,客户参考《NT98690_GPU_Programming_Guide_zh.pdf》文档中第三章基于GPU的系统初始化。完成内核配置和dtsi配置后,加载mali_kbase.ko时未出现文档中的内核打印,且GPU执行报错,执行结果如下。

文本

AI 生成的内容可能不正确。

然后我们在EVB上使用 v100版本验证是OK的。

文本

AI 生成的内容可能不正确。

然后请客户确认ko加载顺序

insmod /lib/modules/${KERVER}/extra/gpu/nvt_dmabuf_allocator/nvt_dmabuf_allocator.ko

insmod /lib/modules/${KERVER}/extra/gpu/mali_kbase.ko

客户按顺序加载nvt_dmabuf_allocator.ko和mali_kbase.ko 还是看到没有预期的打印

文本

AI 生成的内容可能不正确。

后面想基于客户kernel config编译的mali_kbase.ko,替换在客户设备上交叉测试

想理清是ko问题还是dtsi配置问题。

客户使用编译好的ko, 敲击命令insmod nvt_dmabuf_allocator.ko,后敲击insmod mali_kbase.ko,然后就直接卡死。死机截图如下:

文本

AI 生成的内容可能不正确。

后来通过给客户GPU整包,用gpu.7z试了一下,加载驱动环境无问题。运行sample报错,so加载为压缩包内的动态库。

文本

AI 生成的内容可能不正确。

后面我们做了大量的对比测试,测试发现跟硬件没有关系,跟使用的固件有关,客户NG设备使用的kernel config不是基线V100版本的kernel config,而且差异非常大,需要理清这部分差异,是否是造成memory mapping失败的原因。

最终客户对齐配置之后,问题就解决了。

FAQ

1.    联咏691平台GPU硬件信息是什么?

答:1 shader core,2 execution engines (EE) per shader core,48 warps per EE等等

2.    联咏691平台GPU体系结果是怎样的?

答:CPU将向GPU生成作业,GPU将处理这些计算或图形作业。您可以使用HDAL和GPU设计应用程序流,以获得2D或3D效果。

3.    联咏691平台GPU软件框架如何?

答:我们可以支持您开发OpenCL或OpenGL ES应用程序,输入或输出缓冲区可以从内核模式或特定物理地址获取。EGL负责绑定Linux内核缓冲区和帧缓冲区。

4.    如何使用GPU对系统进行初始化?

答:我们为您的系统提供如何启动GPU相关服务,其中包括内核和用户模式应用程序和库。您可以将初始过程添加到系统中,并使用OpenGL ES或OpenCL开发3D/2D应用程序

5.    是否支持EGL programing?

答:有API用于为OpenGL ES 3.0创建曲面和渲染上下文。您可以创建窗口曲面并使用OpenGL ES进行绘制

本篇作者-诠鼎集团-jop

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值