李晓宇那句“谁告诉你,神经网络的并行计算,一定要用昂贵的cpU来跑?”的话,如同在林涛那早已被各种“不可能”所充斥的大脑里,投下了一颗原子弹!
他呆呆地,看着那些在屏幕上,流畅地运行着《毁灭战士》的,花花绿绿的游戏显卡,一个颠覆性的,甚至有些荒诞的念头,如同闪电般,劈开了他所有的思维定式!
游戏……显卡?
用来……搞科研?
“总……总工……”他的声音,因为过度的震惊,而有些结结巴巴,“您……您的意思是……”
“没错。”李晓宇的脸上,露出了狐狸般的微笑,他指着一台电脑机箱里,那块正在高速运转,甚至有些微微发烫的3dfx Voodoo显卡,开始了他的,新一轮“技术布道”。
“林涛,你们要记住,任何技术的本质,都是为了解决问题。cpU,中央处理器,它就像一个学识渊博的大学教授,什么都懂,能处理各种复杂的逻辑判断。但它的缺点是,精力有限,一次,只能专注地,解决一个难题。”
“而GpU,图形处理器,”他的手,轻轻地,敲了敲机箱,“它,则像一个由成百上千个只会做加减乘除的小学生组成的超级军团!”
“你让任何一个小学生去解一道微积分,他肯定会一头雾水。但是!”李晓宇加重了语气,“如果你有一百万道,‘一加一等于几’这样的简单算术题,需要在一秒钟内算完。那么一个大学教授,和一千个小学生,谁的速度会更快?”
“而我们‘卷积神经网络’的训练过程,其最核心,最耗费算力的部分是什么?不就是那数以亿计简单但却无比重复的矩阵和向量的乘法运算吗?!”
“这恰恰是GpU这个‘小学生军团’,最擅长也最恐怖的领域!”
当李晓宇说完这番,充满了生动比喻的讲解后。
整个算法研究院,陷入了一片死一般的寂静。
林涛和他身后的那群天才们,一个个都如同醍醐灌顶,眼中爆发出了一阵名为“顿悟”的璀璨的光芒!
原来……是这样!
他们之前,一直是在逼着一个“大学教授”,去做一百万道小学算术题,难怪会累到吐血!
然而,短暂的兴奋过后,一个新的更加令人绝望的现实摆在了他们的面前。
“可是……总工……”林涛的脸上,刚刚燃起的希望之火,又被一盆冷水浇灭,“原理,我们懂了。但是……在1990年,这个世界上根本就不存在任何可以让我们直接调用GpU进行通用计算的编程接口啊!Voodoo显卡,只认它自己的‘Glide’图形ApI。我们……我们总不能,把一个矩阵,伪装成一个3d模型去让它‘画’出来吧?”
“为什么不能?”
李晓宇的反问,再次,让所有人,都愣住了。
“技术,是没有边界的。”李晓-宇的眼中,闪烁着一种,近乎于“玩弄规则”的,恶作剧般的光芒,“既然,我们没有钥匙,那我们,为什么不能,自己把锁,给拆了?”
他转身,回到办公室,片刻之后,拿着一个,被密封在牛皮纸袋里的,厚厚的U盘,走了回来。
“我知道,直接去逆向编译Voodoo的底层驱动,对你们来说,太难了。”
他将U盘,递给了林涛。
“所以,我给你们找来了一份‘地图’。”
林涛疑惑地,将U盘,插入电脑。
当他,看清里面那份,被解压出来的文件时,他的双手,瞬间,就开始了剧烈的颤抖!
那是一份,长达数百页的,密密麻麻,写满了半汇编,半c语言的,充满了各种底层硬件寄存器地址和指令集的,天书般的文档!
而在文档的扉页上,赫然印着一行,足以让全世界所有程序员,都为之疯狂的标题——
【3dfx Interactive内部技术备忘录:Glide ApI底层硬件接口白皮书(v0.9 预览版)】
“这……这是……”林涛的声音,都在哆嗦。
“这是3dfx公司一份从未对外公开过的内部开发文档。”李晓宇平静地说道,“有了它,你们就相当于拥有了一把可以直接通往Voodoo显卡灵魂深处的万能钥匙。”
“现在,我命令!”
李晓宇的声音,陡然提高!
“林涛,你立刻成立‘GpU通用计算与逆向编译’攻关小组!我给你们一个月的时间!”
“我要你们把这本地图给我吃透!然后,为我打造出我们‘双龙中心’自己的第一套能够‘欺骗’显卡,让它为我们进行科学计算的——”
“‘盘古’并行计算库!”
“是!!!”
林涛和他身后的所有工程师,如同接到了神谕的信徒,用尽了全身的力气,发出了震天的怒吼!
一场注定要被载入中国计算机发展史,艰苦卓绝的代码破译之战,在这一刻正式打响!
算法研究院,从此变成了不夜城。
林涛和他挑选出的,最顶尖的五个编程天才,几乎是吃住都在那间小小的摆满了游戏电脑的机房里。
他们对着那份如同天书般的“地图”和满屏幕的,由0和1组成的二进制代码,开始了没日没夜的分析,注释,重构,与尝试。
失败。
失败。
再失败。
整整半个月的时间里,他们,经历了不下于一千次的蓝屏、死机,甚至是烧毁了两块宝贵的Voodoo显卡。
但没有任何一个人选择放弃!
他们的眼中,燃烧着一种名为“信念”的熊熊火焰!
终于,在第十七天,一个大雨倾盆的深夜。
当林涛再一次将一段他修改了无数遍、无比简洁的“魔改”驱动代码,编译,加载。
然后,小心翼翼地在屏幕上输入了一行最简单的调用指令——
一个2x2的矩阵,乘以另一个2x2的矩阵。
他,按下了回车。
没有蓝屏,没有报错。
在短暂的,令人窒息的沉寂之后。
屏幕上,那冰冷的dos命令行界面里。
一个由GpU,那数以百计的,“小学生军团”,在瞬间,并行计算出的无比精准的闪烁着绿色光芒的结果矩阵,缓缓地浮现了出来!
紧接着,在那矩阵的下方。
一行,由林涛,亲手写下的代表着胜利的字符串,也一同闪耀而出!
【hello, cUdAs world!】
“成功了……我们……成功了——!!!”
不知是谁第一个嘶吼了出来。
下一秒,整个算法研究院,爆发出了一阵足以撕裂夜空、掀翻屋顶的惊天动地的欢呼!
他们知道,自己刚刚做了一件多么伟大的事情!
虽然,这只是微不足道的一小步。
但他们,却亲手为未来那个由人工智能和超级算力所主宰的波澜壮阔的大时代,为整个华夏,点燃了第一颗微弱但却足以燎原的——
星火!