第二期有奖讨论:CUDA你知道多少

支持一下

CUDA(Compute Unified Device Architecture),显卡厂商NVidia推出的运算平台。
随着显卡的发展,GPU越来越强大,而且GPU为显示图像做了优化。在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此N卡厂商推出CUDA,让显卡可以用于图像计算以外的目的。
目前只有G80平台的N卡才能使用CUDA,工具集的核心是一个C语言编译器。G80中拥有128个单独的ALU,因此非常适合并行计算,而且数值计算的速度远远优于CPU。
CUDA的SDK中的编译器和开发平台支持Windows、Linux系统,可以与Visual Studio2003集成在一起。
目前这项技术处在起步阶段,仅支持32位系统,编译器不支持双精度数据等问题要在晚些时候解决。当然还有就是Geforce8系列显卡高昂的价格问题了。
CUDA(Compute Unified Device Architecture)是一个新的基础架构,这个架构可以使用GPU来解决商业、工业以及科学方面的复杂计算问题。它是一个完整的GPGPU解决方案,提供了硬件的直接访问接口,而不必像传统方式一样必须依赖图形API接口来实现GPU的访问。在架构上采用了一种全新的计算体系结构来使用GPU提供的硬件资源,从而给大规模的数据计算应用提供了一种比CPU更加强大的计算能力。CUDA采用C语言作为编程语言提供大量的高性能计算指令开发能力,使开发者能够在GPU的强大计算能力的基础上建立起一种效率更高的密集数据计算解决方案。
从CUDA体系结构的组成来说,包含了三个部分:开发库、运行期环境和驱动(表2)。
开发库是基于CUDA技术所提供的应用开发库。目前CUDA的1.1版提供了两个标准的数学运算库——CUFFT(离散快速傅立叶变换)和CUBLAS(离散基本线性计算)的实现。这两个数学运算库所解决的是典型的大规模的并行计算问题,也是在密集数据计算中非常常见的计算类型。开发人员在开发库的基础上可以快速、方便的建立起自己的计算应用。此外,开发人员也可以在CUDA的技术基础上实现出更多的开发库。

CUDA(Compute Unified Device Architecture),显卡厂商NVidia推出的运算平台。 CUDA的出现,使一直孤军奋战的CPU终于有了工作伙伴,提高运行速度不再是无限压榨CPU的最高速度,在几百个辛勤的“小弟”的帮助下,CPU从抹桌洗碗的孤单打工族,摇身一变成了部门总管,哪里有工作,指挥小弟们一拥而上。有了CUDA,几乎已到极限的运行速度再提高几百倍不是梦,计算机业似乎踏入了一个全新的领域。
但对于这种速度的提升,前途却不是那么坦荡,开发人员现在可以用C语言编写程序,利用GPU来协助CPU处理数据,听起来似乎万事俱备,但其复杂度却不是C语言编写程序可比的,CUDA编程语言几百页的说明要烂熟于心,这已经不是易事,缺乏专业的开发工具,使编程的第一步难上加难,不管是WINDOWS还是LINUX,在安装了对应的驱动,SDK,工具包之后,还要配合别的软件以及修改N多注册表项,一个字节的修改错误导致的出错提示,让初学者们已经搜尽百度。高手们不断的写出模式包,安装教程,说明,却又被软件版本不断淘洗,某个模式包对应某个版本,某种修改对应某个版本的工具包……
用CUDA编写程序时,又被各种数字的乘法搞晕,栅格中的几行几列,乘以几加几,全部要用编程员的大脑计算,检验起来更是头大如斗,从LOCAL到SHARED,各种不同的缓存速度又不同,可以处理的数据也不同……
开发环境的简化,需要大量程序员的努力,但这种大量努力的前提,是GPU技术的需求性的提高。利用GPU提高运算速度是可行的,但必须是大量单调却统一的计算工作,再分配给所有GPU并发执行,所以提速几百倍只限于一部分工作,而且需要很好的统筹安排,这也要耗费CPU的传统能力和程序员的脑细胞。
然而目前来讲,GPU并不是电脑的“制式武器”,只有NVIDIA的显卡支持此种技术,这使得有些初学者不得不用CPU来模拟GPU的功能,性能方面的数据完全无法参考。打开市场,让NVIDIA显卡成为电脑内必要的组成部分,成了一切进展的前提,由此推断,NVIDIA与两大CPU厂商合作,使其集成在主板上的可能性是很高的,也有可能与笔记本厂商合作,使大部分笔记本带有NVIDIA的显卡,使之有CUDA开发的可能。

