POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 8533|回复: 47
打印 上一主题 下一主题

【转帖】NVIDIA:CUDA要走进大学课堂;Intel:GPGPU没有未来,CUDA只是历史过客

[复制链接]
跳转到指定楼层
1#
发表于 2008-7-2 12:14 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
http://news.mydrivers.com/1/110/110050.htm
http://news.mydrivers.com/1/110/110056.htm
NVIDIA公司日前宣布,将向伊利诺伊大学Urbana-Champaign分校(UIUC)捐赠50万美元,并命名该校为全球首个CUDA卓越中心(CUDA Center of Excellence)。
这并不是NVIDIA首次向该校进行捐献。去年,NVIDIA就像UIUC的理论和计算生物物理学学科捐赠了32台QuadroPlex 4双GPU工作站,组成CUDA计算集群进行分子动力学研究。令该校成为首家利用GPU并行通用计算进行科学研究的高等学府之一。此次的CUDA卓越中心项目则是向致力于推广GPU并行运算的高校进行奖励,帮助学校在教学中向学生推广新的并行处理架构。
这样的礼遇实际并非UIUC独享。NVIDIA表示,如果高校希望成为CUDA卓越中心,只要在校内开设CUDA课程,并且科研工作中应用CUDA技术。NVIDIA就将对学校提供资金和设备支持,包括协助建设GPU集群高性能计算机。
有趣的事,UIUC全球首家CUDA卓越中心的首席研究员胡文美教授,其在伊利诺伊大学电气及计算机工程专业的首席教授教席是由AMD公司及其创始人桑德斯共同捐资设立的,这里也是桑德斯的母校。看来,NVIDIA和AMD这对冤家,在对高校科研人才的争夺中也想到了一起。
********************************************************
在宣布Intel迎来四十岁生日之后,Intel高级副总裁、数字企业部总经理Pat Gelsinger接受了媒体采访,期间声称CUDA技术最多不过是“计算历史长河中的一朵小浪花而已”。
他说:“计算历史上一再重复出现的一个问题是,有人想出了一个很酷的新点子,保证说会带来10倍、20倍的性能提升,但你必须面对全新编程模型的麻烦,而在通用计算模型问题上,这一障碍是无法克服的。”
Gelsinger以Cell处理器架构为例证明其观点:“它确实是一个全新的计算架构,但很多年过去了,程序员们还是很难理解如何为其编写应用程序。”
Gelsinger声称,以上就是Intel Larrabee图形芯片为何完全基于IA x86核心的主要原因。他说:“我们不会强迫程序员学习一个全新架构,而是让他们面对自己熟悉的东西,然后对现有编程模型进行拓展,加入新的视觉计算数据并行处理机制。这就是我们在开发Larrabee时的策略。它是一个IA兼容核心,加入了图形矢量视觉指令集,完全支持原生编程模型和DirectX、OpenGL等API接口。”
Gelsinger还表示独立软件开发商对Larrabee充满了热情,这也证明他们的策略是正确的,适合长期发展。
48#
 楼主| 发表于 2008-7-3 18:36 | 只看该作者
原帖由 yngwie 于 2008-7-3 17:14 发表
CUDA 正所谓击中了游戏程序吃不透CPU性能的弱点推出的东西

CPU的能力狭义的全体现在了3DM 分数上了


不知所谓
回复 支持 反对

使用道具 举报

47#
发表于 2008-7-3 17:13 | 只看该作者
NVIDIA的CUDA forum有人扔了个这样的东西,我对python不熟悉,你可以试试看。
ftp://ftp.graviscom.de/pub/code/python-cuda

这是相关的讨论串:
http://forums.nvidia.com/index.php?showtopic=54496


还有人做了个PyCDUA:
http://forums.nvidia.com/index.php?showtopic=70067

I am happy to announce the availability of PyCuda, which is a Python wrapper around Cuda. What differentiates it from previous efforts?
  • Object cleanup is tied to lifetime of objects. This idiom, often called RAII in C++, makes it much easier to write correct, leak- and crash-free code. PyCuda knows about dependencies, too, so (for example) it wonâ
回复 支持 反对

使用道具 举报

46#
发表于 2008-7-3 17:00 | 只看该作者
simwe关于gpgpu的讨论串居然没了,真不幸。。。不过有兴趣的可以去上超算的版块发贴问问专业HPC编程人员的意见。

