PaddlePaddle / Paddle-Lite

PaddlePaddle High Performance Deep Learning Inference Engine for Mobile and Edge (飞桨高性能深度学习端侧推理引擎)
https://www.paddlepaddle.org.cn/lite
Apache License 2.0
6.94k stars 1.61k forks source link

Opencl demo failed on linux armv8!!! #8579

Closed 2050airobert closed 8 months ago

2050airobert commented 2 years ago

hi, 按照https://paddle-lite.readthedocs.io/zh/develop/demo_guides/opencl.html#api 文档,一步步进行,最后 1 运行 ./mobilenet_light_api \ 结果异常 image 2 运行./mobilenet_light_api \ mobilenetv1_opt_opencl.nb \ 1,3,224,224 \ 100 10 0 1 1 0 直接abort, image 3 实测opencl 可用,环境也ok,具体如下 方法一 OPENCL_ENV.txt 方法二 OPENCL_ENV_2.txt 我写了的demo测试cl环境具体如下: image 请问,究竟是什么原因呢?是否可以帮忙分析下? 多谢

paddle-bot-old[bot] commented 2 years ago

您好,我们已经收到了您的问题,会安排技术人员尽快解答您的问题,请耐心等待。请您再次检查是否提供了清晰的问题描述、复现代码、环境&版本、报错信息等。同时,您也可以通过查看官网文档常见问题历史Issue来寻求解答。祝您生活愉快~

Hi! We've received your issue and please be patient to get responded. We will arrange technicians to answer your questions as soon as possible. Please make sure that you have posted enough message to demo your request. You may also check out the APIFAQ and Github Issue to get the answer.Have a nice day!

zhaoyang-star commented 2 years ago

经编译时打开LOG,然后运行时设置 export GLOG_v=4,从打印的详细日志中看到您使用的晶晨A311D开发板中的OpenCL驱动路径是/usr/local/libOpenCL.so,该路径不在PaddleLite的默认搜索路径下,因此会因找不到该库报错。通过创建一个软连接后,库路径可正常找到,在运行到kernel时还会出现段错误,已经在解决中,会尽快在此反馈。

2050airobert commented 2 years ago

嗯,实际上可以更关注下这个OPENCL库的信息(当然还有其他需要的库),如果需要的话可以给你同步一份我的,另外新的问题今天有思路了了吗,已经可以定位了吧?多谢

daming5432 commented 2 years ago

1、关于动态库找不到的问题,可以在paddlelite源码中加入/usr/local/libOpenCL.so的库。用它自带的库就可以跑 2、关于GPU,这个板子上的GPU是芯源自研的GPU,在它上面跑mbv1遇到的问题是CL_INVALID_WORK_GROUP_SIZE,发现只要local work size >32就会报这个错误。但他们芯片注明的是小于256是可以的,已向他们反馈等结果。 3、关于这个GPU性能,这个板子上arm100ms左右, GPU修改local work size 后1000ms左右,不建议用它的GPU

2050airobert commented 2 years ago

1、嗯,好的 2、local work size这个是指什么呢?事实上这个mali gpu G52是arm的内核吧,官方说的性能还不错,您说的是芯原自研的是指,这款的指标实际上已经降低了许多? 3、这是跑的什么程序呢? arm是单core跑的吗? GPU的性能差距有点大,这个是否可以让芯原解释下呢? 多谢

zhaoyang-star commented 2 years ago

2、local work size 是 OpenCL 编程中的一个专业术语,建议您先查看 OpenCL 开发文档;CL_INVALID_WORK_GROUP_SIZE 报错的问题已经反馈给芯源,待他们反馈结果(该进度我们不可控)。 3、运行的模型是 mobilenetv1。

daming5432 commented 2 years ago

我这边机器上显示不是mali gpu G52,是一个芯源GPU

leiqing1 commented 2 years ago

Paddle Lite不支持这款硬件的GPU加速。 Paddle Lite的GPU的适配方案是OpenCL, 而这款晶晨311D的GPU是芯元自研GPU IP,如果想使用这款芯片进行AI加速,建议使用CPU或者NPU进行加速。

2050airobert commented 2 years ago

@leiqing1 感谢您官方的答复,tks。 1 那我们支持rk3399pro的 maliT864 MP4 GPU吗? 2 tinypose和picodet有木有已经ready可以release的demo展示?

jizhu1023 commented 2 years ago

@leiqing1 感谢您官方的答复,tks。 1 那我们支持rk3399pro的 maliT864 MP4 GPU吗? 2 tinypose和picodet有木有已经ready可以release的demo展示?

同问