摘要
基于异构GPU集群的主流编程方法是MPI与CUDA的混合编程或者其简单变形。因为对底层的集群架构不透明,程序员对GPU集群采用MPI与CUDA编写应用程序时需要人为考虑硬件计算资源,复杂度高、可移植性差。为此,基于数据流模型设计和实现面向节点异构GPU集群体系结构的新型编程框架分布式并行编程框架(DISPAR)。DISPAR框架包含2个子系统:(1)代码转换系统Stream CC,是DISPAR源代码到MPI+CUDA代码的自动转换器。(2)任务分配系统Stream MAP,具有自动发现异构计算资源和任务自动映射功能的运行时系统。实验结果表明,该框架有效简化了GPU集群应用程序的编写,可高效地利用异构GPU集群的计算资源,且程序不依赖于硬件平台,可移植性较好。
The mainly used programming method for heterogeneous GPU cluster is hybrid MPI/CUDA or its simple deformation.However,because of its transparency to underlying architecture when using hybrid MPI/CUDA to write code for heterogeneous GPU cluster programmers tend to need detailed knowledge of the hardware resources,which makes the program more complicated and less portable.This paper presents Distributed Parallel Programming Framework(DISPAR),a new programming framework for node-level heterogeneous GPU cluster based on data flow model.DISPAR framework contains two sub-systems,StreamCC and StreamMAP.StreamCC is a code conversion tool which coverts DISPAR code into hybrid MPI/CUDA code.StreamMAP is a run-time system which can detect heterogeneous computing resources and map the tasks to appropriate computing units automatically.Experimental results show that the methods can make efficient use of the computing resources and simplify the programming on heterogeneous GPU cluster.Besides,it has better portability and scalability as the code does not rely on the execution platform.
出处
《计算机工程》
CAS
CSCD
北大核心
2015年第2期292-297,共6页
Computer Engineering
基金
复旦大学ASIC和系统国家重点实验室基金资助项目
华为创新研究计划基金资助项目
关键词
GPU集群
异构
分布式并行编程框架
代码转换
任务分配
可移植性
GPU cluster
heterogeneous
Distributed Parallel Programming Framework(DISPAR)
code conversion
task assignment
portability