Top
首页 > 新闻 > 滚动新闻 > 正文

CPU与GPU:谁将主导下一次计算革命?

如果说IBM与索尼共同开发的Cell开辟了异构多核处理器商用的先河,那么,今年4月24日,Sun对处理器厂商Montalvo System的收购,则将把这一趋势延伸到x86移动平台。当然,AMD、英特尔和NVIDIA也都没有闲着。CPU+G
发布时间:2008-05-06 15:05        来源:        作者:马文方
【赛迪网讯】如果说IBM与索尼共同开发的Cell开辟了异构多核处理器商用的先河,那么,今年4月24日,Sun对处理器厂商Montalvo System的收购,则将把这一趋势延伸到x86移动平台。当然,AMD、英特尔和NVIDIA也都没有闲着。CPU+GPU无疑将成为新一代处理器架构设计的热门,问题是在PC中当了多年配角的GPU(图形处理器)这两年时来运转,受到CPU厂商的格外青睐。先是AMD在2006年7月以54亿美元收购GPU厂商ATI,后有英特尔在2007年11月收购专注CPU与GPU融合的公司Neoptica。 面对CPU厂商染指GPU,NVIDIA也积极备战。NVIDIA在2007年10月从经营不善的处理器新兴企业Stexar挖到多位“武林高手”。 可千万别小瞧了Stexax,这家由原英特尔技术骨干创立的公司拥有多位奔腾Ⅱ、奔腾Ⅲ和奔腾Ⅳ设计团队的骨干,甚至还有奔腾Ⅳ中Netburst架构的首席设计师和超线程的设计者。 3月26日,本报记者独家专访了NVIDIA首席科学家David Kirk。 GPU很强 记者:经过英特尔多年“Intel inside”的市场攻势,人们对CPU已经很熟悉了,但对专注于图形计算的GPU却知之甚少。GPU与CPU有什么不同? Kirk:长期以来,CPU一直都是单核的。CPU的设计思路是尽可能快地完成一件任务;对于GPU来说,它的任务是在屏幕上合成可以高达数百万像素的图像――也就是说有几百万个任务需要并行处理。因此,GPU被设计成并行处理很多任务,尽可能快地完成所有任务的总和,而不是像CPU那样尽可能快地完成一件任务。设计GPU的体系架构时首先考虑的是并行运算能力,之后再考虑整型运算和I/O吞吐能力。 多核的概念并没有改变CPU的设计理念,也许是尽快地做两件事或四件事,但不是并行处理很多很多任务。 记者:我看到过GPU的浮点性能数百倍于CPU的对比结果,却不知两者之间在整型计算上的比较结果。GPU只有增强其整型能力才能在通用计算中走得更远,请问在整型计算上GPU有没有补救措施呢? Kirk:CPU的整数计算、分支、逻辑判断和浮点运算分别由不同的运算单元执行,此外还有一个浮点加速器。因此,CPU面对不同类型的计算任务会有不同的性能表现。而GPU是由同一个运算单元执行整数和浮点计算,因此,GPU的整型计算能力与其浮点能力相似。 我想,如果你仔细观察一个串行程序的运行结果,你就会发现与浮点计算能力相比,CPU的整数计算能力与GPU中流处理器的整型计算能力更接近,这是因为CPU的设计更侧重于整数计算能力。 举例来说,一个3GHz的双核CPU每秒能完成60亿条整数指令,比如说G-80 GPU,有128个1.5GHz的流处理器,每个流处理器每个计算周期可以执行两条整数指令,把这些数据相乘的结果大约是每秒3500亿~3750亿条指令,这大概是CPU运算能力的50~100倍。 我再澄清一下,GPU在整型计算方面并没有任何劣势。尽管不如在浮点计算方面优势那么大,但是GPU的整型计算能力几乎是CPU的100倍。 记者:除了计算,CPU的另一大功能是控制。从现有的结构看,GPU的控制性能要比其整型计算性能还要弱,而控制功能最终将决定GPU是否能在计算平台上唱主角。请问GPU在增加和增强控制功能上有何设想? Kirk:GPU同样可以实现控制和分支功能。如果你有一个单线程的分支程序要运行,你可以在CPU上运行它。但是如果你有100万个线程,每个线程都有分支,那么GPU的性能将远远好于CPU。我对CPU类型的计算任务并不感兴趣。与其他人们想实现的功能相比,这项功能并不重要。与只有一个线程的计算任务相比,我认为执行与控制几百万个线程更为重要。当然,CPU也能承担这样的任务,只不过它要串行地、重复地来进行,性能上远比不上GPU。 记者:能不能只用GPU,而不用CPU,或者说彻底抛弃CPU? Kirk:你可以这么做,但这可能不是最佳选择。GPU效率不高的地方在于处理单任务、单线程分支。如果你只有一项任务,就不能充分利用GPU。因此,如果你的任务里包含各种类型的计算――任何问题都包含串行部分和并行部分――你可以在CPU上快速运行串行部分,在GPU上运行并行部分。我认为这个问题的关键不在于竞争,而是任务的划分。 我相信未来的计算模式是不同种类处理器的混合体。西方有一条谚语 “样样都会,行行不精”。既然CPU擅长于一种类型的计算,而GPU擅长另外一种类型的计算,那么你把它们结合在一起,相互合作,就能完成更多类型的任务。 记者:在更远的将来,有没有可能制造没有CPU的系统? Kirk:我想这是可能的――现在就可能――只不过大家不想这么做。如果你想最大限度地发挥现有硬件的功能,你就需要各种专用处理器配合工作。我想这才是最好的解决方案。 直到有一天所有的处理器都足够好了,你不再需要更好的计算机了,你可能选择一个效率低一点但架构更简单的计算机。但是到目前为止,人们还是什么都想要,想要最好的串行处理器――CPU,最好的并行处理器――GPU。我想这种需求在未来很多年都不会发生改变。我认为GPU的并行功能会越来越强大,而CPU也会想方设法改进其执行串行指令的能力。我认为这两项功能未来不会融合。 GPU在设计上有否优势 记者:x86 CPU属于CISC指令集。顾名思义,CISC在工艺实现上也同样复杂。而GPU由于大量并行的流处理器而在工艺实现上整齐划一。随着芯片上晶体管数量的剧增和功能的增加,GPU至少在测试上比CPU更省时,请问在制造过程中是否也具有优势? Kirk:通常大家都说x86指令集有优势,但我认为有些情况下它是个劣势,因为它的兼容性是个庞大且复杂的问题。一旦你建立起x86系统,你只能继续建立x86系统。 而我们兼容旧系统的压力要小得多――不是因为我们放弃了兼容性,而是我们没有那么长的历史需要兼容――这在效率上带给我们一些优势。 除了你提到的测试,我认为还有一种很重要的考察效率的指标,这就是每平方毫米硅片所贡献的性能。因为GPU拥有更直截了当的指令集,其设计更先进,GPU上每个晶体管的平均性能要比CPU的更高。 记者:5年前我独家专访过英特尔CTO基辛格。在谈论90nm制造工艺时,他告诉我,英特尔真正的核心竞争力是设计与制造这两个阶段的双向优化。如今,半导体制造工艺已经进入45nm
加载更多
合作站点
stat