可编程图形芯片进入并行计算领域
时间:06-06
来源:互联网
点击:
在传统领域一枝独秀的高端图形芯片现在也要开始进入并行计算领域。图形芯片厂商nVidia在年初召开的“nVidia专业图形解决方案高端论坛”上,非常高调地表示将在更多新兴领域大显身手。
Andy Keane: FPGA仅在金融领域与可编程GPU形成竞争,其它并行计算领域没有威胁。
“石油/天然气/地震资料处理、金融风险建模、医疗成像、有限元计算、生物序列匹配等新兴应用领域需要大规模并行计算能力,而我们专业的可编程GPU具有128个处理器内核,非常适合于这些并行计算场合的需要,”nVidia专业解决方案事业部全球销售副总裁Walter Mundt-Blum说道。他以金融行业为例进行了解释,金融是并行计算的一个重要领域,如实时期权隐含波动引擎需要多个画面图形数据分析,进行互换期权波动计算,而GPU能进行单精度准确性计算,可在不到1秒钟的时间内评估所有美国的股票期权。
还有一个例子是医疗成像。在先进的医疗设备当中,比如像CT机或者是核磁共振,往往传感器会给出大量数据需要同时进行处理,这对GPU来说非常适用。“另外像地质堪探,往往要处理非常大量的数据,甚至有时候会使用T字节级的数据进行分析。这个领域已有用户在使用我们的GPU,与CPU相比GPU的速度可提高17~20倍左右,假设你用一个GPU的话,可能得使用20个CPU才行。”Mundt-Blum说道。
另外一个非常有趣的领域就是可编程GPU能够使机器有一些认知能力,像狗的嗅觉一样,使机器能够闻出癌细胞。nVidia已在美国和一家公司合作,对嗅觉进行一些和模拟,利用GPU教电脑学会闻东西,预计几年之后我们就会看到这类研究和制作成果。
然而,大规模并行计算领域也正是其它新型半导体器件如多核CPU、多核DSP以及FPGA等瞄准的新兴应用,CPU和DSP向多核发展正是因为看好并行计算这个巨大的市场,而FPGA天生就在并行计算上具有优势。
众所周知,传统GPU是基于ASIC结构,是不可编程的,现在nVidia大力推广其可编程GPU,也是因为看好并行计算这一重要的市场,但他们一定会面临其它技术的巨大压力。“我们承认在某些领域与一些器件有冲突,比如在金融领域与FPGA有冲突,但是与其它器件冲突不会很大,GPU不与多核CPU冲突,而是与其互补。另外,多核DSP在并行计算领域的应用刚开始,还不是竞争对手。”该公司GPU计算事业务部总经理Andy Keane对本刊表示。Keane曾在赛灵思公司任职,在赛灵思早期进行的可重配置计算以及FPGA系统开发中发挥了重要作用。他解释道:“FPGA针对金融领域的并行计算比较有优势,但是在其它领域不构成竞争。此外,其可编程性不如GPU,且FPGA的开发时间长,FPGA芯片也在不断变化。可编辑GPU使用起来更方便,我们采用了基于C++语言的开发环境CUDA。”
对于业界普遍认为可编程GPU将与多核CPU竞争的观点他并不认同,因为两者完成的功能不同,多核CPU更适合于操作系统、数据库、产能、临时压缩、递归算法等的处理。CPU的特长是当从高速缓存获取数据时,尽可能快地执行一系列顺序指令。CPU以很小的单位管理数据并顺序地进行处理,信息的每个部分都必须等待着经过单独的执行单元,单独的执行单元非常灵活,但不能并行地处理信息。而可编程GPU被设计用于进行一种完全不同的处理方式。在GPU内部有128个处理器,每个处理器都可以同时采用并行方式计算一部分数据,此外GPU硬件设计能够管理数千个并行线程,这些线程全部由GPU创建和管理,不需要开发人员进行任何编程和管理,设计方便可行。可编程GPU上还有快速存储系统——最大可至每秒76Gb。通过将并行计算放在GPU上而同时将串行计算放在CPU上,应用程序可以从这两种计算中充分受益。“我们不会替代多核CPU。”Keane再次强调道。
其实nVidia在2002年就引入了在GPU中进行计算的技术,推出了第一个可编程GPU,“那时我们的编程单元只涉及了GPU的很小一块——着色器,于是在2002年,我们开始有了可编程的着色器。”Keane介绍道。通过将32位浮点技术搭载在GPU中,该公司期待开发人员将GPU超强的计算能力用于应用程序而不是图形。但早期的GPU是用类似OpenGL或Cg的图形API编程的,这些API很难并且大多数开发人员对这类API也不熟悉。
2003年,nVidia开始了一项旨在使GPU计算更容易的全新尝试,并于2006年成功推出基于现在8系列GPU的CUDA技术。该公司开发了一个C程序,然后把CPU的代码和GPU的代码在源代码当中共存,而CUDA则成为串行计算和并行计算的连接。目前所有的8系列GPU,包括从笔记本电脑到高性能计算系统,都具有CUDA技术。为方便统一串行CPU编程以及采用GPU并行计算,nVidia还设计了CUDA环境。“将来,我们认为CUDA环境还会用在GPU以外的处理器上,”Keane表示。“两种计算方式——串行处理和并行计算——在每个应用程序中都具有其可取之处,CUDA将是统一这两种处理和计算方法的计算方式。”
目前nVidia高性能GPU有三个平台,即用于高性能计算的Tesla、用于专业工作站图形处理的Quadro以及用于娱乐的GeForce。Tesla适合的应用包括地震、Monte Carlo服务器、分子动力学、天体物理学和信号处理;Quadro适合的应用包括图像、体视化、医学成像、专业视频和CAD等;GeForce适合的应用包括图像、音频、编码/解码、压缩和安全性应用。GeForce平台中目前仅有G8系列支持CUDA。“主要的区别在于Quadro支持OpenGL,性能是GeForce的五倍,尤其是它通过Shader Model 4.0、OpenGL和DX10进行了性能加速提高,更多关注垂直市场;Tesla集成内存控制器和内存,这对高性能计算非常重要。”Keane解释道。
nVidia的目标是将并行计算能力带入所有领域。随着在所有nVidia的8系列GPU上都加入CUDA技术,配备CUDA的GPU现已经超过5千万个。nVidia使得开发GPU并行程序更为简单。将来,任何开发人员都能轻松地获得一枚使用在笔记本电脑、低成本PC或高性能工作站中的可编程GPU。
Andy Keane: FPGA仅在金融领域与可编程GPU形成竞争,其它并行计算领域没有威胁。
“石油/天然气/地震资料处理、金融风险建模、医疗成像、有限元计算、生物序列匹配等新兴应用领域需要大规模并行计算能力,而我们专业的可编程GPU具有128个处理器内核,非常适合于这些并行计算场合的需要,”nVidia专业解决方案事业部全球销售副总裁Walter Mundt-Blum说道。他以金融行业为例进行了解释,金融是并行计算的一个重要领域,如实时期权隐含波动引擎需要多个画面图形数据分析,进行互换期权波动计算,而GPU能进行单精度准确性计算,可在不到1秒钟的时间内评估所有美国的股票期权。
还有一个例子是医疗成像。在先进的医疗设备当中,比如像CT机或者是核磁共振,往往传感器会给出大量数据需要同时进行处理,这对GPU来说非常适用。“另外像地质堪探,往往要处理非常大量的数据,甚至有时候会使用T字节级的数据进行分析。这个领域已有用户在使用我们的GPU,与CPU相比GPU的速度可提高17~20倍左右,假设你用一个GPU的话,可能得使用20个CPU才行。”Mundt-Blum说道。
另外一个非常有趣的领域就是可编程GPU能够使机器有一些认知能力,像狗的嗅觉一样,使机器能够闻出癌细胞。nVidia已在美国和一家公司合作,对嗅觉进行一些和模拟,利用GPU教电脑学会闻东西,预计几年之后我们就会看到这类研究和制作成果。
然而,大规模并行计算领域也正是其它新型半导体器件如多核CPU、多核DSP以及FPGA等瞄准的新兴应用,CPU和DSP向多核发展正是因为看好并行计算这个巨大的市场,而FPGA天生就在并行计算上具有优势。
众所周知,传统GPU是基于ASIC结构,是不可编程的,现在nVidia大力推广其可编程GPU,也是因为看好并行计算这一重要的市场,但他们一定会面临其它技术的巨大压力。“我们承认在某些领域与一些器件有冲突,比如在金融领域与FPGA有冲突,但是与其它器件冲突不会很大,GPU不与多核CPU冲突,而是与其互补。另外,多核DSP在并行计算领域的应用刚开始,还不是竞争对手。”该公司GPU计算事业务部总经理Andy Keane对本刊表示。Keane曾在赛灵思公司任职,在赛灵思早期进行的可重配置计算以及FPGA系统开发中发挥了重要作用。他解释道:“FPGA针对金融领域的并行计算比较有优势,但是在其它领域不构成竞争。此外,其可编程性不如GPU,且FPGA的开发时间长,FPGA芯片也在不断变化。可编辑GPU使用起来更方便,我们采用了基于C++语言的开发环境CUDA。”
对于业界普遍认为可编程GPU将与多核CPU竞争的观点他并不认同,因为两者完成的功能不同,多核CPU更适合于操作系统、数据库、产能、临时压缩、递归算法等的处理。CPU的特长是当从高速缓存获取数据时,尽可能快地执行一系列顺序指令。CPU以很小的单位管理数据并顺序地进行处理,信息的每个部分都必须等待着经过单独的执行单元,单独的执行单元非常灵活,但不能并行地处理信息。而可编程GPU被设计用于进行一种完全不同的处理方式。在GPU内部有128个处理器,每个处理器都可以同时采用并行方式计算一部分数据,此外GPU硬件设计能够管理数千个并行线程,这些线程全部由GPU创建和管理,不需要开发人员进行任何编程和管理,设计方便可行。可编程GPU上还有快速存储系统——最大可至每秒76Gb。通过将并行计算放在GPU上而同时将串行计算放在CPU上,应用程序可以从这两种计算中充分受益。“我们不会替代多核CPU。”Keane再次强调道。
其实nVidia在2002年就引入了在GPU中进行计算的技术,推出了第一个可编程GPU,“那时我们的编程单元只涉及了GPU的很小一块——着色器,于是在2002年,我们开始有了可编程的着色器。”Keane介绍道。通过将32位浮点技术搭载在GPU中,该公司期待开发人员将GPU超强的计算能力用于应用程序而不是图形。但早期的GPU是用类似OpenGL或Cg的图形API编程的,这些API很难并且大多数开发人员对这类API也不熟悉。
2003年,nVidia开始了一项旨在使GPU计算更容易的全新尝试,并于2006年成功推出基于现在8系列GPU的CUDA技术。该公司开发了一个C程序,然后把CPU的代码和GPU的代码在源代码当中共存,而CUDA则成为串行计算和并行计算的连接。目前所有的8系列GPU,包括从笔记本电脑到高性能计算系统,都具有CUDA技术。为方便统一串行CPU编程以及采用GPU并行计算,nVidia还设计了CUDA环境。“将来,我们认为CUDA环境还会用在GPU以外的处理器上,”Keane表示。“两种计算方式——串行处理和并行计算——在每个应用程序中都具有其可取之处,CUDA将是统一这两种处理和计算方法的计算方式。”
目前nVidia高性能GPU有三个平台,即用于高性能计算的Tesla、用于专业工作站图形处理的Quadro以及用于娱乐的GeForce。Tesla适合的应用包括地震、Monte Carlo服务器、分子动力学、天体物理学和信号处理;Quadro适合的应用包括图像、体视化、医学成像、专业视频和CAD等;GeForce适合的应用包括图像、音频、编码/解码、压缩和安全性应用。GeForce平台中目前仅有G8系列支持CUDA。“主要的区别在于Quadro支持OpenGL,性能是GeForce的五倍,尤其是它通过Shader Model 4.0、OpenGL和DX10进行了性能加速提高,更多关注垂直市场;Tesla集成内存控制器和内存,这对高性能计算非常重要。”Keane解释道。
nVidia的目标是将并行计算能力带入所有领域。随着在所有nVidia的8系列GPU上都加入CUDA技术,配备CUDA的GPU现已经超过5千万个。nVidia使得开发GPU并行程序更为简单。将来,任何开发人员都能轻松地获得一枚使用在笔记本电脑、低成本PC或高性能工作站中的可编程GPU。
GPUCPU并行计算可编程FPGA图形芯片厂商Quadro着色器DSP串行处理 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)