高性能计算是计算科学的一个分支,研究并行算法和开发相关软件,并致力于开发高性能计算机。目前较为流行的并行程序设计模型为基于消息传递MPI(Message Passing interface)的编程模式,基于共享内存的OpenMP模式和结合MPI+OpenMP的混合编程模型,以及利用GPU作为并行数据计算设备(GPU计算的模式就是在异构协同处理计算模型中,将CPU与GPU结合起来加以利用,应用程序的串行部分在CPU上运行,而计算任务繁重的部分则由GPU来加速)的MPI+OpenMP+CUDA的三级混合编程模型。本文基于中国科学院近代物理研究所超算中心的深腾7000G集群,进行GPU通用计算能力和并行编程模型的研究,采用MPI+CUDA多粒度混合编程模型,节点间使用MPI进行通信,实现粗粒度并行,节点内利用GPU强大的并行数据处理能力,使用CUDA架构实现细粒度的数据并行和线程并行。实验结果表明,该方法能使并行效率显著提高,同时证明MPI+CUDA混合编程模型能充分发挥集群节点间分布式存储和节点内共享存储的优势,为CPU+GPU混合架构的集群系统提供了一种有效的并行策略。
高性能计算四个历程
高性能计算机是信息产业的重要领域,是现代社会科学研究、社会服务、经济活动中一种极为重要且不可或缺的战略工具,世界上许多国家对计算能力的建设和计算科学的发展都给予了高度重视。自从1946年ENIAC(Electronic Numerical Integrator And Computer)在美国宾法利亚工程学院的摩尔电子工程学院诞生起,人类对高性能计算的追求就一直没有停止过,高性能计算经历了史前时代、向量机时代、大规模并行处理机时代、集群和超级计算机时代四个大的发展阶段。二十世纪九十年代中期,随着Linux操作系统的出现,微处理器和动态随机存储器速度的提升,PCI总线的研制成功以及局域网技术的发展,高性能计算的集群和超级计算机时代到来。现在,高性能计算机已经被广泛地应用到了生命科学、物理、化学、材料等研究领域,还被应用于能源、气候、环境、金融、游戏等产业与公共服务领域,高性能计算的普及在一定程度上改变了科学研究的方式,已成为继理论科学和实验科学之后科学研究的第三大支柱。
深腾7000G集群介绍
深腾7000G集群专为连接GPU设计。节点机采用基于Intel架构的商用服务器,节点间通过高速通信网络实现互连,能够很好地支持大规模科学工程计算,具有节点选择丰富灵活、机群域网专业高效、基础架构完备可靠等技术优点。
深腾7000G集群包含100个计算节点,每个计算节点均含有2个Xeon E5504CPU处理器和2个TeslaC1060GPU处理器,2GB内存,500GB硬盘。深腾7000G集群安装的操作系统为Red Hat Enterprise Linux Server release5.6,采用了著名的开源作业处理系统Torque+Maui的资源管理组合,同时部署了ganglia监控系统,便于系统管理员和用户实时了解集群的相关运行状况,并提供了MPICH、IntelMPI等并行计算环境和CUDA-SDK、CUDA-Toolkit等相关GPU开发平台,充分利用了集群提供的众多GPU强大的计算能力。
MPI+CUDA编程模型研究
MPI和CUDA介绍
MPI(Message Passing Interface)是一种消息传递机制,吸取了众多消息传递系统的优点,是目前国际上最流行的并行编程环境之一,尤其是分布式存储的可缩放并行计算机和工作站网络以及集群的一种编程范例。MPI具有可移植性和易用性、完备的异部通信功能、正式和详细的精确定义等优点,为并行软件产业的增长提供了必要的条件,在基于MPI编程模型中,计算由一个或多个彼此通过调用库函数进行消息收、发通信的进程组成。MPICH是MPI标准的一种最重要的实现,本文研究基于MPICH2版本。
CUDA(Compute Unified Device Archi-tecture)是nVIDIA公司推出的基于GPU的通用计算模型。在CUDA编程模型中,GPU作为一个协处理器能产生大量线程,这种优势要得益于GPU的物理构造,GPU由许多晶体管组成,专为计算密集型、高度并行化的计算而设计,因而GPU的设计能使更多晶体管用于数据处理,而非数据缓存和流控制。GPU专用于解决可表示为数据并行计算的问题,具有极高的计算密度(数学运算与存储器运算的比率),因此可通过计算隐藏存储器访问延迟,而不必使用较大的数据缓存。通过nVIDIA公司的CUDA技术,开发人员能够利用GPU解决及其复杂的并行计算难题,开发出前所未有的高性能计算软件。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。