GPU+CPU开启高性能计算新趋势

间隙填充
正睿科技  发布时间:2011-06-23 17:43:15  浏览数:1608
“快速GPU集群优化计算、3D制图加速以及工业标准软件开发工具打开了GPU计算世界的大门。”??著名分析专家、Insight64创始人Nathan Brookwood

  在高性能计算(HPC)中使用图形计算单元(GPU)能使计算能力有一个显著的提升。就传统X86架构而言,GPU能让计算性能增长10-100倍,从而更高效地应对庞大的工作量。此外,在保持高效运算的同时,GPU的能耗却很低。

  从气候计算模型到医学投影,英伟达(NVIDIA)Tesla GPU应用在大量的科学和工业领域中,并将曾今不可能实现的科学极限变为现实。

  为什么需要GPU计算?


▲传统CPU计算架构增长已无法满足HPC的要求  

  随着计算性能需求的日益增长,HPC工业正向着混合计算的模型发展,在这个模型中,由GPU和CPU协同工作来处理普遍的工作任务。

  作为并行处理器,GPU善于处理大量相似的数据,因为它能将数据划分成成千上万个部分,然后同时进行处理。英伟达的GPU方案能加速对并行任务的处理。

  作为序列处理器,CPU就缺乏适合这种计算环境的设计,但是CPU能很好地处理序列型任务,比如运行操作系统,组织数据。

  并行加速

  
▲CPU与GPU内核比较

  基于X86架构的多核处理正面临诸多挑战,从2核扩展至4核乃至16核所带来的性能提升往往有限。尤其在4核以上的架构,内存带宽正成为运行性能增加的瓶颈。

  利用GPU的并行计算能力,程序员可以利用GPU中的成百上千个内核来提升关键应用性能。同样的,其他的应用也能调用系统中的内核。在GPU上运行功能需要对并行的程序进行重写,然后添加一些新的程序调用来指示哪些功能在GPU上运行,哪些功能在GPU上运行,在这种调整之下,关键应用在GPU上运行将更加快速。

  CUDA并行计算架构

  CUDA是英伟达的并行计算架构。基于CUDA架构的应用支持大量的开发语言,包括C、C++、Fortran、OpenCL和DirectCompute。

  
▲大规模并行CUDA架构允许开发者使用主流行业标准开发语言和工具

  CUDA架构包含成百上千个具备运行大量并行线程的核,CUDA编程模型使程序员只需关注并行程序与算法,而不用在乎开发语言。

  最新一代的CUDA架构名为“Fermi”,它具备了目前最高等级的GPU计算架构,具有30亿个晶体管,Fermi让CPU和GPU协作处理计算应用在各个方面,增加了对C++的支持,基于Fermi架构的GPU使得并行计算更简易并提升应用的运行性能,其应用遍及光绘图、元素分析、高精度科学计算、搜索算法等。

 


▲最新一代的CUDA并行计算架构“Fermi”