由自动驾驶谈到的


自动驾驶
显卡
通用计算

看到上面的关键词你想到了什么?不会想,你脑袋秀逗了吧,科技是你这么生拉硬扯的吗?
嗯,是有些扯淡……但扯的没你想象中的那么离奇
首先咱们还是先从PC端开始,PC是我们这篇文章的开端,从DirectX9.0c被称之为GPU发展历程中最具活力的时代走出来,微软逐渐意识到Pixel Shader这项技术在历史进程中留下了辉煌的一笔,但同样也在历史进程中埋下了隐患,通俗地讲,如果不考虑效率,DirectX 9.0C甚至完全可以实现迄今为止出现过的所有图形特效。但同样,单纯加大寄存器总量无疑是死路一条,这是受制程技术制约的。

于是微软走了出来,推出DirectX10,从DirectX9到DirectX 10,微软几乎将API打破重来以构建全新的渲染体系,DirectX10也成为了第一种影响硬件设计的图形API——统一渲染架构代替传统的分离渲染,从而赋予GPU更高的渲染效率和可编程能力,也为通用计算提供良好的基础。

而从DirectX11开始,通用计算才开始大行其道(注意通用计算不是微软提出的,但DirectX11却是推动通用计算的功臣),通用计算标志着显卡不再单纯是为游戏而设计的,这就导致了一些诉求:虽然CPU的逻辑判断能力、计算精度和单核心计算能力要比GPU更强,但是GPU的优势在于核心数非常多,与CPU的核心数量相比非常悬殊,因此在一些计算场合下效率要比CPU高很多,而这些场合就是通用计算的优势,事实上通用计算所涉及的领域非常多,我们处于一个数据量爆炸的时代,而其中大部分都是简单数据的叠加计算,这正是GPU的用武之地,也就是通用计算的用武之地。(PS:比特币,挖矿或许你们有人听过,它用到的技术就是基于GPU通用计算的数据挖掘)

然后我们谈到NVIDIA,在DirectX10失利以后,AMD和NVIDIA不再由着性子来,慢慢跟着微软制定的规则走,即DirectX11,NVIDIA意识到通用计算的前景,也同样是显卡的未来之路,于2008年正式收购AGEIA,它看上的是AGEIA推出的PhysX物理加速技术,现在某些玩家可能在游戏中看到PhysX物理加速选项,这就是NVIDIA通用计算的第一个用武之地,但通用计算涉及的领域绝不仅仅是游戏那么简单。

在兴起比特币挖矿风潮时,大众已经意识到通用计算所存在的价值,而NVIDIA绝对不会考虑的这么晚。

从2008年开始,NVIDIA就做了一件当时看起来不太靠谱的事情——与微软联合研制出一款处理器,该处理器集成了一个ARM处理器和一个显示核心。用于提高Windows Mobile平台的多媒体处理能力。这就是tegra的前身,随后推出了Tegra 600和Tegra 650,并于2010年CES上推出全球首款移动双核CPUTegra 2,引发了全球移动处理器核心数量的战争,又于2011年推出全球首款移动四核处理器tegra 3,2013年推出Tegra 4,是当时市面上第一款安兔兔破4万的处理器,然后在2014年又是CES上推出Tegra K1,又到现在的Tegra X1。但是功耗发热的问题一直未能解决,然而值得注意的是,随着NVIDIA推陈出新,可以发现从Tegra K1开始,它采用的是PC显卡的架构,Kepler和Maxwell。正是基于PC显卡的架构,核心数量过多(192个CUDA核心)无疑会使Tegra在移动领域水土不服,这使得Tegra不得不瞄准其它领域(参见http://news.mydrivers.com/1/293/293121.htm),在其他功耗不是太敏感的领域,tergra的性能不再受功耗限制,性能将会有质的提升。
在移动领域未能成功后,NVIDIA开始进军汽车领域,首个合作的就是奥迪,今年年初的CES上奥迪的自动驾驶可谓是逼格满满,让一辆处于原型车状态的A7 Concept Piloted Driving在zFAS的控制下以无人驾驶状态完成了从旧金山到拉斯维加斯的行程,其最高时速甚至一度达到了140 km/h。相比其他厂商谈高谈阔论不同,奥迪可谓是高冷十足:是骡子是马拉出来溜溜。而它其中的核心就是基于Tegra K1的zFAS(中央驾驶辅助控制系统),这标志着车载Tegra平台已经走向成熟,正式进入汽车最核心的应用领域。

得益于改进自Kepler GPU架构这一要素,TegraK1天生就具备了强大的并行处理能力,这种源自GPU通用计算的并行处理能力给了Tegra K1同时处理多个复杂任务的并行度和总处理能力。通过不断深入的优化,基于Tegra K1的zFAS从最初的高速赛道行驶到高速公路长途转场,再进化到今天的通过实际城市道路通勤时段,其强大的并行处理能力已经让车辆自动驾驶技术发展到了接近成熟量产的关键节点,zFAS系统能够走到今天,来自桌面GPU架构的设计可以说是功不可没的。

——摘自中关村在线

汽车自动驾驶除了强大的数据运算能力外,必须依托背后强大的云端数据总量支撑才能有所作为,也就是车载电子元器件与外界的沟通,包括与云端的连接,娱乐平台,还有与其它车辆、道路基础设施、或任何信息来源的数据进行互联。(说到这里我不得不吐槽一下,云最本质的概念是一切计算交由云端完成,而终端设备的工作只是单纯的数据采集并提供需求。但到现在为止这种意义上的云应用范围还是太小太小,虽然这种理想化的云距离现实还太远太远,但憧憬一下心里还是有些小激动的)

自动驾驶是一块很大的蛋糕,所涉及概念也非常广泛,但在中国无疑会有更好的环境,从14年4月《国家集成电路产业发展推进纲要》发布(链接http://news.mydrivers.com/1/371/371971.htm),到最近提出的“互联网+”的概念,可以看出中国对发展电子信息行业的重视程度,而自动驾驶在其中都有交集,可以预见未来几年内自动驾驶将是众企业抢占的一块地盘。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注