“女娲”计划的三个核心项目组,就像三驾并行的马车,以惊人的速度,开始了各自的狂奔。
“炼石”组的会议室里,永远充斥着激烈的争吵声、粉笔划过黑板的刺耳声,以及浓得化不开的烟味。孙立国带着他的硬件工程师们,没日没夜地进行着头脑风暴,试图从无数种可能的组合中,找出那个最优的“班长”微架构。
“补天”组则相对安静,但空气中弥漫的紧张气息,却丝毫不弱。黄建功和钱学敏,带领着软件专家与语言学家们,逐字逐句地敲定着龙章-V1.0》白皮书的每一个细节。每一个关键字的增删,每一个内置函数的定义,都可能引发一场,长达数小时的,逻辑与哲学的辩论。
“点睛”组的氛围最为奇特,一半是科学家们严谨的公式推导,一半是艺术家们感性的色彩挥洒。物理学家和数学家们,在为了一个光照模型的参数,争得面红耳赤。而隔壁的美院老教授,则可能,只是,淡淡地,在他们的模型渲染出的,效果图上,用红笔,画一个圈,然后,写下两个字:“太假”。
三个项目组,各自为战,又,同气连枝。
他们,共享着,同一个,伟大的,目标。
但,很快,问题,就出现了。
第一场,不可避免的,碰撞,爆发在,“炼石”组和“点睛”组之间。
这天下午。
钱学敏,拿着一份,刚刚,由“点睛”组,物理学小组,完成的,Blinn-Phong光照模型算法详解》,走进了,“炼石”组的,会议室。
会议室里,依旧,烟雾缭-绕。
孙立国,正和,几名,核心工程师,围着一张,刚刚,画出来的,SM(流式多处理器)的,初步架构图,进行着,最后的,评审。
“孙总工。”钱学敏,敲了敲门。
“哦?是钱教授啊,快请进。”孙立国,看到钱学敏,有些,意外。
他,放下手中的图纸,招呼道:“什么风,把您给,吹来了?我们这,乌烟瘴气的,可别,熏着您这位,大才女。”
“孙总工,说笑了。”钱学敏,微笑着,摇了摇头。
她,已经,习惯了,这群,硬件工程师的,不修边幅。
“我来,是想,和你们,同步一下,我们‘点睛’组的,最新进展。也顺便,想,向你们,提一些,硬件上的,需求。”
“哦?需求?”孙立国,来了兴趣,“说说看。”
钱学敏,将,手中的,算法文档,递了过去。
“这是,我们,目前,选定的,基础光照模型,Blinn-Phong。”
“它的,核心,是,对,环境光,漫反射,和,镜面反射,这三项,进行,叠加计算。”
“其中,最复杂的,是,镜面反射的,计算。”
她,指着,文档中的,一个,核心公式。
Specular = lightColor * materialSpecular * pow(max(dot(H, N), 0), shininess)
“这里,涉及到了,两个,向量的,点积(dot)运算,一个,求最大值(max)运算,还有一个,幂(pow)运算。”
“特别是,这个,幂运算。”钱学敏,强调道,“它的,计算量,非常大。如果,纯粹用,软件,和,通用的,算术逻辑单元(ALU),去模拟。效率,会非常,低下。”
“所以,我们,希望,‘炼石’组,能,在设计,‘小笨蛋’(计算核心)的时候,为我们,专门,设计一个,硬件级的,‘特殊函数单元’(SFU)。”
“这个单元,可以,在,一个,或者,几个,时钟周期内,就,完成,像,幂运算,求倒数,平方根,这些,复杂的,数学运算。”
“这样,我们的,着色器程序,才能,真正,跑起来。”
钱学敏,详细地,阐述了,自己的,需求。
在她看来,这个,要求,合情合理。
在,硬件层面,固化,一些,常用的,复杂运算,是,提升,专用处理器,性能的,不二法门。
然而,她,说完之后。
孙立国,却,沉默了。
他,拿着那份,算法文档,一页一页地,仔细看着。
眉头,越皱越紧。
他身后的,那几位,核心的,硬件工程师,脸色,也,变得,有些,难看。
会议室的,气氛,瞬间,变得,有些,微妙。
“怎么了?孙总工?”钱学敏,敏锐地,察觉到了,不对劲,“是,我提的,这个需求,有什么,技术上的,难题吗?”
“难题,倒谈不上。”孙立国,缓缓地,抬起头。
他的眼神,很复杂。
“钱教授,你的,这个,想法,很好。很,‘软件’。”
他,在,“软件”,这两个字上,加了,重音。
“你们,软件工程师,总是,希望,硬件,能为你们,提供,一切。”
“最好,你们,想实现的,每一个,算法,硬件,都为你们,准备好了一个,专门的,‘按钮’。”
“你们,只需要,按一下,结果,就出来了。”
“这样,当然,简单,高效。”
孙立国的,这番话,说得,很平静。
但,钱学敏,却听出了,其中,隐藏的,一丝,不满,和,抗拒。
“但是,”孙立国,话锋一转。
“你,有没有,想过。为了,实现,你说的,这个,‘特殊函数单元’(SFU),我们需要,付出,多大的,代价?”
他,拿起笔,在旁边的一块,白板上,开始,快速地,画着,逻辑门电路图。
“一个,能够,在,几个周期内,完成,32位浮点数,幂运算的,硬件单元。它,所需要,消耗的,晶体管数量,可能是,一个,普通ALU的,几十倍,甚至,上百倍!”
“它的,功耗,会非常,惊人!它的,设计,和,验证,周期,也,会,呈,几何级数,增长!”
“而,我们,‘女娲’神石的,总,晶体管预算,和,功耗预算,是,有限的!”
“我们,在一个地方,投入得,多了。就意味着,在另一个地方,必须,减少。”
“如果我们,把,大量的,资源,都,用来,堆砌,像SFU这样,庞大,而,‘不常用’的,单元。”
“那么,我们,能够,集成的,‘小笨蛋’(计算核心)的,总数量,就必然会,大幅,减少!”
“为了,一个,镜面高光的,效果。我们,可能,要牺牲掉,一半的,并行处理能力!”
“钱教授,你觉得,这,划算吗?”
孙立国,一连串的,反问,像,连珠炮一样,砸向,钱学敏。
他,没有,直接,否定,钱学敏的,需求。
他只是,把,一个,冰冷的,现实,摆在了,她的,面前。
硬件设计的,本质,就是,一门,关于,“取舍”的,艺术。
在,有限的,资源下,做出,最优的,平衡。
这就是,一个,硬件架构师,最大的,价值,所在。
钱学敏,被,问住了。
她,确实,没有,从,这个角度,去,思考过,问题。
她,是一个,算法,和,软件的,天才。
她,习惯了,在,一个,理想的,几乎,拥有,无限资源的,数学世界里,思考问题。
而,孙立国,则把她,狠狠地,拉回到了,这个,充满了,妥协和限制的,物理世界。
“那……那,依,孙总工的,意思……”钱学敏的,语气,弱了下来。
“我的意思,很简单。”孙立国,斩钉截铁地,说道。
“硬件,只负责,提供,最基础,最通用,最快的,‘砖块’。”
“那就是,海量的,简单的,ALU。”
“至于,你们,上层,想要,盖出,什么样的,房子。那是,你们,软件,和,算法的,事情。”
“像,‘幂运算’这种,复杂的操作。完全,可以,用,数学的方法,把它,展开成,一系列,简单的,加法,和,乘法运算。”
“比如,用,‘泰勒展开’!”
“虽然,这样,会,多消耗,一些,时钟周期。会,让,你们的,着色器程序,看起来,更复杂。”
“但,它,换来的,是,一个,更,精简,更,通用,更,低功耗,也,更,优雅的,硬件架构!”
“这,才是,我认为的,最优解!”
孙立国的,这番话,掷地有声。
代表了,一种,最经典的,硬件设计哲学。
RISC(精简指令集)的,核心思想。
用,简单的,指令,组合,去实现,复杂的,功能。
而,钱学敏,所代表的,是,另一种,CISC(复杂指令集)的,思想。
两种,思想,没有,绝对的,对错。
只有,在,特定场景下的,优劣之分。
此刻,这两种,最底层的,设计哲学。
在,“女娲”计划的,起点。
以,一种,最直接的,方式,发生了,激烈的,碰撞。
这,是,冰与火的,交锋。
是,软件与硬件的,第一次,正面,对决。
更是,两种,不同世界观的,激烈,冲突。
整个,会议室的,空气,仿佛,都,凝固了。
所有人的,目光,都,聚焦在,钱学敏,和,孙立国,这两位,项目组的,主帅身上。
他们知道。
这场,争论的,结果。
将,直接,决定,“女娲”神石,未来的,形态。