感觉大家的知识都好丰富哦。下面是我的看法:
CUDA(Compute Unified Device Architecture)是一个新的基础架构,这个架构可以使用GPU来解决商业、工业以及科学方面的复杂计算问题。它是一个完整的GPGPU解决方案,提供了硬件的直接访问接口,而不必像传统方式一样必须依赖图形API接口来实现GPU的访问。在架构上采用了一种全新的计算体系结构来使用GPU提供的硬件资源,从而给大规模的数据计算应用提供了一种比CPU更加强大的计算能力。CUDA采用C语言作为编程语言提供大量的高性能计算指令开发能力,使开发者能够在GPU的强大计算能力的基础上建立起一种效率更高的密集数据计算解决方案。
从CUDA体系结构的组成来说,包含了三个部分:开发库、运行期环境和驱动(表2)。
开发库是基于CUDA技术所提供的应用开发库。目前CUDA的1.1版提供了两个标准的数学运算库——CUFFT(离散快速傅立叶变换)和CUBLAS(离散基本线性计算)的实现。这两个数学运算库所解决的是典型的大规模的并行计算问题,也是在密集数据计算中非常常见的计算类型。开发人员在开发库的基础上可以快速、方便的建立起自己的计算应用。此外,开发人员也可以在CUDA的技术基础上实现出更多的开发库。
CUDA™ 工具包是一种针对支持CUDA功能的GPU(图形处理器)的C语言开发环境。CUDA开发环境包括:
· nvcc C语言编译器
· 适用于GPU(图形处理器)的CUDA FFT和BLAS库
· 分析器
· 适用于GPU(图形处理器)的gdb调试器(在2008年3月推出alpha版)
· CUDA运行时(CUDA runtime)驱动程序(目前在标准的NVIDIA GPU驱动中也提供)
· CUDA编程手册
CUDA开发者软件开发包(SDK)提供了一些范例(附有源代码),以帮助使用者开始CUDA编程。这些范例包括:
· 并行双调排序
· 矩阵乘法
· 矩阵转置
· 利用计时器进行性能评价
· 并行大数组的前缀和(扫描)
· 图像卷积
· 使用Haar小波的一维DWT
· OpenGL和Direct3D图形互操作示例
· CUDA BLAS和FFT库的使用示例
· CPU-GPU C—和C++—代码集成
· 二项式期权定价模型
· Black-Scholes期权定价模型
· Monte-Carlo期权定价模型
· 并行Mersenne Twister(随机数生成)
· 并行直方图
· 图像去噪
· Sobel边缘检测滤波器
· MathWorks MATLAB® 插件 (点击这里下载)
新的基于1.1版CUDA的SDK 范例现在也已经发布了。要查看完整的列表、下载代码,请点击此处。
技术功能
· 在GPU(图形处理器)上提供标准C编程语言
· 为在支持CUDA的NVIDIA GPU(图形处理器)上进行并行计算而提供了统一的软硬件解决方案
· CUDA兼容的GPU(图形处理器)包括很多:从低功耗的笔记本上用的GPU到高性能的,多GPU的系统。
· 支持CUDA的GPU(图形处理器)支持并行数据缓存和线程执行管理器
· 标准FFT(快速傅立叶变换)和BLAS(基本线性代数子程序)数值程序库
· 针对计算的专用CUDA驱动
· 经过优化的,从中央处理器(CPU)到支持CUDA的GPU(图形处理器)的直接上传、下载通道
· CUDA驱动可与OpenGL和DirectX图形驱动程序实现互操作
· 支持Linux 32位/64位以及Windows XP 32位/64位 操作系统
· 为了研究以及开发语言的目的,CUDA提供对驱动程序的直接访问,以及汇编语言级的访问

