李国帅 从网络收集的内容并整理

2012/7/31 9:05:27


概念

CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。

开发人员现在可以使用C语言来为CUDA架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA的处理器上以超高性能运行。将来还会支持其它语言,包括FORTRAN以及C++。

可以看到,CUDA真正意义上来说是一种通用并行计算架构,但又包含了CUDA指令集架构和GPU内部的并行计算引擎。就如同CPU的情况一样,X86的架构也包含ISA和执行指令的硬件架构。各种应用程序都基于这个架构进行开发并在此上运行。可以说CUDA架构的GPU是图形渲染架构与并行计算架构的合体!

Geforce8以上的显卡支持CUDA支持。CUDA在2005年发布第一个版本。


特点

CUDA的最大好处就是可以配合MADVR渲染器

N卡的CUDA启用后,右下角的CoreAVC 图标是绿色的。

CUDA解码技术正式推出,GPU高清视频解码步入了流处理器解码时代,和以往任何解码技术都不同,CUDA解码技术直接调用GPU中的流处理器进行解码运算,而之前一直是调用GPU中相应的专用视频解码模块


CUDA硬件解码和DXVA硬件加速的比较

DXVA不能解的,CUDA才有优势。如果是大家都能解的,例如CHD的AVC1,CUDA只有劣势:

1.更费电,虽然只是一点点;

2.适用人群更窄,N卡Only

CUDA解码主要是兼容性强,设置和使用方便

DXVA会经常碰到兼容性问题,有时还有加载字幕、音频和字幕不同步等现象,CUDA这方面表现不错,而且跟纯软解在操作上和画质上都无区别,DXVA硬解有时在播放器中调整色度、亮度、对比度等不起作用。

DXVA2加速解码器解码之后,需要使用EVR进行渲染,而不能使用VMR。

使用DXVA加速,不能使用“Print Screen SysRq”将整个屏幕截图。

如果使用coreavc+cuda是不是就不需要使用evr+dxva了?

搜索这两个方面关于编程方面的信息,就会有所收获。

cuda使用的是gpu的计算单元进行解码,相当于使用显卡的计算能力进行软解码。

dxva直接使用显卡的图像解码模块进行解码。