● CUDA通用计算代表GPU发展新方向
一位ZOL博客用户告诉我,最近他在同学聚会上,与一个从事广告设计、美工制作的老朋友各自谈起自己的工作。那位同学经常策划许许多多大型的户外广告宣传活动,需要进行很多如巨型条幅,大型广告画面的设计任务,工作可谓非常的繁忙。不过虽然繁忙,他的工作时间却有绝大部分在喝茶、聊天、看报纸杂志,但是他仍然需要加班到深夜。这让他摸不着头脑,既然如此繁重的工作,为什么会出现一边效率低下、一边加班加点的情况呢?
同学的解释让他一下子明白了其中的奥秘,由于户外广告设计一个最重要特点——超大文件。他们工作时所需要处理的图片和条幅都是超乎寻常的海量文件,虽然公司几经为他们配备了性能非常优秀的电脑来进行处理,但是,由于文件的容量太大,仅仅一个简单的渲染过程就要等待半个小时甚至最长长达5个小时。导致我这位可怜的同学一天下来,仅仅能够进行简单的几部操作,而剩下的事情几乎全部是坐在电脑前等待……
NVIDIA和AMD两家公司都意识到了通用计算的重要性
这种悲惨局面的造成其实是一个非常重要的原因,那就是在我们的工作中,对于这种大型的运算、我们的软件仍然在过分的依赖着CPU处理器。而GPU通用计算的出现,正在改变这种现状,借助一款中端显卡,我们就能实现很多原来CPU非常难以处理的工作。
CUDA是NVIDIA公司于2007年推出的GPU通用计算产品。CUDA是Compute Unified Device Architecture(统一计算架构)的简称,是建立在GPU基础之上的通用计算开发平台,它是一个全新的软硬件架构,可以将GPU视为一个并行数据计算的设备,对所进行的计算进行分配和管理。利用CUDA能够充分的将GPU的高计算能力开发出来,并使得GPU的计算能力获得更多的应用。
CUDA最为关键也最受推崇的原因很简单——它是业界第一款不需要图形学API就能使用类C语言进行通用计算的开发环境和软件体系。这大大增强了CUDA的普及速度和普及成本。
CUDA能够有效利用GPU强劲的处理能力和巨大的存储器带宽进行图形渲染以外的计算,广泛应用于图像处理、视频传播、信号处理、人工智能、模式识别、金融分析、数值计算、石油勘探、天文计算、流体力学、生物计算、分子动力学计算、数据库管理、编码加密等领域,并在这些领域中对CPU获得了一到两个数量级的加速。取得了令人瞩目的成绩。
CUDA从发布开始,到目前已经到了3.0版,从NVIDIA提出CUDA这个概念,已经有三年多时间,在这一年时间里CUDA发展迅速,在NVIDIA CUDA网站上每天都有很多网友提交自己的CUDA软件作品。
在轻量级的小软件中,CUDA已经如雨后春笋般的涌现,从IE图象插件PICLENS,到PHOTOSHOP CS4 开始支持CUDA的插件。视频编码解码是CUDA发展最迅速的方面之一,目前已经有大量的软件开始支持CUDA GPU加速,同时支持CUDA应用大型软件也出现了不少。