CUDA(Compute Unified Device Architecture)
从CUDA体系结构的组成来说,包含了三个部分:开发库、运行期环境和驱动。开发库是基于CUDA技术所提供的应用开发库。目前CUDA的1.1版提供了两个标准的数学运算库——CUFFT(离散快速傅立叶变换)和CUBLAS(离散基本线性计算)的实现。这两个数学运算库所解决的是典型的大规模的并行计算问题,也是在密集数据计算中非常常见的计算类型。开发人员在开发库的基础上可以快速、方便的建立起自己的计算应用。此外,开发人员也可以在CUDA的技术基础上实现出更多的开发库。
运行期环境提供了应用开发接口和运行期组件,包括基本数据类型的定义和各类计算、类型转换、内存管理、设备访问和执行调度等函数。基于CUDA开发的程序代码在实际执行中分为两种,一种是运行在CPU上的宿主代码(Host Code),一种是运行在GPU上的设备代码(Device Code)。不同类型的代码由于其运行的物理位置不同,能够访问到的资源不同,因此对应的运行期组件也分为公共组件、宿主组件和设备组件三个部分,基本上囊括了所有在GPGPU开发中所需要的功能和能够使用到的资源接口,开发人员可以通过运行期环境的编程接口实现各种类型的计算。
由于目前存在着多种GPU版本的NVIDIA显卡,不同版本的GPU之间都有不同的差异,因此驱动部分基本上可以理解为是CUDA-enable的GPU的设备抽象层,提供硬件设备的抽象访问接口。CUDA提供运行期环境也是通过这一层来实现各种功能的。目前基于CUDA开发的应用必须有NVIDIA CUDA-enable的硬件支持,NVIDIA公司GPU运算事业部总经理Andy Keane在一次活动中表示:一个充满生命力的技术平台应该是开放的,CUDA未来也会向这个方向发展。由于CUDA的体系结构中有硬件抽象层的存在,因此今后也有可能发展成为一个通用的GPGPU标准接口,兼容不同厂商的GPU产品
CUDA的出现,使一直孤军奋战的CPU终于有了工作伙伴,提高运行速度不再是无限压榨CPU的最高速度,在几百个辛勤的“小弟”的帮助下,CPU从抹桌洗碗的孤单打工族,摇身一变成了部门总管,哪里有工作,指挥小弟们一拥而上。有了CUDA,几乎已到极限的运行速度再提高几百倍不是梦,计算机业似乎踏入了一个全新的领域。
但对于这种速度的提升,前途却不是那么坦荡,开发人员现在可以用C语言编写程序,利用GPU来协助CPU处理数据,听起来似乎万事俱备,但其复杂度却不是C语言编写程序可比的,CUDA编程语言几百页的说明要烂熟于心,这已经不是易事,缺乏专业的开发工具,使编程的第一步难上加难,不管是WINDOWS还是LINUX,在安装了对应的驱动,SDK,工具包之后,还要配合别的软件以及修改N多注册表项,一个字节的修改错误导致的出错提示,让初学者们已经搜尽百度。高手们不断的写出模式包,安装教程,说明,却又被软件版本不断淘洗,某个模式包对应某个版本,某种修改对应某个版本的工具包……
用CUDA编写程序时,又被各种数字的乘法搞晕,栅格中的几行几列,乘以几加几,全部要用编程员的大脑计算,检验起来更是头大如斗,从LOCAL到SHARED,各种不同的缓存速度又不同,可以处理的数据也不同……
开发环境的简化,需要大量程序员的努力,但这种大量努力的前提,是GPU技术的需求性的提高。利用GPU提高运算速度是可行的,但必须是大量单调却统一的计算工作,再分配给所有GPU并发执行,所以提速几百倍只限于一部分工作,而且需要很好的统筹安排,这也要耗费CPU的传统能力和程序员的脑细胞。
然而目前来讲,GPU并不是电脑的“制式武器”,只有NVIDIA的显卡支持此种技术,这使得有些初学者不得不用CPU来模拟GPU的功能,性能方面的数据完全无法参考。打开市场,让NVIDIA显卡成为电脑内必要的组成部分,成了一切进展的前提,由此推断,NVIDIA与两大CPU厂商合作,使其集成在主板上的可能性是很高的,也有可能与笔记本厂商合作,使大部分笔记本带有NVIDIA的显卡,使之有CUDA开发的可能。
总而言之,提高市场占有度,才能提高CUDA开发的可能性和必要性,需求量有了,才能推动开发环境的简化,编程员们才能更快的使用GPU进行大规模的软件开发。

