-
Title:
cs344_u1_13_更多计算能力
-
Description:
-
在我教的课上,我向学生提的其中一个问题是,
-
“你将如何使用高出100 倍的计算能力?”
-
有时候这对他们来说是个很难回答的问题。
-
有许多令人伤脑筋的问题,无论是我们可以用一台强大100倍的超级计算机做什么,
-
还是你可以用课桌上或口袋里的东西做什么。
-
——你认为我们在这个方向处在什么位置?——嗯,我对浮点运算(FLOP)的欲望永不满足。
-
我对使用高出100倍的计算能力没有任何问题,即使 1000 倍或甚至 10000倍。
-
我的很多工作是设计计算机,
-
许多涉及原型设计和模拟新计算机设计。
-
我总是对那些模拟的运行方式感到失望。
-
因此,如果我能以高出100 倍的速度运行一台新计算机的 RTL 模拟,
-
这将使我在试验一些新的计算机设计理念时更加有效率。
-
对电路模拟也是如此。
-
我花了很多时间等待电路模拟收敛。
-
如果我能以高出100 倍的速度运行模拟,我不仅可以运行一次模拟,而且能够同时运行整个参数扫描,
-
并且在我模拟的同时进行优化。
-
另外,你也可以看看你汽车里的计算机。
-
我是说我们的Tegra处理器实际上被设计到很多不同汽车中,
-
包括《汽车潮流》杂志的年度车型特斯拉Model S,
-
还有奥迪、宝马和各种福特汽车也使用Tegra。
-
人们现在开始使用的这些车载移动处理器上运行的应用程序
-
涉及很多电脑视觉技术,既注意汽车里面的人在做什么,
-
也注意汽车外面的人在做什么。
-
通过让汽车感知周围的情况,在很多方面它使得你的汽车更安全。
-
它在很多方面可以弥补驾驶员不是完全警觉
-
或可能在短信或做一些他们不该做的事情。
-
在移动设备中,我觉得在计算机图像和增强现实方面有很多令人赞叹的应用程序。
-
如果您的移动设备持续感知你周围的事物,它可以实时通知您
-
哦,我估计你饿了吧。
-
这有个地方有皮塔三明治,我知道你喜欢,
-
因为我有你的喜恶档案。也许你应该停下来吃午饭。
-
或是一个街区之外有一个你不喜欢的家伙。
-
或许你应该在这个拐角右转来避免碰到他。
-
在许多方面,我认为它在某种程度上演变成把你的计算设备变成了你的个人助理。
-
我一直喜欢钢铁侠电影中的吉夫斯。
-
我想要一个能够谈话的设备,它能够感知
-
我周围的环境,而且基本上能充当我的大脑放大器。
-
它在某种程度上能够记住我遗忘事情,
-
告诉我周围的事情,并且协助我完成基本日常活动,
-
不管是工作上还是个人事务。
-
超级计算机产业的目标之一是达到——他们使用的术语是exascale量级,
-
也就是他们希望每秒做10^18次浮点运算。
-
当然,英伟达对进入那些计算机很感兴趣。我们将用它来做什么?
-
嗯,首先我觉得exascale计算机并不是不可思议的。
-
就好像,你知道,当我们首次制作出
-
千万亿次量级(petascale)的机器,这不过是几年前的事情,
-
它不是突破音障或真正发生质变的东西,
-
但是更好地促进了科技,而且总有——
-
你看看我们今天能做的模拟的保真度
-
例如,模拟一个更高效的汽车发动机来改善油耗,
-
我们在现有的超级计算机上设置很多近似值来拟合。
-
如果我们能获得更高的保真度,通过更精细地解析网格栅
-
以及对像湍流那样的一批效应更直接地建立模型,
-
而不是使用宏观模型为它们建模,我们将实现更加精准的模拟。
-
这将有助于更好地理解燃烧的作用,在某些
-
蛋白质如何折叠的生物技术应用方面,多种气候 ——
-
——气候建模。——当然。
-
气候演变。
-
基本上随着我们拥有更强的计算能力,
-
不是在你达到神奇的exascale,奇妙的事情发生了;
-
而是在前进中的每一步,我们实现了更先进的科学,
-
我们可以设计更好的产品。
-
计算能力是一个很大的驱动力,驱动科学的认知
-
以及全面地驱动经济发展。
-
我认为我们继续稳步向前迈进非常重要,
-
而exascale 只是征途中的一个里程碑。
-
另外,我的理解是电力对它们确实很至关重要,
-
关系到能否使exascale成为可能。我们不需要
-
只插上电源每月就要花费两百万美元的机器。— 是的。
-
它的确是一个经济方面的争论。
-
我是说如果你今天真的想要一台exascale机器,你可以建造一台。
-
你只需要写一张非常大额的支票,并将机器直接放在核电站的旁边,
-
它将消耗核电站的所有电力输出。
-
但我认为,如果有一些应用迫切需要,
-
他们确实愿意花费那么做需要的几十亿美元,你可以建造它。
-
我认为exascale的实际问题是一个经济的exascale,
-
由于在总拥有成本的账单上,电费开支是一个巨大的部分。
-
所以它实际上不是一台经济的exascale机器,
-
除非你可以在合理的电力级别使用它。
-
提出的电力数值是 20 兆瓦,
-
那就是一年二千万美元。
-
是啊,如果每度电你支付约10美元,电费账单是每年二千万美元。
-
事实上,最终的账单金额通常比那个要高一点。
-
因为能源供应的成本是分期摊销的,譬如,设备的30年使用寿命,
-
通常约等于能源的年账单。
-
还有一个叫做电源使用效率(PUE),
-
这基本上是提供能源的效率。
-
即使今天很好的设备也可能在 1.1 至 1.2。
-
你需要支付另外的,例如20%,用于设施里面的空调、电扇和类似设备,
-
而且基本上你正在消耗的能源并不是电脑正在使用的。
-
但是这对我们是一项重大的挑战。如从今天的Sandy Bridge
-
——每个指令 1.5 纳焦耳——到如果你想每秒运行百亿亿次指令,
-
要想运行百亿亿次的浮点运算,你可能得每秒运行超过百亿亿次的指令。
-
但是即使你以 20 兆瓦运行机器,
-
每条指令才20微微焦耳。
-
这不仅仅是处理器,包括所有东西。
-
这包括内存系统、网络、IO存储系统。
-
这涉及机器的所有细节。
-
因此,你大致上每个指令只有10微微焦耳用在处理器。
-
即使在英伟达也不能足够接近这个值。
-
是,与Sandy Bridge相比,降低了150倍,
-
工艺没有多大帮助。
-
这也是为什么传统的CPU无法做到这一点。
-
这将需要一种混合型多核方法,
-
依靠GPU像吞吐量处理器那样处理大部分工作,这样才能实现。
-
但是即使我们有方法,
-
我们大概快超过量级了,我们可能会在工艺中得到因数3。
-
我们需要很聪明,才能得到我们需要的其他因数 3 或 4 。
-
——Titan里面确实有CPU,是吗?——对的。
-
那么,将来会不会出现甚至没有CPU这种情况?
-
不会,我认为总有代码片段,
-
在其中你有一条关键路径,你有一段需要快速运行的单线程代码。
-
所以你总是需要一个延迟优化处理器来处理它。
-
但大多数的的工作,这些中的一个,它有点像高速缓存内存,你的大多数访问
-
都是到这个小小的内存,虽然它运行速度很快,
-
但这背后你仍需要大内存容量,对吧?
-
所以,对吞吐量与延迟来说,这是相同的。
-
你的大部分工作是在吞吐量处理器上完成的,
-
但当你有一个关键的延迟事件,你在延迟优化处理器上运行它。
-
这样你最终获得CPU的关键路径性能,
-
伴随着GPU的大部分能源消耗。
-
——大部分浮点运算和Titan肯定通过 GPU处理器。—— 是的。
-
大部分浮点运算将在GPU中进行。