绝对支持NVIDIA 的CUDA技术(1)
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员现在可以使用C语言来为CUDA™架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA™的处理器上以超高性能运行。 将来还会支持其它语言,包括FORTRAN以及C++。
目前,支持CUDA的GPU销量已逾1亿,数以千计的软件开发人员正在使用免费的CUDA软件开发工具来解决各种专业以及家用应用程序中的问题。这些应用程序从视频与音频处理和物理效果模拟到石油天然气勘探、产品设计、医学成像以及科学研究,涵盖了各个领域。 目前市面上已经部署了超过一亿颗支持CUDA的GPU,数以千计的软件开发人员正在使用免费的CUDA软件工具来为各种应用程序加速。
CUDA技术特点
用于GPU并行应用开发的标准C语言 快速傅里叶转换(FFT)以及基本线性代数子程序(BLAS)的标准数字库 专用CUDA驱动器,用于GPU和CPU之间快速数据传输计算 CUDA驱动程序与OpenGL和DirectX图形驱动程序可以实现互操作 支持Linux 32/64位,Windows XP 32/64位以及Mac 操作系统
1.NVIDIA CUDA技术的发展,是GPU彻底的解放。以前GPU往往限制在处理单一图形图像的信息。但是CUDE的出现,使GPU有翻天覆地的变化,至今CUDE技术不仅运用在家用机器上面,而在运用在领域。
例子:
1.高光谱图像压缩的NVIDIA GPU
高光谱成像仪器能够收集数百个图像,相应的不同波长的渠道,对同一地区的地球表面。例如,美国航天局正在不断收集图像数据与文书,如喷气推进实验室的机载可见光,红外成像光谱仪( AVIRIS ) ,能够记录的可见光和近红外光谱(波长区域从0.4到2.5微米)的反射光一个地区2日至12公里宽和几公里长,使用224谱带。由此产生的多层面的数据量通常包括若干金紫荆星章,每飞行。我们已经开发出一种高效率的计算方法,有损压缩的高光谱遥感图像,保留了有关资料分析,高光谱数据与亚像素精度。拟议的方法已得到执行,使用统一计算设备架构( CUDA技术) ,对NVIDIA的GeForce 8800 GTX图形处理器,实现speedups的顺序26x相比,一个优化的执行相同的代码在一个双核CPU 。
2.稀疏矩阵向量GPU的产品
稀疏矩阵向量的产品( SpMV )是至高无上的行动中的工程和科学计算,因此,一直是话题的长期研究。不规则计算参与SpMV使其优化有挑战性。因此,巨大的努力一直致力于制定数据格式来存储稀疏矩阵的最终目的是最大限度地发挥效能。在图形处理单元( GPU )最近成为优秀的平台,产量加速因素。目前, SpMV实现对NVIDIA - GPU的已经出现在现场。这方面的工作建议和评价一个新的执行SpMV对GPU的基础上一个新的矩阵存储格式,所谓ELLPACK - R的,并比较它反对各种形式提出的其他地方。最重要的素质,这种新格式是: ( 1 )没有预处理的稀疏矩阵的需要,和( 2 )所产生的SpMV算法是非常正常。比较评价这一新的SpMV方法进行了基于一批有代表性的测试矩阵。结果表明, SpMV做法的基础上ELLPACK - R的结果要优于以往战略迄今所使用。此外,与标准的国家,最先进的超标量处理器表明,显着加速的因素所取得的GPU 。 |