CUDA(Compute Unified Device Architecture),通用并行计算架构,是一种运算平台,包含CUDA指令集架构以及GPU内部的并行计算引擎。
只要使用一种类似于C语言的CUDA C语言,就可以开发CUDA程序,从而可以更加方便的利用GPU强大的计算能力,而不是像以前那样先将计算任务包装成图形渲染任务,再交由GPU处理。
CUDA体系结构的组成
开发库:开发库是基于CUDA技术所提供的应用开发库。
运行期环境:运行期环境提供了应用开发接口和运行期组件,包括基本数据类型的定义和各类计算、类型转换、内存管理、设备访问和执行调度等函数。
驱动:CUDA-enable的GPU的设备抽象层,提供硬件设备的抽象访问接口。也就是需要安装有nVIDIA硬件的电脑上安装相应的驱动来实现CUDA通用运算。
CUDA(Compute Unified Device Architecture),显卡厂商NVidia推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
随着显卡的发展,GPU越来越强大,而且GPU为显示图像做了优化。在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此NVidia推出CUDA,让显卡可以用于图像计算以外的目的。
简单来讲,比如通过CUDA架构,视频播放软件可以充分挖掘NVIDIA系列显卡的GPU并行计算能力,轻松进行高清影片的播放,与软件高清解码相比,CPU占用可以下降一半以上。当然,CUDA的应用领域绝不仅仅是视频、图形、游戏,包括各种3D和建模,医疗、能源、科学研究等,到处都可见到这种技术架构的应用。
支持CUDA的硬件环境需要有NVidia GF8系列及以上型号的显卡,并且安装185版本以上的显卡驱动程序。以QQ影音播放器来讲,要想开启CUDA硬件解码加速,可以打开QQ影音的“播放器设置”,进入“高清加速”面板,在“硬件优化”中选择“自定义优化模式”,然后在“滤镜配置”中的“视频解码器”中自定义选择相应的“QQ CUDA Video Decoder(CUDADecFilter.ax)”即可。而关闭CUDA加速,只需取消选择“QQ CUDA Video Decoder(CUDADecFilter.ax)”,或者切换到“智能高清模式”或“稳定兼容模式”通过这种高清解码定义的开启,并不是说你的画质能够提升多少,而是提升高清视频播放时的流畅以及降低CPU的占用。这个时候,节约下来的CPU空间,可以允许你再去做别的工作,这样就会大大提升你的工作效率,而不至于除了看视频,其他的什么都不能做了。
CUDA是NVIDIA的一项GPU技术,实际上是变向实现CPU+GPU并行计算的一种解决方案,主要功能是进行视屏格式的转码,解码之类的工作,因为GPU的运算速度比CPU要快很多,不然游戏中的复杂画面一般CPU是带不动的
比如暴风影音里就支持CUDA的解码输出,这样在看高清时会大大降低CPU使用率,不信你找个1080P的电影44看,一次用CPU解码,一次用GPU的CUDA解码,使用率完全不一样,对游戏帧数没有影响,游戏画面的渲染是靠GPU内核的着色器数量(SP单元)和频率决定