CUDA(Compute Unified Device Architecture)是一个新的基础架构,这个架构可以使用GPU来解决商业、工业以及科学方面的复杂计算问题。它是一个完整的GPGPU解决方案,提供了硬件的直接访问接口,而不必像传统方式一样必须依赖图形API接口来实现GPU的访问。在架构上采用了一种全新的计算体系结构来使用GPU提供的硬件资源,从而给大规模的数据计算应用提供了一种比CPU更加强大的计算能力。CUDA采用C语言作为编程语言提供大量的高性能计算指令开发能力,使开发者能够在GPU的强大计算能力的基础上建立起一种效率更高的密集数据计算解决方案。
从CUDA体系结构的组成来说,包含了三个部分:开发库、运行期环境和驱动(表2)。
开发库是基于CUDA技术所提供的应用开发库。目前CUDA的1.1版提供了两个标准的数学运算库——CUFFT(离散快速傅立叶变换)和CUBLAS(离散基本线性计算)的实现。这两个数学运算库所解决的是典型的大规模的并行计算问题,也是在密集数据计算中非常常见的计算类型。开发人员在开发库的基础上可以快速、方便的建立起自己的计算应用。此外,开发人员也可以在CUDA的技术基础上实现出更多的开发库。
运行期环境提供了应用开发接口和运行期组件,包括基本数据类型的定义和各类计算、类型转换、内存管理、设备访问和执行调度等函数。基于CUDA开发的程序代码在实际执行中分为两种,一种是运行在CPU上的宿主代码(Host Code),一种是运行在GPU上的设备代码(Device Code)。不同类型的代码由于其运行的物理位置不同,能够访问到的资源不同,因此对应的运行期组件也分为公共组件、宿主组件和设备组件三个部分,基本上囊括了所有在GPGPU开发中所需要的功能和能够使用到的资源接口,开发人员可以通过运行期环境的编程接口实现各种类型的计算。
由于目前存在着多种GPU版本的NVIDIA显卡,不同版本的GPU之间都有不同的差异,因此驱动部分基本上可以理解为是CUDA-enable的GPU的设备抽象层,提供硬件设备的抽象访问接口。CUDA提供运行期环境也是通过这一层来实现各种功能的。目前基于CUDA开发的应用必须有NVIDIA CUDA-enable的硬件支持,NVIDIA公司GPU运算事业部总经理Andy Keane在一次活动中表示:一个充满生命力的技术平台应该是开放的,CUDA未来也会向这个方向发展。由于CUDA的体系结构中有硬件抽象层的存在,因此今后也有可能发展成为一个通用的GPGPU标准接口,兼容不同厂商的GPU产品

CUDA 是Compute Unified Device Architecture的缩写。显卡厂商NVidia推出的运算平台。
随着显卡的发展,GPU越来越强大,而且GPU为显示图像做了优化。在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此N卡厂商推出CUDA,让显卡可以用于图像计算以外的目的。
目前只有G80平台的N卡才能使用CUDA,工具集的核心是一个C语言编译器。G80中拥有128个单独的ALU,因此非常适合并行计算,而且数值计算的速度远远优于CPU。
仅知道这些。其它的暂时还不了解。