[ 本帖最后由 furtfans 于 2008-7-3 17:07 编辑 ]
回复 支持 反对

使用道具 举报

45#
发表于 2008-7-3 16:56 | 只看该作者
MSC software,comsol,Ansys...很多很多。真想列能列出来几十个,cuda到现在这么长时间,工程领域没有一家支持的(有个原因是之前只支持单精度浮点)。现在能见到的大多是数学,物理计算,而且都是明显的高度并行化的。但也并不是简简单单的像写c一样写出来算法就完了,优化还要做很多很多。工作性质实在是有些类似MPI编程的程序员。类似CUDA的matlab,pathyon中的 parallel computing plug in实际上现在有一个极为成熟的解决方案,名字叫做star-p,cuda现阶段哪怕能跟这个东西小拼一下都是极为成功的。
另外,我说一个core占用4-8gb内存,一个gpu有多少“core”呢?上百个?而且问题的关键并不在带宽上,而是虽然GPU可以同时执行一大堆线程,但是每个线程能做的事情和CPU比起来都还显得太简单了,而且每个thread又能占有多少带宽呢?。如何将巨大复杂的问题变成如此并行化,对程序员来说都是噩梦,更不要说追求界面友善化的商业应用软件了。
在adams的一些多自由度运动分析中,超过256线程的求解相对256线程的求解速度已经近乎0增长在某些极端个例中甚至是负增长,比如多重受力,大量边界条件的模型。ansys也是类似的。其中一个原因就是因为线程拆的太过细小,以至于迭代次数暴增(在多自由度运动分析和有限元分析中,就是迭代迭代再迭代,直到满足要求精度为止)。所以,并行问题的拆分并不是拆的越细越好。
我并不是否定cuda,相反我确实认为这个东西是个巨大的革新。但如果单从硬件指标,比如带宽,线程数量等等来看待超级计算的应用的话那么局限性非常大。我们不能忽略并行问题本身的性质。而现在GPU能够处理的最好的就是本身被拆成非常多线程的数学基本问题,比如F傅立叶变换。但工程上仅仅应用傅立叶变换的场合是没有的,比如一个多自由度系统的模态分析,多物理场的耦合等等。
你说到的ansys的项目我刚刚没有查到,有的话相信也只是一个算例而已,应该不是一个可以立刻应用的插件。

我认为GPGPU计算要走的路还很长。它能够成功的重要条件就是使工程/科学工作者摒弃传统HPC。而做到这点必须对应用软件提供良好支持。CUDA的未来不是梦,只不过还年轻。

[ 本帖最后由 furtfans 于 2008-7-3 16:59 编辑 ]
回复 支持 反对

使用道具 举报

44#
发表于 2008-7-3 14:03 | 只看该作者
NVIDIA 表示 Ansys 正在做一个 CUDA 的项目,不过应该还有段时间。
回复 支持 反对

使用道具 举报

43#
发表于 2008-7-3 11:31 | 只看该作者
原帖由 kril 于 2008-7-3 11:19 发表
CUDA暂时只适合在一些需要高带宽的应用上,比如核爆

CUDA只是一个C的扩展,理论上所有的算法都能在上面实现,包括h264编码、游戏物理加速等大家常见的应用都已经有了相关软件。
回复 支持 反对

使用道具 举报

42#
发表于 2008-7-3 11:19 | 只看该作者
CUDA暂时只适合在一些需要高带宽的应用上,比如核爆
回复 支持 反对

使用道具 举报

41#
发表于 2008-7-3 11:12 | 只看该作者
原帖由 furtfans 于 2008-7-3 10:47 发表
做的还不够好啊~~局限太多太多了。比如GPU线程间的计算结果交换就是大问题。目前的HPC一个core一般拥有4~8个GB的内存。节点间的通讯量也是巨大的。HPC应用最多的还是工程计算领域。真正的巨型机诸如蓝色基因部署少之又少。Nv不能解决对主流工程计算软件的支持问题就没戏。
Nv貌似是三代换一次架构吧,G80-G92-GT200。我倒是真的很期待看一看Nv下一代架构是个什么样子。


