-弹棉花
《并行程序设计》课程实验报告
实验
4
:基于
WINDOWS
平台的
MPI
并行程序设计
姓名
葛书衡
张伟哲
软件学院五楼机房
出勤、表现得分
操作结果得分
院系
软件学院
指导教师
实验时间
实验报告
得分
实验总分
学号
1153730109
任课教师
实验地点
实验课表现
一、实验目的
要求:需分析本次实验
的基本目的,并综述你是如何实现这些目的的?
4.1
1
.掌握面向
Intel MPI L
ibrary
建立
Windows
并行
集群环境的方法
;
2
.掌握
Visual
Studio* .NET*
集成开发环境开发
MPI
程序配置方法;
3
.
掌握
MPI
程序设计的基本编写、编译与运行方法
4.2
1
.掌握
MPI
程序设计的基本编写、编译与运行方法
;
2
.掌握
Window
群机环境下
N
体问题的并行程序设计方法;
3
.掌握利用加速比、运行时间、效率等测
度分析并行程序性能
二、实验内容
该部分填写在实验过程中,你都完成了哪些工作。
4.1
一、配置电脑环境。
1.
基本网络设置:关闭杀毒软件、计算机防火墙,将小组里
所有计算机连接到同一个交换机
上,查看每台计算机
ip
,使用
ping
命令测试,保证互相之间能够
ping
通。
2.
网络连接设置:由于需要在
cl
uster
上运行同一个程序,为了实现相互之间能连接成功,要
注意需要保证小组内每台电脑有相同的管理员账户和密码。
例如小组中的账号密码都可以设为
账号:
Administrator
密码:
123456
二、单机上编译运行简单的
test
程序
1.
打
开
test
工程
选择
x64
编译
2.
在项目
->
属性
->VC++
目录
“包含目录”中添加
C:Program Files
(x86)IntelMPI5.0.1.037intel64include;
“库目录”添加
C:Program Files
(x86)IntelMPI5.0.1.037intel64lib;
3.
在项目
->
属性
->Linker
“
Command
Line
”中添加
3.
将
C:Program
Files
(x86)IntelMPI5.0.1.037
intel64bin
里
面
的
.dll
文
件
添
加
到
C:WINDOWSSystem32<
/p>
中
4.
使用<
/p>
intel
编译器编译,生成
.exe<
/p>
文件
5.
执行
(管理员权限打开
CMD
,执行下边的命令)
< br>
smpd
–
install
smpd -start
hydra_service
–
install
hydra_service
–
start
mpiexec
–
register
设置电脑账户和
密码
。
(和步骤一中设置的用户名密码相同)
< br>
6.
使用
-n
<
#
of
processes
>
执行命令,执行成功的话能看到相应的
Hel
lo
World
输出信息。要注意,
多机运行时每台机器上都要有相同的
.exe
文件,且必须放到
相同的
目录下。
7.
运行
mpi
程序(共有窗口和命令行两种方式,但
本次实验使用命令
行方式运行
)
。
Intel(R)
MPI
提供一个命
令行工具程序
,该程序帮助用户以非常灵活的方式支持
MPI
应用。本节对这个工具的使用进行简要说明。
mpiexec
的命令行常见格式(详细格式可以参考<
/p>
mpiexec
-?
返回的帮助,下面
格式的尖括号为
解释)
:
格式
1
:
mpiexec
-n
<# of processes>
格式
2
:<
/p>
mpiexec -host
格式
3
:
mpiexec -machinefile
用
-n
设置本地机上的进程数,
p>
指可执行文件(可包含路径)
,若程序还有
别的命令
行参数,根据需要添加到该命令行后面。
用
-host
设置程序执行的主机,
如以下命令将会运行可执行文件
在主机
lab01
上:
mpiexec
-host lab01
一个
machine file
是一
个包含集群中所有主机名,各主机运行进程数等信息的列表,空行和以
“#”
开头的行都将被忽略。通过重复主机名将会在该主机上增加一个进程,或者直接按格式:< p>
。主机后面的可选参数为该主机上运行的进程数目。主机名称可以在 VS )是每个进程处理的数据量,这里两个节点一共启动了
选择
name>:
of
processes>
.
描述每个主机
所包含的进程数。如以下
file1
和
file2
是等
效的。
file1:
file2:
host1
host1
:
2
host1
host2
:
2
host2
host3
host2
host3
注:上面运行命令作为参考。具体在运行的时候可
以通过以下方式运行:
mpiexec -hosts 2
LAB01 2 LAB02 3
其中,
hosts
后的参数为主机数,
后面必须跟着特定数目的主机名称
(像这里
2
个主机,
LAB0
1
和
LAB02
)
cmd
中使用
hostname
命令获得。要注意,<
/p>
多机运行时每台机器上的
.exe
文件必
须放到相同的目录下。
9
.要求在
CMD
中尝试多种命令形式,如:
p>
mpiexec -hosts 4 LAB01 2
LAB02 2 LAB03 2 LAB04 3 d:
4.2
1.
在
中打开
nbody
工程,配置
好
MPI
运行环境,编译并运行项目;
2.
进行如下实验并记录数据(实验报告中给出数据并绘图)
3. CMD
命令示例:
mpiexec -hosts 2 Win-7-01 4 Win-7-02 4
C: 4000 500
倒数第二个参数(
4000
)是
body
的总数量,也就是数据规模
最后一个参数(
500
8
个
进程
三、实验结果
记录实验结果。
4.1
一、配置电脑环境。
1.
基本网络设置:关闭杀毒软件、计算机防火墙,将小组里所有计算机连接到同一个交换机
上,查看每台计算机
ip
,使用
ping
命令测试,保证互相之间能够
ping
通。
2.
网络连
接设置:由于需要在
cluster
上运行同一个程序,为了实
现相互之间能连接成功,要
注意需要保证小组内每台电脑有相同的管理员账户和密码。<
/p>
例如小组中的账号密码都可以设为
二、单机上编译运行简单的
test
程序
1.
打
开
test
工程
x64
编译
2.
在
项目
->
属性
->VC++
目录
“包含目录”中添加
C:Program Files
(x86)IntelMPI5.0.1.037intel64include;
“库目录”添加
C:Program Files
(x86)IntelMPI5.0.1.037intel64lib;
3.
在项目
->
属性
->Linker
“
Command
Line
”中添加
3.
将
C:Program
Files
(x86)IntelMPI5.0.1.037
intel64bin
里
面
的
.dll
文
件
添
加
到
C:WINDOWSSystem32<
/p>
中
4.
使用<
/p>
intel
编译器编译,生成
.exe<
/p>
文件
p>
5.
执行(管理员权限打开
CMD
,执行下边的命令)
smpd
–
install
smpd
-start
hydra_service
–
install
hydra_service
–
start
mpiexec
–
register
设置电脑账户和
密码
。
(和步骤一中设置的用户名密码相同)
< br>
6.
使用
-n
<
#
of
processes
>
执行命令,执行成功的话能看到相应的
Hello
World
输出信息。要注意,
多机运行时每台机器上都要有相
同的
.exe
文件,且必须放到相同的
目录下。
7.
运行
mpi
程序(共有窗口和命令行两种方式,但
本次实验
使用命令行方式运行
)
。
实验
4.2 N
体问题
MPI
并行程序剖析与性能分析
1.
在
VS
< br>中打开
nbody
工程,配置好
MPI
运行环境,编译并运行项目;
2.
进行如下实验并记录数据(实验报告中给出数据并绘图)
3. CMD
命令示例:
mpiexec -hosts 2 Win-7-01 4 Win-7-02 4
C: 4000 500
倒数第二个参数(
4000
)是
body
的总数量,也就是数据规模
最后一个参数(
500
)是每个进程处理的数据量,这里两个节点一共启动了
8
个
进程
实验一:
实验一:单机上,数据规模为
4000
时,随每机进程数变
化的运行时间;
进程数
1
2
3
4
5
时间
1.726194
0.863245
0.600248
0.490640
0.725311
一机器一线程
一机器二线程
一机器三线程
一机器四线程
一机器五线程
实验二:相同数据规模为
4000<
/p>
,随每机进程数变化的运行时间
每机进程数
1
2
3
4
单机
1.726194
0.863245
0.600248
0.490640
双机
0.863270
0.434605
0.303161
0.405894
三机
0.575719
0.289725
0.197146
0.233422
四机
0.430948
0.218203
0.153792
0.137138
二机器
1-4
线程
p>
三机器
1-4
线程
p>
四机器
1-4
线程
-弹棉花
-弹棉花
-弹棉花
-弹棉花
-弹棉花
-弹棉花
-弹棉花
-弹棉花
-
上一篇:著名影片英文名
下一篇:著名品牌 英文专有名词