CUDA 的核心有三个重要抽象概念: 线程组层次结构、共享存储器、屏蔽同步( barrier
synchronization),可轻松将其作为C 语言的最小扩展级公开给程序员。
CUDA是用于GPU计算的开发环境,它是一个全新的软硬件架构,可以将GPU视为一个并行数据计算的设备,对所进行的计算进行分配和管理。在CUDA的架构中,这些计算不再像过去所谓的GPGPU架构那样必须将计算映射到图形 API(OpenGL和Direct 3D)中,因此对于开发者来说,CUDA的开发门槛大大降低了。CUDA的GPU编程语言基于标准的C语言,因此任何有C语言基础的用户都很容易地开发 CUDA的应用程序。
由于GPU的特点是处理密集型数据和并行数据计算,因此CUDA非常适合需要大规模并行计算的领域。目前CUDA除了可以用C语言开发,也已经提供FORTRAN的应用接口,未来可以预计CUDA会支持C++、Java、Python等各类语言。可广泛的应用在图形动画、科学计算、地质、生物、物理模拟等领域。

CUDA(Compute Unified Device Architecture)是一个新的基础架构,这个架构可以使用GPU来解决商业、工业以及科学方面的复杂计算问题。它是一个完整的GPGPU解决方案,提供了硬件的直接访问接口,而不必像传统方式一样必须依赖图形API接口来实现GPU的访问。在架构上采用了一种全新的计算体系结构来使用GPU提供的硬件资源,从而给大规模的数据计算应用提供了一种比CPU更加强大的计算能力。CUDA采用C语言作为编程语言提供大量的高性能计算指令开发能力,使开发者能够在GPU的强大计算能力的基础上建立起一种效率更高的密集数据计算解决方案。
CUDA™ 工具包是一种针对支持CUDA功能的GPU(图形处理器)的C语言开发环境。CUDA开发环境包括:
· nvcc C语言编译器
· 适用于GPU(图形处理器)的CUDA FFT和BLAS库
· 分析器
· 适用于GPU(图形处理器)的gdb调试器(在2008年3月推出alpha版)
· CUDA运行时(CUDA runtime)驱动程序(目前在标准的NVIDIA GPU驱动中也提供)
· CUDA编程手册
CUDA开发者软件开发包(SDK)提供了一些范例(附有源代码),以帮助使用者开始CUDA编程。这些范例包括:
· 并行双调排序
· 矩阵乘法
· 矩阵转置
· 利用计时器进行性能评价
· 并行大数组的前缀和(扫描)
· 图像卷积
· 使用Haar小波的一维DWT
· OpenGL和Direct3D图形互操作示例
· CUDA BLAS和FFT库的使用示例
· CPU-GPU C—和C++—代码集成
· 二项式期权定价模型
· Black-Scholes期权定价模型
· Monte-Carlo期权定价模型
· 并行Mersenne Twister(随机数生成)
· 并行直方图
· 图像去噪
· Sobel边缘检测滤波器
· MathWorks MATLAB® 插件 (点击这里下载)
新的基于1.1版CUDA的SDK 范例现在也已经发布了。要查看完整的列表、下载代码,请点击此处。
技术功能
· 在GPU(图形处理器)上提供标准C编程语言
· 为在支持CUDA的NVIDIA GPU(图形处理器)上进行并行计算而提供了统一的软硬件解决方案
· CUDA兼容的GPU(图形处理器)包括很多:从低功耗的笔记本上用的GPU到高性能的,多GPU的系统。
· 支持CUDA的GPU(图形处理器)支持并行数据缓存和线程执行管理器
· 标准FFT(快速傅立叶变换)和BLAS(基本线性代数子程序)数值程序库
· 针对计算的专用CUDA驱动
· 经过优化的,从中央处理器(CPU)到支持CUDA的GPU(图形处理器)的直接上传、下载通道
· CUDA驱动可与OpenGL和DirectX图形驱动程序实现互操作
· 支持Linux 32位/64位以及Windows XP 32位/64位 操作系统
· 为了研究以及开发语言的目的,CUDA提供对驱动程序的直接访问,以及汇编语言级的访问

