面向节点异构GPU集群的编程框架
2015-01-06盛冲冲胡新明李佳佳吴百锋
计算机工程 2015年2期
关键词:分配
盛冲冲,胡新明,李佳佳,吴百锋
(复旦大学计算机科学技术学院,上海201203)
面向节点异构GPU集群的编程框架
盛冲冲,胡新明,李佳佳,吴百锋
(复旦大学计算机科学技术学院,上海201203)
基于异构GPU集群的主流编程方法是MPI与CUDA的混合编程或者其简单变形。因为对底层的集群架构不透明,程序员对GPU集群采用MPI与CUDA编写应用程序时需要人为考虑硬件计算资源,复杂度高、可移植性差。为此,基于数据流模型设计和实现面向节点异构GPU集群体系结构的新型编程框架分布式并行编程框架(DISPAR)。DISPAR框架包含2个子系统:(1)代码转换系统StreamCC,是DISPAR源代码到MPI+CUDA代码的自动转换器。(2)任务分配系统StreamMAP,具有自动发现异构计算资源和任务自动映射功能的运行时系统。实验结果表明,该框架有效简化了GPU集群应用程序的编写,可高效地利用异构GPU集群的计算资源,且程序不依赖于硬件平台,可移植性较好。
GPU集群;异构;分布式并行编程框架;代码转换;任务分配;可移植性
1 概述
面向通用计算的GPU(GPGPU)以其大规模数据级并行计算能力和极其出色的性能功耗比特性,在当下已经成为了低能耗超级计算机和计算机集群追捧的加速器。在计算机集群中,不断加入不同类型的GPGPU导致了集群内部计算资源多样化。集群底层硬件计算部件不断更新、节点间计算资源的异构程度不断加剧,使得仅仅依靠现有的一些较低抽象层面的编程模型(如MPI、CUDA混合编程)设计出高效应用程序变得更加困难。对于异构计算,高性能的获得往往伴随着软件开发的高复杂度[1]。……
登录APP查看全文
