《并行程序设计》课程实验报告之四

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《并行程序设计》课程实验报告

实验4:基于WINDOWS平台的MPI并行程序设计

3. 在项目->属性->Linker

“Command Line”中添加impi.lib impicxx.lib

3.将C:\Program Files (x86)\Intel\MPI\5.0.1.037\intel64\bin里面的.dll文件添加到C:\WINDOWS\System32中

4.使用intel编译器编译,生成.exe文件

5.执行(管理员权限打开CMD,执行下边的命令)

2. 进行如下实验并记录数据(实验报告中给出数据并绘图)

3. CMD命令示例:

mpiexec -hosts 2 Win-7-01 4 Win-7-02 4 C:\Users\nbody.exe 4000 500

倒数第二个参数(4000)是body的总数量,也就是数据规模

最后一个参数(500)是每个进程处理的数据量,这里两个节点一共启动了8个进程

三、实验结果

记录实验结果。

4.1

一、配置电脑环境。

1. 基本网络设置:关闭杀毒软件、计算机防火墙,将小组里所有计算机连接到同一个交换机上,查看每台计算机ip,使用ping命令测试,保证互相之间能够ping通。

2. 网络连接设置:由于需要在cluster上运行同一个程序,为了实现相互之间能连接成功,要注意需要保证小组内每台电脑有相同的管理员账户和密码。

例如小组中的账号密码都可以设为

二、单机上编译运行简单的test程序

1.打开test工程选择x64编译

2. 在项目->属性->VC++目录

“包含目录”中添加C:\Program Files (x86)\Intel\MPI\5.0.1.037\intel64\include;

“库目录”添加C:\Program Files (x86)\Intel\MPI\5.0.1.037\intel64\lib;

3. 在项目->属性->Linker

“Command Line”中添加impi.lib impicxx.lib

3.将C:\Program Files (x86)\Intel\MPI\5.0.1.037\intel64\bin里面的.dll文件添加到C:\WINDOWS\System32中

4.使用intel编译器编译,生成.exe文件

5.执行(管理员权限打开CMD,执行下边的命令)

smpd –install

smpd -start

hydra_service –install

hydra_service –start

mpiexec –register

设置电脑账户和密码。(和步骤一中设置的用户名密码相同)

6. 使用mpiexec.exe -n <# of processes> test.exe执行命令,执行成功的话能看到相应的Hello World输出信息。要注意,多机运行时每台机器上都要有相同的.exe文件,且必须放到相同的目录下。

7. 运行mpi程序(共有窗口和命令行两种方式,但本次实验使用命令行方式运行)。

实验4.2 N体问题MPI并行程序剖析与性能分析

1. 在VS中打开nbody工程,配置好MPI运行环境,编译并运行项目;

2. 进行如下实验并记录数据(实验报告中给出数据并绘图)

3. CMD命令示例:

mpiexec -hosts 2 Win-7-01 4 Win-7-02 4 C:\Users\nbody.exe 4000 500

倒数第二个参数(4000)是body的总数量,也就是数据规模

最后一个参数(500)是每个进程处理的数据量,这里两个节点一共启动了8个进程

实验一:

实验一:单机上,数据规模为4000时,随每机进程数变化的运行时间;

进程数 1 2 3 4 5

时间 1.726194 0.863245 0.600248 0.490640 0.725311 一机器一线程

一机器二线程

一机器三线程

一机器四线程

一机器五线程

实验二:相同数据规模为4000,随每机进程数变化的运行时间

每机进程数单机双机三机四机

1 1.726194 0.863270 0.575719 0.430948

2 0.863245 0.434605 0.289725 0.218203

3 0.600248 0.303161 0.197146 0.153792

4 0.490640 0.405894 0.233422 0.137138 二机器1-4线程

三机器1-4线程

四机器1-4线程

实验三:每机1个进程,随数据规模变化的n-body并行程序运行时间。

粒子数n 单机双机三机四机

10 0.000015 0.000322 0.001459 0.001304 50 0.000280 0.000560 0.001870 0.004101 100 0.001098 0.000778 0.001286 0.001938 500 0.027157 0.015400 0.010822 0.008279 1000 0.108339 0.054953 0.037346 0.028642 2000 0.434646 0.217118 0.145576 0.110920 3000 0.975451 0.487433 0.325864 0.247534 4000 1.726664 0.866640 0.580124 0.439198

单机

相关文档
最新文档