超越超级计算机?解析NVIDIA Tegra X1
2015-04-29
去年那则NVIDIA要退出手机市场的消息广泛传播,让大家觉得NVIDIA可能真的要放弃移动芯片市场了,而之后NVIDIA CEO黄仁勋在接受采访时又表示,NVIDIA并不是要完全退出移动设备市场,而是希望在平板、车载电脑、游戏机顶盒市场上有所作为,这也为后面埋下了伏笔。
NVIDIA已经连续几年在每年开头的CES上发布新一代的Tegra移动处理器了,所以今年黄仁勋再次亲自登台发布Tegra X1,大家并不觉得意外。虽然前两代作品并不算特别成功,但是作为一款宣称性能达到TFlops级别,媲美15年前超级电脑的移动处理器,Tegra X1还是成功的吸引了大家地关注。
全新旗舰级移动处理器Tegra X1配备了八核64位CPU以及256核Maxwell GPU,CPU设计部分和高通骁龙810以及三星Exynos7系列相似,256核GPU光看数量就已经堪比入门级桌面独显了,而跑分自然也碾压了上代产品K1和苹果A8X。那么Tegra X1究竟为何如此强悍,又是否真的具备其所说的那样达到超级计算机的技能能力呢?下面我们来一一解析。
CPU:放弃自主构架用公版
Tegra X1采用了ARM的标准Cortex架构,而没有采用大家想象中的Tegra K1的Denver架构增强版。无独有偶,竞争对手高通这次也放弃了之前为之骄傲的Krait架构,同样也选用了ARM的标准Cortex架构。作为基于ARM标准Cortex深度定制的版本,英伟达和高通为Denver和Krait架构付出了相当多心血,在这个时候放弃自主架构,很容易让人想到是为了降低研发周期尽早上市。而且Tegra X1和骁龙810在处理器核心上的选择也惊人的相似,均搭载了四颗Cortex-A57性能核心和四颗Cortex-A53低功耗核心。
具体来看,Tegra X1 A57核心采用了2MB共享二级缓存,每个核心还有48KB一级指令缓存和32KB一级数据缓存,A53核心共享512KB二级缓存,同时每个核心有32KB一级指令缓存和32KB一级数据缓存。NVIDIA吸取了之前在Tegra3上就开始应用的4-PLUS-1设计经验,Tegra X1能够实现比其他同样采用A57/A53 CPU的SoC方案具有更高的能耗比,同时该系统采用缓存一致性解决方案,不会像类似方案那样损失功耗和性能。
虽然从处理核心的角度来看,Tegra X1和骁龙810的差距不大,不过其实两者还是有很多区别的,各种优化方案和电源管理的加入,使得两者最终的表现可能会大相径庭。
另外,Tegra X1和骁龙810也都使用了20nm工艺制程,核心面积得以缩小并且功耗得到了更好的控制。NVIDIA目前尚未公布Tegra X1的主频,从曝光的跑分测试来看,其主频可能为1.9GHz-2.0GHz,而高通骁龙810的最高主频可以达到2.7GHz。NVIDIA宣称,Tegra X1在同等的CPU性能下和同级别SoC相比能够提供几乎2倍能耗比,在同等能耗比下则能提供后者1.4倍的CPU性能。如果这真能实现,还是非常恐怖的。
GPU:Maxwell架构加持 1TFlops FP16浮点性能
除了处理器内核中看不到的区别之外,NVIDIA Tegra X1和高通骁龙810最大的区别就在于两者搭载的GPU了。作为一家从GPU起家的公司,NVIDIA无论在桌面还是移动市场都对GPU有着非常高的重视程度。
NVIDIA花了两年的时间将Kepler微架构应用在了移动处理器K1上,而如今Maxwell微架构从推出到登陆移动处理器上只花了一年的时间,另外,Tegra X1采用的是第二代Maxwell架构,它在桌面上推出到X1推出也才经过了一个季度而已,进步速度可以说相当明显。相比于配备192个渲染核心的Tegra K1,Tegra X1的GPU配备了多达256个Maxwell架构渲染核心。256个CUDA核心在Maxwell架构中正好是2组SMM单元,而Tegra K1所用的192个CUDA核心在Kepler架构中是1组SMX单元,所以虽然CUDA核心数提升并不多,但2组SMM单元对1组SMX单元,纹理单元、ROP单元也都大大增强了,均有16个,尤其后者翻了两番,性能依旧得到了大幅提升。
新架构的许多新图形特性包括更高效的CUDA核心、更优秀的SMM阵列、第三代Delta色彩压缩、保守光栅化算法、体积区块资源(DX11.2)、多帧抗锯齿(MFAA)等也被带到了Tegra X1上。
值得一提的是,和开普勒一样,麦克斯韦架构也只有专门的单精度FP32、双精度FP64 CUDA核心,并没有给FP16分配独立资源。在半精度FP16的支持上,NVIDIA称之为“双倍速FP16”(Double Speed FP16)。Tegra K1 FP16操作会被给予和FP32相同的待遇,每一个都交给FP32 CUDA核心处理。Tegra X1上如果条件允许,则会将两个FP16合并成一个Vec2,交给单独一个FP32 CUDA核心去处理,同时要保证这两个FP16操作属于同一类型,比如都是加法或者乘法。所以说,NVIDIA宣称的原生支持FP16并不完全准确,相对竞争对手来说还是会差一些。ARM Mali、Imagination PowerVR都有独立的FP16单元,AMD GCN 1.2版也会引入。FP16在Android显示合成里使用非常频繁,游戏里也大量使用,同时它还能参与图形计算,如图像识别,在NVIDIA Drive PX车载平台里就需要用到它。
回过头来看竞争对手的骁龙810,其则配备了288个渲染核心的Adreno 430 GPU。虽然数量比Tegra X1还要多,但是主频只有600MHz。Tegra X1的GPU主频虽未公布,但是按照NVIDIA宣称的1TFlops FP16浮点性能,那么应该是1GHz以上(1GHz×2FP16×2FMA×256=1TFlops),这样的话Tegra X1的GPU性能超过骁龙810应该是没有什么悬念。
从现有曝光的测试来看,BaseMark X测试中,Tegra X1的成绩为56.9FPS,苹果A8X为40.2FPS,而Tegra K1则是36.3FPS。3DMark 1.2版Unlimited模式中,Tegra X1的成绩为58448,苹果A8X为31781,而Tegra K1则是36688。GFXBench 3.0 Manhattan 1080p (Offscreen)测试中,Tegra X1的成绩为63.6FPS,苹果A8X为32.6FPS,而Tegra K1则是31.7FPS。Tegra X1成功地碾压了苹果A8X和前作K1,另外在功耗上的表现依旧非常优秀,Tegra X1的GPU部分功耗大约只有1.51W的样子,而苹果A8X的GPU部分功耗则达到了2.67W。
不过值得我们注意的是,从现在NVIDIA的意思来看, Tegra X1主要的应用领域是在车载电脑领域,凭借强大的CPU和GPU性能,Tegra X1不仅能够在汽车行驶过程中计算距离,而且还能同时处理来自多达六个摄像头的视频信号。但是如此强大的性能,进入平板市场应该也是迟早的事情,但是在这些领域,Tegra X1可能不得不为了节省电量和出于散热考虑而降低频率,另外还需要考虑到GPU对游戏数据包的兼容性问题,因此实际的体验或许并不会和测试一样比目前市面上的高端处理器优秀太多。
其他性能同样优秀
除了强大的处理器性能之外,作为一颗移动处理器,多媒体性能、通信功能和其他功能也是非常重要的。NVIDIA Tegra X1支持60fps 4K视频通过HDMI 2.0接口输出,同时还支持H.265/H.264编解码,JPEG图片的压缩和解压缩速度也得到了大幅提高。此外,Tegra X1还支持eMMC 5.1、蓝牙、Wi-Fi、NFC、GPS以及搭配2G/3G/4G通信基带。相对来说,骁龙810在这方面的表现稍差,只支持eMMC 5.0,只能通过HDMI 1.4输出或编辑4K/30fps的视频,但是骁龙810整合了支持LTE Cat. 9网络的基带,最高数据下载速度可达450Mbps,让其在手机领域能有更加出色的表现。
内存带宽作为限制移动SoC性能的瓶颈一直是各大芯片厂商需要想办法解决的部分。传统的解决方案是增加位宽,但这个解决方案会大大提高复杂度和实现成本。Tegra X1已经使用64-bit位宽,但是在内存压缩上大做文章,采用了第三代Delta色彩压缩和新的端到端压缩技术,再辅以频率可达1600MHz 的LPDDR4内存,峰值带宽可达25.6GB/s,内存带宽问题得到了很好的解决。
超过超级计算机,还只是期望
NVIDIA宣称Tegra X1的性能超过了15年前最快的超级计算机ASCI Red,那么这是真的吗?较真是一件很有趣的事,下面我们一起来看看。
ASCI Red在美国能源部桑迪亚国家实验室服役了十年之久,是全球第一台每秒能够达到万亿次浮点运算的超级计算机系统,ASCI Red的占地面积超过了150㎡,功率高达500kW,且为其所占空间散热还需再消耗500kW的电能,而Tegra X1只有拇指指甲大小,功耗不到15W。如此大的差异在让人感叹科技进步的同时,不得不问,这是真的吗?
这其实只是CEO老黄的一个文字游戏而已,通过Tegra X1的16位浮点性能和ASCI Red的64位浮点性能进行比较而得出的,也就是说X1的FP16性能接近了ASCI Red的FP64性能。目前16位浮点运算虽然能够满足某些图像应用程序的需要,但是对于高性能计算应用却还差得很远,所以FP16对比FP64并没有太大的可比性,由于Maxwell架构并不是为超级计算机设计,而64位浮点计算速率只相当于32位浮点计算速率的1/32左右,因此Tegra X1中的256个渲染核心在32位浮点下能够实现512GFlops浮点运算能力的话,那么在64位浮点计算下其速度仅为16GFlops浮点运算能力而已,距离ASCI Red的TFlops级别还太远太远。但在16位浮点计算下能够达到1TFlops的计算速度还是足以证明了Tegra X1拥有强大的性能,只是取代超级计算机还只是一个遥远的期望而已。
进军智能汽车市场
借助强大的性能,NVIDIA在CES2015上推出了两套基于Tegra X1的车载平台:“Drive CX”和“Drive PX”。Drive CX是一套全数字化的汽车计算套装,硬件上依靠Tegra X1,软件则是“Drive Studio”,可以实现车载娱乐、导航等全套功能,整个驾驶界面也是硬件渲染3D的,一个完整的解决方案。
Drive PX则是一个自动驾驶开发平台,使用了两颗Tegra X1,支持最多12路摄像头输入,浮点性能2.3万亿次。NVIDIA宣称该系统会调动CPU、GPU、VPE、ISP等几乎所有处理模块,并使用了GPU运行的神经网络技术,可实时处理路况信息,包括其他车辆、信号灯、路标、道路标志、监控摄像头等等,甚至部分行人。另外还拥有基于“Surround Vision”(环绕立体视觉)的自动泊车,会根据摄像头数据,生成停车场环境模拟,寻找停车路径,自动放好。
好技术不愁没人赏识,奥迪已经表示将引入“Drive CX”和“Drive PX”以帮助自己实现驾驶室数字化和自动驾驶。而基于该系统的Renovo Coupe复古电动超跑也将在今年内发售。
毫无疑问,NVIDIA Tegra X1已经成为了目前移动平台最强劲的处理器,不过英伟达表示智能手机和平板电脑现在还用不到Tegra X1的超强性能。我们需要注意的是,强大的性能带来的高功耗和高发热也是智能手机和平板电脑所不希望看到的,所以Tegra X1更适合智能汽车组件等对性能有着极高要求且无需严格限制功耗的领域。至于手机和平板,今年估计还是高通骁龙810的天下。而挑战Tegra X1的高通的骁龙815/820也在计划之中,到底鹿死谁手,我们拭目以待。