GPU与DSP薄见

GPU与DSP薄见  2010-09-18 11:14
分享到:

     开题报告是基于并行计算(多处理器并行)的视频处理。选的是TI公司的高性能DSP TMS320C6455,为的是SRIO。

     希望加点创新点,于是把GPU和CUDA引入。但是也不知道怎么把GPU与DSP杂糅在一起。好在学校一个已毕业的师兄,现在GPU圈子里略有小成,昨要去美帝开会,路过北京,被“劫”来做个讲座——GPU与高性能计算。

     其实,之前NVIDIA公司的工程师也来做过讲座,不过跟工程师谈,心理上还是有差距的。而且,我更感觉那像一个产品介绍会...

 

     GPU的运算速度、吞吐量的确是相当赞的,DSP与之比起来,显得较古老。但是,DSP有些是GPU做不到的。

       先说网上传的一些区别。

       (1)GPU只支持浮点运算,DSP可以支持整数运算。  

        这个。。。我倒觉得不是差距吧。。。

       (2)GPU支持矢量计算,DSP支持向量计算。      

         跟他们的工程师谈了,确切得说,这两个概念界限很模糊,他们在应用中也很少考虑。而且,他们给我的解释,也让我云里雾里的。我估计是他们对矢量计算和向量计算还不够理解,但是这帮不理解的人都能做,我还用理解吗?!

 

         谈一下自己问来的区别。

        (1)没有人能自己买到GPU的片子,自己做板子。

        因为NVIDIA公司不对外开放自己的GPU产品。所以这些工程师大多也是软件层面的。直接拿着公司的“显卡”,去给客户的系统升级。

       (2)GPU应用在超级计算机中,大多每个GPU会和一个CPU组成一个模块(能称cluster吗?),即CPU+GPU,通过PCIE通信。这和咱们的电脑差不多了。那么集群后,每个CPU+GPU模块之间又是可以通过网线通信。这个...听起来就简单了,分布式控制啊。

        DSP不同,多DSP并行之间的传输方式有很多,上面讲到SRIO就是其中一种。所以,如果指望在一块板子上集成多个处理器,还是别指望GPU了。

        (3)网上人问GPU里有多少个shader,乍一听,还以为shader是硬件。其实,只是一个库函数吧。但是,网上也有人指出,那些人其实是指shader处理器,似乎又是硬件了。

         抱着这个问题,专门问了师兄,是不是GPU里有专门的shader硬件,或者是把众核的GPU里的核分成好几组,其中一组叫shader。

         答案是NO。其实每个核都可以叫shader。因为GPU通常是做一些简单、重复的计算,shader函数也是具有如此特点,那么调用这些核做渲染,这些核自然可以叫做shader了。

        我还是不明白。于是举个例子,C任务中包含A、B两个并行任务,A、B本质不同,是否可以在一块GPU的片子里同时进行两个任务呢?

        答案还是NO。 工程师在开发时,会有意避免出现类似问题。

        那也就是说,对于一块GPU,拆分任务时,还是串行的思维。只不过串行中的某部分细节计算,这部分细节计算又是简单而且重复量很大的,就用GPU的很多核并行处理了。

        这是与DSP的大不同!手工编写代码时,DSP的某个计算单元,还是能够控制的,也就是说,DSP能同时处理上面例子中的A、B任务。

         而GPU中的核,不能单独控制。我倒希望以后发展到能单独控制。不过如果真的有了这个技术,GPU这小小的片子,还能放下那么多核吗?

 

        所以,在毕设中,可以在任务拆分中,比较GPU与DSP。那么再加上计算速度,综合分析一下,就OK了。

 

        顺便说下OpenGL与CUDA。如果处理整幅图像的话,用OpenGL;如果分成块儿的话,用CUDA。例如,求一幅图的二值化,OpenGL更适宜。如果把这些二值化统计一下的话,就用CUDA吧。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值