近年来,关于使用GPU协同CPU进行大规模高性能并行计算的做法引起了业界的广泛关注。特别是从去年以来,NVIDIA公司在全球推出了基于“CPU+GPU”混合架构的Tesla高性能计算系统,并推出了基于CUDA架构的软件编程环境。那么,Tesla和NVIDIA公司传统的Quadro、GeForce显卡有什么区别呢?Tesla在高性能计算领域的性能表现和应用前景如何呢?
Tesla和Quadro、GeForce的区别
记者:从硬件层面看,Tesla配备的显存容量比GeForce更大。但Quadro也有一些4GB显存的版本。NVIDIA如何说服消费者购买Tesla产品而不去选择价格更便宜的Quadro或GeForce呢?
Andy:这里其实有两个问题。
确实有4GB显存的Quadro显卡,但是其价格远高于Tesla。Quadro支持高速OpenGL渲染,速度远高于GeForce,因此这项技术的价格自然高于Tesla。Tesla不支持OpenGL。
记者:在后续产品及芯片技术规格上,Tesla是沿用同期的GeForce和Quadro产品,还是采用只为计算用途而重新设计的芯片和架构?
Andy:当前的策略是在Tesla产品线中采用具备特殊特性的标准GPU。现在,GeForce、Quadro以及Tesla中的计算特性是相同的,但是在将来的产品中,Tesla将拥有专为高性能计算而设计的其它特性。这些产品线中的性能级别也会有所变化。
GPU与CPU计算的不同
记者:Tesla基于NVIDIA CUDA,该技术最显著的特点就是能够利用GPU的并行计算能力,在大规模、高带宽计算中有着极大的优势。 但是,面对串行计算密集型任务,Tesla是否有解决办法呢?
Andy:GPU及其内部的CUDA架构是专为并行计算而设计的。
串行计算是一种有很大区别的架构,这种架构的设计目的是为了解决不同的问题。CPU执行指令的方式就是一个接着另一个地执行。CPU中有许多能够加速串行计算的技术。高速缓存、无次序执行、超标量技术、分支预测……均为抽取指令的技术或一系列指令的串行级并行机制。CPU对片上高速缓存的设计与容量的依赖也非常大。如果程序大小与CPU高速缓存容量不匹配,那么该程序在CPU上的运行速度将会很慢。
GPU内部的并行计算架构围绕两个基本概念而设计。首先,程序中的数据可分成许多个部分,而为数众多的核群可以并行地处理这些数据。第二个架构方面的设想是,数据将不与高速缓存匹配。例如在图形计算或石油天然气数据处理上,数据量可能会达到兆字节甚至是太字节,用高速缓存来容纳如此巨大的数据量几乎是不切实际的。考虑到这两点设想,GPU被设计为能够使用数以千计的线程,所有线程均并行地执行,能够访问巨大容量的本地存储器。在最新的Tesla产品中,每颗GPU均配备4GB存储器,可容纳待执行的数据。同时针对反复使用的数据,还设有较小的片上存储空间,GPU所配备的巨大容量存储器等同于CPU内部的高速缓存,只是容量大了许多倍而已。
|
文章评论