CUDA(Compute Unified Device Architecture)它主要利用多线程的并行能力提高运算效率的,因为目前intel的处理器最高支持并行128个线程,但对采用GPU而言,通过多线程并行太轻松了。其实目前的并行计算有好多厂家提出,只不过是由于cuda架构支持C语言,所以才被人们更容易掌握。目前采用GPU还有很长的路要走,包括数据的处理准确性和开发技术。去年参加Yocself论坛,有一个学者提出采用cuda架构,利用GPU运算时数据是不正确的,amd技术总监也没给出一个解释,只是说目前还有很大不足,相信会慢慢解决。cuda的出现,跟我们一个启示就是以后cpu多核不会一直走下去的,肯定会是多核加平台加速的路线。
从CUDA体系结构的组成来说,包含了三个部分:开发库、运行期环境和驱动

CUDA(Compute Unified Device Architecture);
CUDA特别适用于中等粒度的并行计算,比较适合的领域包括:有限元,信号处理,神经网络以及人工智能。
开头所说的用于病毒扫描,我觉得更合适的说法是病毒特征码扫描,很适合CUDA的场景(这个其实和GFW差不多,GFW今后可能是CUDA单一的最大用户)
另外,人工智能更是CUDA的大好应用场景(NVidia应该利用CUDA编写国际象棋程序,一台至强,配4张NVidia的加速卡,性能应该可以深蓝叫板)
另外,数据库服务器和搜索引擎,我觉得可以用CUDA的概念进行一下改造,或许有更好的性能。

CUDA某种意义上类似超并行机(但是每个CPU的性能都比较弱)

什么是CUDA?

使 用了CUDA的GPU计算通过标准的C语言将下一代NV GPU的总多计算特性结合到一起。在这之前的GPU是基于“流式着色程序”的,CUDA则使用C语言,通过“线程”来创建应用程序,这类似于CPU上的多 线程程序。相比较于仅能有很少线程同时工作的多核CPU的而言,NV GPU的特性可以让CUDA同时执行数千个线程,这将令我们的应用能处理更多的信息流。

CUDA所提供的最重要的创新在于,它使得 工作在GPU上的线程可以协作解决问题。在线程间通讯实现以后,CUDA将允许应用程序更加高效的执行。由NV GPUs的支持,CUDA有一个直接在GPU上的并行计算缓存,它用于保存频繁使用的信息。在GPU上保存信息可以让计算线程即刻得到共享数据而不是去漫 长的等待off-chip的DRAM上的数据。它能让用户实时的计算出复杂问题的答案。

CUDA(Compute Unified Device Architecture),是显卡厂商NVidia推出的运算平台。
随着显卡的发展,GPU越来越强大,而且GPU为显示图像做了优化,在计算上已经超越了通用的CPU,如此强大的芯片如果只是作为显卡就太浪费了,因此NVidia推出CUDA,让显卡可以用于图像计算以外的目的。
由于GPU的特点是处理密集型数据和并行数据计算,因此CUDA非常适合需要大规模并行计算的领域,目前CUDA除了可以用C语言开发,也已经提供FORTRAN的应用接口,未来可以预计CUDA会支持C++、Java、Python等各类语言,可广泛的应用在图形动画、科学计算、地质、生物、物理模拟等领域。

