我有兴趣开发一些新的技术,我正在考虑试用数据自动化系统。现在..。他们的文档太技术性了,没有给出我想要的答案。另外,我想听听那些已经有过数据自动化系统经验的人的答案。
基本上,我的问题是标题中的问题:
,什么是数据自动化系统?(这是一个框架吗?还是API?什么?)
它是用来做什么的?(除了给GPU编程之外,还有什么更多的东西吗?)
是什么样的?
使用CUDA编程而不是向CPU编程有什么好处?
什么是开始使用数据自动化系统编程的好地方?
发布于 2011-03-06 16:45:20
库达把几件事结合在一起:
。
CUDA的目的是编写能够在兼容的大规模并行SIMD体系结构上运行的代码:这包括几种GPU类型以及非GPU硬件,如nVidia、Tesla。大规模并行硬件可以以相当类似的财政成本每秒运行比CPU更多的操作,在允许的情况下性能提高50×或更多。
与以前的方法相比,CUDA的好处之一是通用语言是可用的,而不必使用像素和顶点着色器来模拟通用计算机。这种语言是基于C语言的,有一些额外的关键字和概念,这使得非GPU程序员很容易掌握。
这也是nVidia愿意在硬件上支持通用并行化的一个迹象:它现在听起来不像“使用GPU进行黑客攻击”,而更像是“使用供应商支持的技术”,这使得它在非技术涉众面前更容易采用。
要开始使用CUDA,下载SDK,阅读手册(认真地说,如果您已经了解C,它并不那么复杂)并购买与CUDA兼容的硬件(您可以首先使用模拟器,但是性能是这方面的最终点,如果您能够实际尝试代码,那就更好了)
发布于 2011-03-06 16:36:16
(免责声明:我只在2008年的一个学期项目中使用过CUDA,因此从那以后情况可能发生了变化。)CUDA是一个开发工具链,用于创建可以在nVidia CPU上运行的程序,以及用于从CPU控制此类程序的API。
GPU编程相对于CPU编程的好处是,对于一些高度并行的问题,您可以获得大量的加速(大约快两个数量级)。然而,许多问题很难或不可能以适合并行化的方式表述。
从某种意义上说,CUDA相当简单,因为您可以使用普通C创建程序。然而,为了获得良好的性能,许多事情必须考虑到,包括许多低层次的特斯拉GPU架构细节。
https://stackoverflow.com/questions/5211746
复制相似问题