liuyuehu8851(
网学)贡献
27 卷 1 期 第 第 2008 年 3 月
延安大学学报 (自然科学版 ) Journal of Yanan University (Natural Science Edition )
基于 VC. NET平台和 MP I并行程序设计探索
许 淳
1, 3
,刘兴平
2, 3
,田云娜
2, 3
( 1. 江西师范大学 计算机信息工程 ,江西 南昌 330022; 2. 延安大学 计算机 ; 3. 延安大学
软件研究与开发中心 ,陕西 延安 716000 )
摘 : 简要介绍了 M P ICH2 在 w indow s XP 下的安装及其在 VC. NET 2005 下的配置方法 ,通过对 要 一个二维数组中所有元素求和的实现 ,论述了基于 VC. NET平台和 M P I进行并行程序设计的方法 和技巧 。 关键词 : M P I; M P ICH; VC. NET; 并行程序设计 中图分类号 : TP301 文献标识码 : A 文章编号 : 1004 2 602X ( 2008 ) 01 2 0015 2 03
[1]
M P I
(M essage Passing Interface ) 即消息传递
包 ,并进行安装 。安装完成后 , 运行安装目录下的
wmp iregister exe 程序进行
注册 , 在 Account 文本框 .
接口 ,是一个由专家 、 工业界和学术界组成的大型的 委员会定义的一套标准 , 用于分布式存储器并行计 算机 的 标 准 编 程 环 境 。M P I 的 两 种 常 用 实 现 是
LAM /M P I[LAM ]和 M P ICH [M P I]。
中输入
计算机当前用户名 , 在 password 文本框中输 入该用户的密码 。再单击 Register按钮 , 最后单击
OK按钮即可 。 ( 2 ) M P I的设置
随着计算机硬件的飞速发展和并行计算应用的
不断深入 ,并行编程已经成为不可扭转的趋势 。并 行程序要通过并行语言来表达 , 其中一种并行语言 产生方式就是不改变串行语言 , 仅为串行语言提供
+ +的语言绑定 , 而 M P I CH2 作为 M P I的一种实
[2]
在 VC. NET下进行 M P I的设置比较麻烦 , 本人 ① 单击 VS 中环境中的“ 工具 ” 菜单 , 选择“ 选
在应用过程中对此进行了总结 ,具体如下 :
可调用的并行库 。M P I2 定义包含对 C、 Fortran 和 C 现 , 同时 , VC. NET 2005 作为一种全新的 C + +实 现 ,提供了一系列面向对象的新技术 , 它和 M P I的 结合 ,将会满足更多的应用 。本文通过对一个二维
M P I 进行并行程序设计的方法和技巧 。 CH
项” 菜单项 ,并展开“ 项目和解决
方案 ” 目录 ,最后选 中“VC + +目录 ” 。 项 ② 显示以下内容的目录 ” 在“ 选择“ 库文件 ”添 , ③ ②,给“ 同 引用文件 ” 添加 lib子目录 。
加 M P ICH2 的安装目录中的 lib子目录 。
数组中所有元素求和的实现 , 讲述利用 VC. NET +
④ 显示以下内容的目录 ” 在“ 选择“ 包含文件 ” , ⑤
链接器 ” >“ 在“ — 输入 ” >“ — 附加依赖项 ” ⑥ 在“C /C + + ” >“ — 命令行 ” >“ — 附加 选
添加 M P ICH2 的安装目录中的 include 子目录 。 中输入 mp i lib和 cxx lib。 . .
1 P ICH 的安装及 M P I的设置 M
本文以 W indow s XP 和 M icrosoft V isual Studio
2005 Team Suite 简体中文版为例 , 说明 M P ICH2 的
项” 中输入 - DM P ICH _ IGNORE_CXX_SEEK。
安装和配置方法 。 ( 1)M P I CH2 的安装
2 编程示例
Vol 27 No. 1 . M arch12008
从官方网站下载 M P ICH2 的 w indow s下的安装
并行程序
设计的核心是任务的分配和通信 ,MP I
收稿日期 : 2007 —12 —06
作者简介 : 许淳 ( 1981 —) ,男 ,陕西蒲城人 ,江西师范大学硕士生 。
16
延安大学学报 (自然科学版 )
第 27 卷
对
通信提供了良好的支持 ,因此 ,怎样对各个任务进 行分配就成为我们关注的重点 。下面通过对一个二 维数组中所有元素之和的分析和实现简要说明如何 [3] 来构造一个对等模式 的并行
程序 。 ( 1 )问题描述 假设有一个整型的二维数组 Data, 其行数和列 数由用户输入 ,数组中的元素由 VC.
NET中的随机 函数生成 ,在 VC. NET和 M P I平台上实现数组中所 有元素的和 ,最后输出结果 。 ( 2 )并行分析 并行计算的关键是寻找“ 并发性 ”在一个计算 , 性的问题中 ,如果它能够被分解成多个子问题 ,并且 这些子
问题能够在相同的时间内同时安全地执行 , 则该问题中就存在并发性 。从而可以将这些子问题 的求解交给多个不同的处理器同时执行 , 缩短获得 计算结果的时间 。 根据二维数组的特点 , 我们可以把该二维数组 按行进行分块 ,每个处理器计算一块 ,这样就可以在 每个处理器上分