CUDA是NVIDIA近来力推的东西,简单的说,CUDA可以认为是一种以C语言为基础的平台,主要是利用显卡强大的浮点运算能力来完成以往需要CPU才可以完成的任务。CPU的特点是什么都能干,但不够专,运算能力不高,而显卡则很专,专门运算图形方面的浮点运算,能力比CPU强10倍以上。但显卡的应用范围狭窄,所以NVIDIA为了让它的显卡在电脑中有更高的地位,就搞了这么个CUDA。
想用CUDA,必须是NVIDIA的显卡,而且要是GEFORCE 8以后的显卡。平常没什么用,只是在转换视频格式,以及看高清时有点作用。暂时CUDA的作用范围仍然比较狭窄,就看NVIDIA能把它如何发展了。

CUDA(Compute Unified Device Architecture),显卡厂商NVidia推出的运算平台。

攒分,嘿嘿…

[

拜托各位大大,我只是个没入门的初学者,随笔一写,错误连篇,拜托各位不要再复制了,找点管方说明复制一下吧,我写的只是入门艰难的一大堆抱怨,只要会CUDA编程的都能看出来N多错误和不准确

CUDA是什麼還不是太清楚,NVIDIA希望跟INTEL分一杯羹,不知道有沒有這個實力。

不過即然NVIDIA Quadro在《2012》裡有那麼好的表現,拭目以待吧!

NVIDIA和软件厂商Elemental Technologies合作推出基于CUDA架构的BadaBOOM Media Converter视频编码软件,一直以来显卡都是用来进行视频编码的解码操作,而CUDA(Compute Unified Device Architecture)术让显卡走向了通用计算的康庄大道。Elemental Tech的Sam Blackman声称编码一部2小时左右的高清视频,用一颗3G的四核Intel CPU(市价2000以上)需要5小时,而用一块不到1000块的9600GT只需50分钟,速度几乎是CPU的5倍。

NVIDIA近日正大解秘了NVIDIA CUDA 技术,这项技术是NVIDIA为其图形处理器(GPU)而特别开发的,这项技术开创了业内为GPU提供C语音开发环境的先河。这项技术能让GPU的芯片核心同步协调地进行计算,速度可提升为传统方式的100倍。

实际上NVIDIA已经在即将上市的GeForce 8800显卡上应用了这项技术。

CUDA™ 工具包是一种针对支持CUDA功能的GPU(图形处理器)的C语言开发环境。CUDA开发环境包括:
· nvcc C语言编译器
· 适用于GPU(图形处理器)的CUDA FFT和BLAS库
· 分析器
· 适用于GPU(图形处理器)的gdb调试器(在2008年3月推出alpha版)
· CUDA运行时(CUDA runtime)驱动程序(目前在标准的NVIDIA GPU驱动中也提供)
· CUDA编程手册
CUDA开发者软件开发包(SDK)提供了一些范例(附有源代码),以帮助使用者开始CUDA编程。这些范例包括:
· 并行双调排序
· 矩阵乘法
· 矩阵转置
· 利用计时器进行性能评价
· 并行大数组的前缀和(扫描)
· 图像卷积
· 使用Haar小波的一维DWT
· OpenGL和Direct3D图形互操作示例
· CUDA BLAS和FFT库的使用示例
· CPU-GPU C—和C++—代码集成
· 二项式期权定价模型
· Black-Scholes期权定价模型
· Monte-Carlo期权定价模型
· 并行Mersenne Twister(随机数生成)
· 并行直方图
· 图像去噪
· Sobel边缘检测滤波器
· MathWorks MATLAB® 插件 (点击这里下载)
新的基于1.1版CUDA的SDK 范例现在也已经发布了。要查看完整的列表、下载代码,请点击此处。
技术功能
· 在GPU(图形处理器)上提供标准C编程语言
· 为在支持CUDA的NVIDIA GPU(图形处理器)上进行并行计算而提供了统一的软硬件解决方案
· CUDA兼容的GPU(图形处理器)包括很多:从低功耗的笔记本上用的GPU到高性能的,多GPU的系统。
· 支持CUDA的GPU(图形处理器)支持并行数据缓存和线程执行管理器