今天给大家科普一个新词,异构计算。
听起来好神秘,是不是跟异形,外星人有关系?
其实所谓的通用计算,就是用CPU算,那么异构计算呢?就是用CPU+各种增强卡来计算,包括GPU,FPGA等。
其中应用最广泛的就是使用CPU+ GPU的组合了,这个组合如今被用来征服癌症,探索核清洁能源,甚至连最新一代的超级计算机都由这个组合搭建而成,真正的开始帮助人们探索世界的宽度与广度。
GPU在民用领域被广为人知的用途就是显卡,那么从打游戏的显卡,到如今科学先锋,这个故事是怎样发生的?
我们一起来穿越到过去,来了解一下这个好奇心爆棚故事吧。
(本文会出现诸多年龄探测器,高能小心。)
麻瓜时代
在上古计算大陆上,计算机那个时候还是要带着白手套,穿着白大褂使用。
但是,没有什么能够阻挡人类娱乐的天性,计算机游戏就在一个个机房当中萌芽了,比如当年笔者就是在机房里的红警一族。(本文其实是年龄探测器)....
计算机要在显示屏显示字符和图形,都要依赖一个叫做显卡的玩意儿,他把数字信号变成显示器能够识别的点阵信号,例如:
中不中?计算机说不中,俺不认识。
计算机可不认识中字,所以不中,在计算机里,他被表述为:第一行左边开始数过去,第九格,黑色。以此类推,图像就产生了,显卡的工作就是把CPU计算好的数据转换成一个个像素,并产生对应的模拟信号到显示器上。
所以,显卡一直很忙,因为他要处理很多点阵的数据,例如1920X1080,就是近200万个像素,如果还是彩色的,就要乘以3,一次性处理600万个点阵,牛逼不??
这就带来了一个很重要的特点:因为要一次性显示一个完整的图形,就必须一次处理600万个点阵,所以显卡是个急性子,显卡是个急性子,重要的事情说两遍,从诞生的那天起,显卡就有超强的并行处理能力。
但是当年的显卡的计算能力还是很弱鸡的.....因为那时候的分辨率才640X480....一般用来缓冲图形的显存只有1M~4M。
所以,显卡变成GPU的第一个特征诞生了:相比CPU,显卡具有并行计算的能力。
S3,当年的梦幻显卡,后来公司被VIA收购(年龄探测器:认得就是70后)
只嘿嘿嘿,不说话(认得的应该是70后,或者80初)
上古大陆
在麻瓜时代的末期,人们越来越意识到,3D游戏的好玩,当年简陋的古墓丽影1,可以让笔者在家里玩上两天,正如美食一样,游戏画质真的是王道。
慢慢地,多媒体的概念越来越深入人心,人们对游戏画面的要求也不再局限于2D的水平上,特别当一批“准3D”游戏(如古墓丽影、极品飞车、雷神之锤)出现的时候,人们被一些前所未见的3D特效深深地吸引住了,这个时候,今天的王者NVDIA还尚未成立。
1994年,3dfx成立,这个公司的成立价值是把整个PC行业带入了3D时代,老一代的游戏玩家听到这个名词的时候,多半是和满屋子的室友尖叫相伴的。
当年笔者捧回一块一代的Voodoo卡(3dfx的3d加速卡)的时候,整个寝室楼都沸腾了。
从古墓丽影一,到古墓丽影三,显卡的进步带来了画质的飞跃,这也预示着计算力的提升能够创造出更多奇迹的想象力。(当然这个游戏很回忆杀,有个朋友说看到这个游戏让他想起了大学时代的前男友)
Voodoo卡的巨大贡献是,第一,打开了3D时代的大门,第二,硬件雾化;镜面高光(Specular Hilight),色键透明处理等技术特征为后世的GPU创造了丰富的计算想象力。
更重要的是,3dfx第一次通过API的方式,将硬件的能力赋予给游戏等软件接口,这个革命性的接口叫做:Glide。
显卡变成GPU的第二个特征诞生了: 通过接口软件,将硬件的能力可以被软件调用,既然游戏可以,那么别的应用当让也可以,这个就是后话了。(重点敲黑板)
上一块3dfx的Voodoo2镇楼,当年它的市场份额高达85%。
同时, AMD一个叫做黄仁勋的员工离职,也创办了一家做图形芯片的公司,叫做Nvdia。
在上古大陆末期,Nvdia开始发力,推出了一系列3D加速产品,例如当年红极一时的TNT系列。
ATI也针锋相对的推出了Rage 128等一系列产品,大陆版图初成。
不幸的是,后来3dfx迈入了一系列错误的决策中,最终被Nvdia收购。
然而,从显卡到GPU的路径已经逐渐成熟。
开天辟地
1999年,Nvdia发布了革命性的Geforce256,在这个显卡行业的“无畏舰”之前,时代被划分了。支持硬件T&L的特征,让GPU的最后一步被打通。
开天辟地的Geforce256,硬件T&L的应用,让GPU完成了所有技术储备。
所谓的硬件T&L,是指的多边形转换与光源处理,在3D渲染中这是一个重要部分,其作用是计算多边形的3D位置和处理动态光线效果。
显卡变成GPU的终极特征被人们发现了,游戏中常常出现的一类操作是对海量数据进行类似的运算,如:同样的生成像素,三角形并给予不同的颜色。
在2003-2004年左右,图形学之外的领域专家开始注意到GPU与众不同的计算能力,开始尝试把GPU用于通用计算(即GPGPU)。
2007年,NVIDIA发布了CUDA,第一次让GPU能够解决复杂的计算问题。
AMD和Apple等公司也发布了OpenCL。
GPU的时代正式来临。
改天换地
GPU计算带来的好处显而易见。
CPU会利用较高的主频、cache等各种方法,使自己变成一个干活的将军。
GPU则通过数量夸张到疯狂的流处理器实现大量线程并行,相当于成立了一个计算军队,从而提高数据的吞吐量。
而CPU+GPU的结合,一支计算的超级军队就诞生了,这就是异构计算。
在科学界,GPU引起了惊人的瞩目。AMBER是一款分子动力学软件,在运用了异构计算以后,效率提高了几十倍。
在金融市场,第一代异构计算就帮助巴黎银行提高了18倍的金融计算效率。
据报道,德克萨斯大学西南医疗中心的医用物理学家正在研究如何利用运算速度越来越快的GPU大幅度缩短放疗方案的计算时间,以前需要70个小时才能完成的复杂质子放射疗法计算只需要短短10秒钟。
如果不进行快速治疗,癌细胞很可能会扩散到其他区域,时间拖得太长的话,病人肿瘤的几何形状也会发生变化。
更重要的是,GPU强大的并行运算能力缓解了深度学习算法的训练瓶颈,从而释放了人工智能整个行业。在使用了基于异构计算的GPU加速以后,将过去面向海量数据可能需要几个月甚至几年的时间才能完成的训练,变成了数个小时。
而在越来越多的超级计算机中,GPU也在成为主力。
显卡(GPU),真的成为了科学先锋。
未来已来
未来,当人们回顾起2016~2017的时候,一定会把这些事联系到一起,并加上一个标题“智能崛起”。
2016年,被称为人工智能的元年,于此同时,GPU计算芯片厂商Nvdia的股价从40美金一路上扬,突破了170美金,另外一个芯片厂商AMD股价也连续翻了6倍,华尔街似乎形成了共识:计算力,将成为最有价值的生产力。
而同年,谷歌的人工智能“阿尔法狗”,击败了世界上最棒的围棋冠军。
在中国,阿里云的人工智能解决方案ET城市大脑,将城市的通行效率最高提升了10%,这是人类历史上第一次将人工智能用于社会治理的实践。
2017年,在阿里云的异构计算及高性能产品发布会上,笔者看到PPT中引用了屈原的《天问》:上下未形,何由考之?
这,也许就是计算要回答的终极答案。
这就是一张打游戏的显卡,变成科学先锋和人工智能助推器的故事。