Author Login Editor-in-Chief Peer Review Editor Work Office Work

Computer Engineering

Previous Articles     Next Articles

Design and Implementation of Cross-platform Parallel Programming Framework

LI Ting1,2,XU Yun1,2,NIE Peng-yu1,2,PAN Wei-hua1,2   

  1. (1.National High Peformance Computing Center (Hefei),Hefei 230027,China;2.School of Computer Science and Technology,University of Science and Technology of China,Hefei 230027,China)
  • Received:2013-08-01 Online:2014-08-15 Published:2014-08-15

一种跨平台的并行编程框架设计与实现

李 婷1,2,徐 云1,2,聂鹏宇1,2,潘玮华1,2   

  1. (1.国家高性能计算中心(合肥),合肥 230027;2.中国科学技术大学计算机科学与技术学院,合肥 230027)
  • 作者简介:李 婷(1988-),女,硕士研究生,主研方向:高性能计算;徐 云,教授;聂鹏宇、潘玮华,硕士研究生。
  • 基金资助:
    国家自然科学基金资助重点项目(61033009);国家自然科学基金资助面上项目(60970085)。 

Abstract: The complexity of parallel programming,and the portability problem caused by the diversity of parallel computing platforms,restrict the popularization of parallel computing.To solve these problems,this paper designs and implements a cross-platform hierarchical parallel programming framework,Open Cross-platform Hierarchical(OpenCH).With a design of two-level parallel libraries and hierarchical API,the framework hides the details of parallelization to the upper applications.By providing common interfaces for library functions based on different platforms,changes of platform are invisible to the upper applications.A block-filling programming method,supported with a task-scheduling system,is designed for the development of lower parallel libraries.OpenCH is tested by applying it to a remote-sensing image classification problem.Experimental results show that,parallel programs based on OpenCH can be executed on multiple parallel computing platforms and achieve ideal parallel speedup ratio,time overhead caused by the framework is no more than 15%.

Key words: arallel computing, parallel programming framework, cross-platform, OpenMP programming, MPI programming, CUDA programming 

摘要: 并行程序设计的复杂性及并行计算平台的多样性导致程序可移植性较差。为此,设计并实现一种跨平台、分层次的并行编程框架OpenCH。该框架通过两层并行函数库和层次化的API设计,对上层应用程序隐藏并行化细节,为基于不同计算平台的库函数设计了统一的函数接口,使底层平台的变化对上层应用程序透明。根据底层函数库的开发,给出一种填充式的编程方法和任务调度系统。将OpenCH应用于遥感影像分类,实验结果证明,基于该框架开发的并行程序可运行于多种并行计算平台,并具有较高的并行加速比,编程框架本身造成的时间开销低于15%。

关键词: 并行计算, 并行编程框架, 跨平台, OpenMP编程, MPI编程, CUDA编程

CLC Number: