GPU基本常识二

DSP、CUDA、VIP7000

VIP7000:shader core是2个,每个shader core有4个寄存器文件,每个寄存器文件有128个寄存器,每个寄存器有128bit(一条指令可以处理128bit数据).

                 线程切换0开销.

                 一条指令执行完毕后,可以立刻拿到结果,没有数据延迟

CUDA:shader core数量多,但寄存器32bit.

DSP: VNW架构,指令里面的功能单元的并行,实现加速. 线程切换零开销. 指令执行需要数据延迟. 用汇编语言写.


VIP7000非常方便,一个图像分块,只需考虑一个小块图像即可. 处理一个小块图像,相当于处理一个线程.  写完一个线程配上相应的参数,自动会有驱动把整个算法分参,按照这个线程去做.

VIP7000有2个shader core, 每个shader core有4个寄存器文件,每个寄存器文件有128个寄存器,每个寄存器128bit.  写openvx程序的时候,只需要关注一个寄存器文件即可.

GPU可隐藏数据延迟,DSP开发中shader core去访问DDR,需要等待数据周期.

DSP关注点, 减少数据延迟和程序优化.

VIP7000,写一个线程,只需要关注一个寄存器文件就可以了. 如果kernel里面需要129个寄存器,则第129个寄存器需要等待。等到前128个寄存器里的数据处理完空出来,然后把第129个数放进去,同时把L1-cache里的数据加载到剩余的127个寄存器里继续使用.

VIP7000, shader core不同,驱动自动拆分,程序不用改动.

VIP7000, 浮点的加减乘除都可用指令出结果. 也可自动对图像的边界进行自动处理.

VIP7000指令集: shader指令

                            EVIS指令(24条)

指令集扩展:DSP有些功能,想把它作为指令集的加速,DSP无法进行.

                     VIP7000, 在GPU的基础上加了EVIS指令,定义指令非常方便,在指定级别的基础上进行加速.

数据管理差异: DSP 混合memory架构, L1 L2 DDR DMA Cache的一致性.

                         VIP7000, 多core的并行方式,来隐藏数据延迟. shader core共享一个L1-cache.


视觉算法,VIP7000需要,DSP需要

C、C++,  VIP7000需要,DSP需要

Opencl,VIP7000支持,DSP不支持

指令集,VIP7000(EVIS 24条指令),DSP几百条指令

并行汇编语言,VIP7000不需要,DSP需要

DMA, VIP不需要掌握,DSP需要掌握

Cache一致性,VIP7000不需要掌握,DSP需要掌握


DSP可以扩展Core, 但两个Core不独立.

对VIP7000来说,分辨率越来越高,相同程序只需要换4个Core的版本即可,而DSP需要重新推翻重来.

VIP7000串行单线程的程序架构. VIP7000硬件加速接口,客户可以自己算法固化,做成SDK的方案. DSP是很难做到的.


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值