Acta Metallurgica Sinica(English letters) ›› 2008, Vol. 15 ›› Issue (3): 128-132.doi:

• Parallel Programming • 上一篇    

Approach of generating parallel programs from parallelized algorithm design strategies

万剑怡 李晓英   

  1. College of Computer Information and Engineering, Jiangxi Normal University, Nanchang 330022, China
  • 收稿日期:1900-01-01 修回日期:1900-01-01 出版日期:2008-09-30
  • 通讯作者: 万剑怡

Approach of generating parallel programs from parallelized algorithm design strategies

WAN Jian-yi, LI Xiao-ying   

  1. College of Computer Information and Engineering, Jiangxi Normal University, Nanchang 330022, China
  • Received:1900-01-01 Revised:1900-01-01 Online:2008-09-30

摘要:

Today, parallel programming is dominated by message passing libraries, such as message passing interface (MPI). This article intends to simplify parallel programming by generating parallel programs from parallelized algorithm design strategies. It uses skeletons to abstract parallelized algorithm design strategies, as well as parallel architectures. Starting from problem specification, an abstract parallel abstract programming language+ (Apla+) program is generated from parallelized algorithm design strategies and problem-specific function definitions. By combining with parallel architectures, implicity of parallelism inside the parallelized algorithm design strategies is exploited. With implementation and transformation, C++ and parallel virtual machine (CPPVM) parallel program is finally generated. Parallelized branch and bound (B&B) algorithm design strategy and parallelized divide and conquer (D & C) algorithm design strategy are studied in this article as examples. And it also illustrates the approach with a case study.

关键词:

parallel;programming,;skeletons,;algorithm;design;strategy,;parallel;architecture

Abstract:

Today, parallel programming is dominated by message passing libraries, such as message passing interface (MPI). This article intends to simplify parallel programming by generating parallel programs from parallelized algorithm design strategies. It uses skeletons to abstract parallelized algorithm design strategies, as well as parallel architectures. Starting from problem specification, an abstract parallel abstract programming language+ (Apla+) program is generated from parallelized algorithm design strategies and problem-specific function definitions. By combining with parallel architectures, implicity of parallelism inside the parallelized algorithm design strategies is exploited. With implementation and transformation, C++ and parallel virtual machine (CPPVM) parallel program is finally generated. Parallelized branch and bound (B&B) algorithm design strategy and parallelized divide and conquer (D & C) algorithm design strategy are studied in this article as examples. And it also illustrates the approach with a case study.

Key words:

parallel programming;skeletons;algorithm design strategy;parallel architecture