第
11
卷第
6
期
2010
年
12
月
信息工程大学学报
Joumal of Information Engineering University
Vo
l.
11
No.6
Dec.20
1O
一种基于
CPU-GPU
异构计算的混合编程模型
王伟郭绍忠王磊冯颖
2
(1.信息工程大学信息工程学院,河南郑州
I
450002
;2.
总后勤部档案馆,北京
100842)
摘要:在分析基于
CPU-GPU
异构计算模式程序开发面临的主要挑战和当前解决途径的基础
上,设计了一种适用于
GPU
集群环境的、综合利用
MPI
、
OpenMP
,
CUDA
以及
OpenGL
API
开发
技术的混合编程模型,重点分析了混合编程模型的两种编程方式的实现原理,搭建了相应的实
验环境并进行了对比测试。实验结果表明,使用混合编程模型设计的程序具有良好的性能表
现和扩展潜力。
关键词
:GPU;
异构计算;混合编程
中固分类号
:TP31
1.
52
文献标识码
:A
文章编号
:1671
-0673(2010)06
-0674
-05
Hybrid
Programming
Model
ßased
on
CPU-GPU
Heterogeneous
Computing
WANG
Wei
1
,
GUO
Shao-zhong
1
,
WANG
Lei
1
,
FENG
Ying
2
(
1.
Institute
of
Inforrnation
Engineering
,
Inforrnation
Engineering
University
,
Zhengzhou
450002
, China;
2.
Headquarters
archives
of
General
logistics
,
Beijing
100842
, China)
Abstract
: The paper analyzes the main difficulties of programming based on CPU -GPU heterogeneous
computing
, summarizes the main approaches available , and designs a hybrid programming model for
GPU cluster environment which comprehensively uses MPI
, OpenMP , CUDA
and
OpenGL
AP
I.
It
focuses on analyzing two methods that implement the ptogramming model
, then builds experimenta-
tion environment and makes a comparison experiment. The result shows that programs built with hy-
brid programming model have good performance and scalability.
Key
words:
GPU ; heterogeneous computing; hybrid programming
近年来,基于
CPU-GPU
的混合异构计算系统逐渐成为国内外高性能计算领域的热点研究方向。在实
际应用中,很多基于
CPU-GPU
的混合异构计算机系统纷纷涌现,并且表现出良好的性能。但是,由于历史
和现实原因的制约,异构计算仍面临着诸多问题,其中最突出的是程序开发困难,尤其是扩展到集群规模
级别时,问题更为突出。本文在分析
CPU-GPU
异构计算模式程序开发现状的基础上设计了一种综合利用
MPI
、
OpenMP
,
CUDA
以及图形
API
编程方法的混合编程模型,并进行了系统实现和实验验证。
1
CPU-GPU
异构计算模式研究现状
1.1
CPU-GPU
异构计算模式编程面临的挑战
基于
CPU-GPU
的混合异构计算系统是指在传统计算机系统中加入
GPU
作为加速部件并配合
CPU
共同完成计算任务的新型系统。相比于传统的单纯以
CPU
为计算部件的系统,异构计算系统在浮点运算
收稿日期
:2010-04-27;
修回日期
:2010-06-23
基金项目:国家
863
计划资助项目
(2009AAOI2201)
;上海市科委重大科技攻关项目
(08d
z5
01600)
作者简介:王
伟(1
983
- )
,男,硕士生,主要研究方向为分布式计算、
GPU
通用计算;
郭绍忠(1
964
- )
,女,副教授,主要研究方向为分布式系统、海量信息处理。
评论0