CUDA如何应用在视频解码 ?

mkfishernma 2009-11-10 01:45:50
NVIDA现在提出的视频解码加速 ,是不是利用的CUDA的软解码 ,而非之前的硬件解码 。
这里有个问题, 个人理解 ,视频解码抽象的话,可以理解为1个数据转换的的过程。
假设数据转换的过程理解为两个部分: 1,Bit流解码 ;2 ,数据转化为可视数据(简单的讲,如DCT转换,将1中解码出的数据通过频域与色域之间的计算转换,转换为最终输出的数据) 。
我们知道,GPU的主要设计目标是以大量线程实现面向吞吐量的数据并行计算,适合于处理计算密度高,逻辑分支简单的大规模数据并行任务。
从CUDA的并行计算局限性可知,它对于逻辑处理较为复杂的部分应该用处不大,所以个人理解Bit流解码部分,应该是仍交由CPU进行串行处理。
并行计算应该主要用在数据转换为可视数据部分(如DCT转换等) 。因为此时的数据之间没有相关性,并行计算才有可能实施。

但从数据量来,Bit流解码部分交给CPU进行,会导致内存与显存之间的数据交换量很大。这里会形成I/O瓶颈。难道CUDA 部分可以实现Bit流解码功能?如果是这样,如何实现?

没有相关的资料可以查阅 ,望相关领域的人士能够解惑 。
...全文
248 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
mkfishernma 2009-11-12
  • 打赏
  • 举报
回复
楼上的意思是Kernel程序实现Bit流解码部分,虽然并行性很差,但是与I/O墙比较起来,还是利大于弊的。
有个问题:Bit流解码部分,是不是可以由GPU上的硬件实现 。对nvidia开发成本上来说,几乎没有增加。但如此而来兼容性就比较差了。
个人觉得Kernrl程序实现Bit流解码部分,和并行部分,还是可能性更大 。
  • 打赏
  • 举报
回复
[Quote=引用楼主 mkfishernma 的回复:]
从CUDA的并行计算局限性可知,它对于逻辑处理较为复杂的部分应该用处不大,所以个人理解Bit流解码部分,应该是仍交由CPU进行串行处理。
[/Quote]

不等于不能实现,就看LZ如何平衡计算和I/O了.

581

社区成员

发帖
与我相关
我的任务
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
  • CUDA编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