33.7K
7979
GPU
对图像进行处理的相关计算。
1999年,美国英伟达公司推出世界上第一款图像处理器芯片。2001年,科学计算开发人员从矩阵乘法运算着手GPU通用计算。2008年,英伟达推出支持CUDA的Tesla架构显卡之后,GPU迅速转向实用,在计算力学、地质科学、生命科学、雷达遥感、计算金融等领域得到应用。
21世纪以来,GPU已经成为高性能计算的重要角色。2017年11月最新的TOP500数据显示,世界排名前500的超级计算机中,有87台采用了GPU协处理器。Volta架构动摇了2018年的TOP500版图,它的性能飞越能够重新定义超级计算机:过去,千万亿次计算意味着一个机房、一个集群,现在仅需要一个8卡GPU节点就能实现。
GPU微架构以高度并发为基础特征,其并行编程模型主要是CUDA和OpenCL。前者是一个配备完整工具包、针对单一供应商(英伟达)的成熟开发平台,具有统一的开发套件(CUDA Toolkit、NVIDIA GPU Computing SDK、NSight等)、非常丰富的库(cuBLAS、cuFFT、cuSPARSE、cuRAND、NPP、Thrust、NCCL等)以及PTX汇编代码生成、离线编译等成熟的编译器特性;后者是一个有着开放的标准,具有跨平台性和通用性,支持包括Nvidia、AMD、Intel、Qualcomm、ARM在内的多类处理器,能够更好地支持异构计算。
GPU的出现和发展,与传统CPU形成了强烈的对比和有效互补。CPU擅长处理具有复杂控制逻辑的任务,如操作系统、通用应用程序;而GPU擅长处理大量同类型数据上的密集数值计算。GPU的定位仍旧是CPU的加速器/协处理器,但是考虑到阿姆达尔定律,整体加速受限于不可并行的部分,应当尽量减少程序中的串行处理。