超高算力-边缘计算 RK3588 跑 openCL

发布于: 雪球转发:0回复:0喜欢:0

    $瑞芯微(SH603893)$ RK3588采用4核Cortex-A76和4核Cortex-A55的典型大小核架构,大核主频2.4GHz,小核主频1.8GHz,充分考虑了性能和功耗的平衡。1MB L2 Cache和3MB L3 Cache,提供更强的CPU运算能力。

       GPU方面,RK3588 集成ARMv9 Mali-G610 4核 1G,能流畅运行复杂的图形处理及游戏。

  NPU(神经网络处理器)方面,RK3588集成了瑞芯微第四代具有完全自主知识产权的人工智能运算引擎,在MAC运算单元的利用率及带宽的消耗上提升了30%6TOPs 的NPU算力,赋能各类AI场景,给复杂场景的本地离线AI计算、复杂视频流分析等应用提供了各种可能。

       OpenCL(全称Open Computing Language,开放运算语言)是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计算服务器、桌面计算系统、手持设备编写高效轻便的代码,而且广泛适用于多核心处理器(CPU)、图形处理器(GPU)、Cell类型架构以及数字信号处理器(DSP)等其他并行处理器,在游戏、娱乐、科研、医疗等各种领域都有广阔的发展前景。(抄自百度百科)

      简单的理解,openCL是一种规范,也是一门语言,使用它,可以调用其他处理器如GPU、FPAG、CPU等用于运行代码,代码就是openCL语言写的(在c语言的基础上增加一些特性)。本文使用openCL调用GPU运行代码。

     灰度世界算法(自动白平衡算法的一种),功能就是把摄像头的图像进行白平衡处理,代码写的比较简单,用了openCV的库打开图像。

      这里创建了两个内核函数执行代码。传输数据到显存,执行程序。结果如图

    图像的分辨率1024*768,cpu执行时间时10.6ms,gpu用了1.59ms。执行时间是取十次运行的平均值,速度还是有非常大的提升的。图像处理结果。