PGPU (General Purpose GPU)称为GPU通用计算。几十年来,计算机CPU芯片一直按照摩尔定律飞速发展,每隔十八个月,单位芯片面积上的晶体管数量就增加一倍,性能提高一倍。靠提高主频来提升性能的路线在21世纪初走到了尽头,CPU存在严重的内存墙和功耗墙。内存延时长、频率低导致缓存面积越来越大,逻辑控制越来越复杂。缓存消耗了70%以上的芯片面积,同时也消耗了70%以上的电能,真正有效的运算部件面积比重很小。芯片上的晶体管密度越来越大,使得单位面积上功耗持续增加,散热问题日益严重。
提高主频难以为继,CPU进入多核时代,在一个封装内放置多个频率较低的核心。虽然单个核心的性能有所下降,但整体性能有很大提升。多核CPU由双核发展到四核、八核、十六核。随着核心数的增加,核心间的通信、协作开销增大,整体性能没有随着核心数量线性长,缓存的面积也没有降低,内存墙依然存在。
GPU计算是指利用图形卡来进行一般意义上的计算,而不是传统意义上的图形绘制。时至今日,GPU已发展成为一种高度并行化、多线程、多核的处理器,具有杰出的计算功率和极高的存储器带宽。
GPU的优越性能来自特殊的体系结构。为将绝大部分晶体管用于运算器,而非浪费在缓存和逻辑单元上,GPU采用了多种有效措施。将核心频率降低到显存频率以下,解决数据需求、供应速度不匹配的问题;采用极轻量线程,用大量线程的快速切换来隐藏存储器延时;简化核心,同一个逻辑单元控制多个核心,减少了逻辑单元面积。
目前,各行业主流软件竞相采用通用GPU加速。如分子动力学软件Amber,DL-POLY, Gromacs,LAMMPS,NAMD;量子化学软件GAMESS-US,TeraChem;材料科学软件VASP,PWscf;计算流体力学软件FEFLO;计算结构力学软件ANSYS;电子设计模拟软件CST Microwave Studio;数值计算软件Jacket, Mathematica,MATLAB;已经支持GPU加速的知名软件数以百计,而且在快速增加。
GPU加速的特点在于:擅长大规模并行数值运算,逻辑判断、分支跳转会导致性能急剧下降;适合在相对少量数据上做大量计算,否则数据在主机-设备间的传输开销会抵消GPU加速带来的收益;运算规模大、并行度高,线程数量最少5000;最新的GPU卡需要PCIe3.0接口;不同节点上的GPU通信需要高速互连网络;很多应用软件目前不能在一个节点上使用多个GPU加速卡,不同节点上的GPU不通信;自编软件可以在同一个节点上使用多个GPU;多颗GPU通过MPI技术共同完成一个大任务。
鉴于GPU通用计算的特点,推荐以下GPU高性能计算解决方案:
1.润宇Ra系列服务器结合:润宇XRTorque高性能作业调度系统、XRLustre高性能文件系统
使用CST Microwave Studio等软件加速本节点计算时,可配置大规模集群,计算节点采用灵活的润宇Ra380 服务器,在散热良好的情况下,单节点配置两颗NVIDIA Tesla K40或K80;网络采用高带宽低延时的InfiniBand FDR 56Gbps网络设备,以保证并行扩展性;存储可采用高性价比的盘阵方案(小规模集群),也可以采用高性能的并行文件系统:润宇XRLustre高性能文件系统。 (XRForman自动化部署系统和XRNagios智能监控系统,可选)
2.单台润宇Ra系列服务器
自编写的程序,几乎所有计算都在GPU上完成,需要在同一节点内使用尽可能多的GPU。
推荐配置润宇Ra580服务器,4U空间内可配置四颗NVIDIA Tesla K40。