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

CUDA某种意义上类似超并行机(但是每个CPU的性能都比较弱)
使用道具 举报 回复 支持 反对
发表于 2009-12-21 21:21:19
什么是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上的数据。它能让用户实时的计算出复杂问题的答案。
使用道具 举报 回复 支持 反对
发表于 2009-12-21 21:21:41
CUDA(Compute Unified Device Architecture),是显卡厂商NVidia推出的运算平台。
随着显卡的发展,GPU越来越强大,而且GPU为显示图像做了优化,在计算上已经超越了通用的CPU,如此强大的芯片如果只是作为显卡就太浪费了,因此NVidia推出CUDA,让显卡可以用于图像计算以外的目的。
由于GPU的特点是处理密集型数据和并行数据计算,因此CUDA非常适合需要大规模并行计算的领域,目前CUDA除了可以用C语言开发,也已经提供FORTRAN的应用接口,未来可以预计CUDA会支持C++、Java、Python等各类语言,可广泛的应用在图形动画、科学计算、地质、生物、物理模拟等领域。
使用道具 举报 回复 支持 反对
发表于 2009-12-21 21:22:16
CUDA是NVIDIA近来力推的东西,简单的说,CUDA可以认为是一种以C语言为基础的平台,主要是利用显卡强大的浮点运算能力来完成以往需要CPU才可以完成的任务。CPU的特点是什么都能干,但不够专,运算能力不高,而显卡则很专,专门运算图形方面的浮点运算,能力比CPU强10倍以上。但显卡的应用范围狭窄,所以NVIDIA为了让它的显卡在电脑中有更高的地位,就搞了这么个CUDA。
想用CUDA,必须是NVIDIA的显卡,而且要是GEFORCE 8以后的显卡。平常没什么用,只是在转换视频格式,以及看高清时有点作用。暂时CUDA的作用范围仍然比较狭窄,就看NVIDIA能把它如何发展了。
使用道具 举报 回复 支持 反对
发表于 2009-12-21 22:46:22
CUDA(Compute Unified Device Architecture),显卡厂商NVidia推出的运算平台。

攒分,嘿嘿...
使用道具 举报 回复 支持 反对
发表于 2009-12-22 01:34:27
原帖由 duhouchen 于 2009-12-21 12:07 发表
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的GPU加速之路似易实难,好象战士的武器升级了,射程增加10倍,以为是激光武器,谁知道到手的是使用专用子弹,操作繁索,根据天气条件命中率不同的越远程狙击步枪。究竟有几个战士会选择这种射程的升级呢?



拜托各位大大,我只是个没入门的初学者,随笔一写,错误连篇,拜托各位不要再复制了,找点管方说明复制一下吧,我写的只是入门艰难的一大堆抱怨,只要会CUDA编程的都能看出来N多错误和不准确
使用道具 举报 回复 支持 反对
发表于 2009-12-22 09:06:28
CUDA是什麼還不是太清楚,NVIDIA希望跟INTEL分一杯羹,不知道有沒有這個實力。

不過即然NVIDIA Quadro在《2012》裡有那麼好的表現,拭目以待吧!
使用道具 举报 回复 支持 反对
发表于 2009-12-22 09:12:40
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倍。
使用道具 举报 回复 支持 反对
发表于 2009-12-22 09:31:35
NVIDIA近日正大解秘了NVIDIA CUDA 技术,这项技术是NVIDIA为其图形处理器(GPU)而特别开发的,这项技术开创了业内为GPU提供C语音开发环境的先河。这项技术能让GPU的芯片核心同步协调地进行计算,速度可提升为传统方式的100倍。

  实际上NVIDIA已经在即将上市的GeForce 8800显卡上应用了这项技术。
使用道具 举报 回复 支持 反对
发表于 2009-12-22 09:34:40
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(图形处理器)支持并行数据缓存和线程执行管理器
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册