Tesla架构是有64bit MMU的,CUDA本身也提供了shared memory、device memory、host memory等阶层内存模型的支持,Tesla 1070有4GB GDDR3 per GPU,total 16GB per node,408GB/s的带宽(这是CPU完全无法媲美的),如果你有更多的预算,可以提出定制。

Tesla的系统界面是两条PCIE 16X 2.0,每条的带宽是8GB/s各向,共计16GB/s,是InfiniBand QDR 4X的4倍。

我不清楚你说得主流工程计算软件是指哪些,如果还是指matlab的话,前面已经有提供相应的CUDA plug-in连接了。

这里有一些相应的应用介绍:
http://www.beyond3d.com/content/articles/107/2
回复 支持 反对

使用道具 举报

40#
发表于 2008-7-3 10:47 | 只看该作者
做的还不够好啊~~局限太多太多了。比如GPU线程间的计算结果交换就是大问题。目前的HPC一个core一般拥有4~8个GB的内存。节点间的通讯量也是巨大的。HPC应用最多的还是工程计算领域。真正的巨型机诸如蓝色基因部署少之又少。Nv不能解决对主流工程计算软件的支持问题就没戏。
Nv貌似是三代换一次架构吧,G80-G92-GT200。我倒是真的很期待看一看Nv下一代架构是个什么样子。
回复 支持 反对

使用道具 举报

39#
发表于 2008-7-3 10:40 | 只看该作者
原帖由 furtfans 于 2008-7-3 10:39 发表
我希望larrabee更适合真正的视觉计算。但不会寄望于这个东西能进入主流HPC领域,除非intel自己不想卖xeon给galaxy和IBM之类的HPC厂家了。。

这个东西不是Intel想不想卖的问题,而是他的对手已经在做这个事情。
回复 支持 反对

使用道具 举报

38#
发表于 2008-7-3 10:39 | 只看该作者
我希望larrabee更适合真正的视觉计算。但不会寄望于这个东西能进入主流HPC领域,除非intel自己不想卖xeon给galaxy和IBM之类的HPC厂家了。。
回复 支持 反对

使用道具 举报

37#
发表于 2008-7-3 09:28 | 只看该作者
Hynix和心爱的Toshiba好惨.....另外...Freescale还能增长?....
回复 支持 反对

使用道具 举报

36#
发表于 2008-7-3 09:28 | 只看该作者
原帖由 book008 于 2008-7-3 08:13 发表
看了一下贵站的CUDA简述,了解不多,随便说说.
CUDA程序的确是基于类C可说类C++的语言来编写.
问题是到具体开发时,如果想最大效能利用GPU资源,是要考虑程序线程式具体分配到那个"GRID"或"块"去执行.
如果这个线程一但出错,或是溢出,如何做调试,也是个问题.

而INTEL的意思是,开发游戏时还是基于DX/OPGL来开发.
假设:调用了一个DX的API,这个API执行,是在CPU里执行,还是到GPU并行运算,则由CPU做决策.
程序员跟本就不用考虑.相对而言,开发难度更简单,工作更高效的多.


我不认为Intel会推荐使用D3D或者OGL作GPGPU开发,它们不支持scatter,没有scatter,大部分的东西都不能干。

Larrabee有自己的通用计算开发工具——Larrabee SDK aka Native SDK。
回复 支持 反对

使用道具 举报

35#
 楼主| 发表于 2008-7-3 09:26 | 只看该作者
原帖由 jackpeng33 于 2008-7-3 08:40 发表

这个言论真是太搞笑了,没有厂的大公司多的是,生产的东西没人要的话你所说的FAB营运不用钱吗?IT企业要生存主要需要什么,你认为是工厂吗?


没什么搞笑的,只是实情,没有什么单纯的需要,更不是靠嘴巴和忽悠。
就像声卡公司逐渐淡出一样,专门的显卡公司也一样甚至还不如。
看看下图就知道Intel真正的对手是谁?!台积电代工Nv而已,没有Fab就是这么被动。

回复 支持 反对

使用道具 举报

34#
发表于 2008-7-3 09:21 | 只看该作者
原帖由 ocfail 于 2008-7-2 16:49 发表
所以说  CUDA与Larrabee 之争 完全是编译器间的竞争 谁家的编译器好 程序员就喜欢用谁的来编译。 重新开发?对不起,高性能计算领域里的人都很懒,总是希望被编译器拯救,而不是去迎合某些不着边际的技术


