“快速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”