所以才说不能解决复杂并行问题,在主流领域就没有出头之日。不是所有HPC程序员都精通MPI的。因为力学专业的关系。我接触过一些大型机和非常多的专业软件。回到你上面一帖提到的问题,主流高性能应用是什么?我可以告诉你,在国内是结构计算,其次才是和地球物理有关的那些东西以及其他。就结构计算领域来说,一个好的前处理优化会节省巨大的计算时间。而前处理优化会涉及到有限元间传递函数的优化。因为网格多边形边数的不同,会产生大量的结构不一致甚至所需算法不一致的方程组,比如拉格朗日法,欧拉法的混合。而这些前处理,既是一种复杂的并行应用。处理之后的求解,由于存在不同形式的方程组,那么就要求cpu(或者gpgpu)有灵活的处理方式。在多线程的HPC中,这种计算不需要等待多长时间,几个不同的方程组在几个不同的核心中求解并互相返回计算结果。我所谓的高度并行化问题,就是不同线程计算过程中,方程形式一致且互相极少交换数据或者不交换数据的的并行应用。显然对于前述的结构计算/有限元分析来说,这种情形实在是太过理想化了。就像前一阵INTEL批评CUDA的视频编码太过简单粗暴一样,这些都需要优化的东西目前在GPGPU上应用尚早。你最后也提到了:“高性能计算领域里的人都很懒,总是希望被编译器拯救,而不是去迎合某些不着边际的技术”。我想这是对的,在HPC领域看来,CUDA目前就是一个不着边际的东西,因为它的局限性太大了。这个局限性不来自CUDA本身,而是来自架构。
回复 支持 反对

使用道具 举报

33#
发表于 2008-7-3 09:16 | 只看该作者
原帖由 ocfail 于 2008-7-2 16:49 发表
作为一个写过C的程序员,我想说是:

对于一个C程序员来说,我想知道的,仅仅是我有些什么资源,它们现在的状态如何

C程序员不是写汇编代码 虽然需要有汇编的底子,但是编译器帮助我们完成了大部分事情,对于CP ...


    没错, 你可以完全依赖编译器. 然后照旧的把这两个数组扔出去. 那么CUDA对你的好处, 也不过就是一个闲置的GPU变成一个CPU而已. 首先NV的编译器开发能力还没有得到认可, 你得到的很可能是个效率一般而且还不完整的CPU.  其次, 对于大部分用户来说, 如果只是要多个CPU核心,  直接买CPU就好了...还省个程序员.

    如果你要真的想写个好的CUDA程序, 那么你扔出去的很可能就不是两个数组了. 扔数组简单, 在何时扔出什么数组就比较复杂了.

    其实Intel也要面对同样的问题.  所以他们才在大力鼓吹如何如何的无脑易用. 而且他们之前的积累也让他们更有分量说话, 不止说的编译器. Intel搞平台战略也不是一天两天了.
回复 支持 反对

使用道具 举报

jackpeng33 该用户已被删除
32#
发表于 2008-7-3 08:40 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

31#
发表于 2008-7-2 21:52 | 只看该作者
到底是CUDA还是Larabee,其实还是要看需要。
对于家用来说,除了视频转换和游戏,现阶段可以说完全没有需要海量计算的地方。
对于企业,大部分的企业还在为企业信息的整合而在努力。海量计算离普及还很远。

如果什么时候40%以上的家庭或者企业都需要进行海量计算了,估计MS会出一个XXX的API,不管Intel还是NV还是AMD,统统要听MS滴。然后就跟现在的DX编程一样……
回复 支持 反对

使用道具 举报

30#
 楼主| 发表于 2008-7-2 21:48 | 只看该作者
原帖由 天下18 于 2008-7-2 20:09 发表
我觉得INTEL十分清楚他的威胁来自哪里


Intel当然知道~ 很明确,对Intel地位有威胁的不可能是一家fab都没有的“皮包公司”

可惜Nfan总以为是NV,太YY了" src="./images/smilies/PCinlife2009/rolleyes.gif" border=0 smilieid="123">

目前看来一家做(严格说是设计)GPU的厂家和做声卡、网卡的厂家没有多大区别,不过有些人太夜郎自大了点~

[ 本帖最后由 rtyou 于 2008-7-2 21:52 编辑 ]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2026-2-5 23:00

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表