当前位置:首页 >> 农林牧渔 >>

程序设计技术实验报告 一、实验题目 用MPI技术计算π的值。 二、实验


程序设计技术实验报告
一、实验题目
用 MPI 技术计算π的值。

二、实验目的
熟悉 MPI 编程,加深对其编程的理解。

三、实验环境
Windows Virtual PC 设置虚拟机,安装 Windows XP SP3。 运行 MPI
一、安装 MPI 第一步:下载 MPI 软件包 得

到文件: mpich.nt. 1.2.5.zip 第二步:安装 1、解压缩文件 mpich.nt.1.2.5.zip 到目录 mpich.nt.1.2.5 2、进入目录 mpich.nt.1.2.5、 3、双击 setup.exe,并按提示进程安装 目标目录:C:\Program Files\MPICH,安装内容:全选 4、依照提示完成全部安装工作 第三步:验证安装是否正确完成 1、查看 C:\Program Files\MPICH 目录是否存在 2、打开“任务管理器”中的“进程”选项卡,查看是否有一个 mpd.exe 进程。如果有说明安 装成功。以后每次启动系统,该进程将自动运行。 第四步:采用相同的方法完成局域网内其它计算机的安装工作 要求:1、均为管理员账户 2、目标目录必须完全相同 第五步:注册(每台计算机都要进行)

目的:将先前在每台计算机上申请的账号与密码注册到 MPICH 中去,以便 MPICH 在网络 环境中访问每台主机。 方法: 运行“C:\Program Files\MPICH\mpd\bin\MPIRegister.exe”, 输入账号及密码, 完成注册。 用户名和密码必须是有管理员权限的密码,否则在运行该软件的时候将会出错。 第六步:配置(每台计算机都要进行) 目的:让 MPI 程序能在多台机器上运行。 方法:开始->程序->MPICH->mpd->MPICH Configuration tool” 二、在 C 语言上如何编写并运行 MPI 程序(以 hello 为例演示设置过程) 第一步:设置 C 语言的编译环境 1、新建一个 Win32 Console Application 工程。 方法:File->New 2、打开工程设置对话框。 方法:Project-->settings 或 Alt+F7 3、切换到 C/C++选项卡。首先选择“Win32 Debug”(①的下拉框),再选择“Code Generation” (②的下拉框) 再选择“Debug Multithreaded” , (③的下拉框) 在“Project 。 Options”的文本框中显示“/MT”表示设置成功。 然后选择“Win32Release” (①的下拉框) 重复上述步骤。 4、在 C/C++选项卡中选择“All Configurations”。(①的下拉框)选择“Preprocessor” (②的下拉框),在相关位置输入 MPICH 所附带的头文件的目录。 5、 Link 选项卡中, 在 选择“All Configurations”。 再选择“Input”在“Additional

library path”的文本框中输入 MPICH 所附带的库文件的目录。
6、 Link 选项卡中, 在 选择“All Configurations”。 (①的下拉框) 然后再选择“General” , 然后在“Object/library modules” 的文本框中添加“ws2_32.lib”。点击“OK”。这时在 “Common Options” 中会出现“ws2_32.lib”。 7、在 Link 选项卡中,选择“Win32 Debug”。然后再选择“General”,然后在 “Object/library modules”的文本框中添加“mpichd.lib”。点击“OK”。这时在“Project Options”中会出现“mpichd.lib”。 8、 Link 选项卡中, 在 选择“Win32 Release”。 然后再选择“General” , 在“Object/library modules” 的文本框中添加“mpich.lib”。点击“OK”。这时在“Project Options” 中会出 现“mpich.lib”。

第二步:编写程序并编译 1、输入程序 第三步:编写程序并编译 2、编译 第四步:运行 1、将执行文件拷贝至 MPIRun.exe 所在的目录 E:\mpidjana\hello\hello\Debug 第五步:运行 2、以命令 MPIRun –localonly n 11 运行程序

四、源程序
#include "mpi.h" #include <stdio.h> #include <math.h> double f(a) double a; { return (4.0 / (1.0 + a*a)); } int main(argc,argv) int argc; char *argv[]; { int done = 0, n=100, myid, numprocs, i; double PI25DT = 3.141592653589793238462643; double mypi, pi, h, sum, x, a,startwtime, endwtime; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD,&numprocs); MPI_Comm_rank(MPI_COMM_WORLD,&myid); if (myid == 0) startwtime = MPI_Wtime(); h = 1.0 / (double) n; sum = 0.0; for (i = myid + 1; i <= n; i += numprocs) { x = h * ((double)i - 0.5); sum += f(x); } mypi = h * sum;

MPI_Reduce(&mypi, &pi, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); if (myid == 0) { printf("pi is %.16f, Error is %.16f\n", pi, fabs(pi - PI25DT)); endwtime = MPI_Wtime(); printf("wall clock time = %f\n", endwtime-startwtime); } MPI_Finalize(); }

五、运行结果 运行结果


相关文章:
程序设计技术实验报告 一、实验题目 用MPI技术计算π的值。 二、实验
程序设计技术实验报告 一、实验题目 用MPI技术计算π的值。 二、实验_农林牧渔_专业资料。程序设计技术实验报告 一、实验题目 用MPI技术计算π的值。 二、实验 ...
计算π值的MPI并行程序实验报告模板
计算π值的MPI并行程序实验报告模板_计算机软件及应用_IT/计算机_专业资料。实验计算π值的 MPI 并行程序 (一)实验时间: (二)实验名称: (三)内容与要求: ...
程序设计与技术实验
程序设计技术实验程序设计技术实验隐藏>> MPI 技术 程序设计技术实验 一、实验题目 用 MPI 技术计算π的值。 二、实验目的 熟悉 MPI 编程,加深对 MPI ...
并行计算实验报告
MPI 运行命令及结果 实验结果及分析 1、 openmpi 安装需要 gcc 等先行文件,否则...编写一个利用梯形积分公式求解π 值的并行程序 2使用 mpi 并行计算 1、 ...
并行计算实验报告
(一)编译 pi.c 小组并行计算π值。 (1) 拷贝 ...的程序为: #include <stdio.h> #include "mpi.h...的讲解做实验,几乎没有遇到什么问题, 实验很顺利就...
实验一
54页 5财富值 实验1 暂无评价 1页 免费喜欢...root 用户缺省不可以使用 rsh,因 此运行 MPI 程序...该程序是计算 该程序计算π的过程的计算程序,其 ...
实验三
23页 2财富值 在windows下运行MPI配置 4页 免费如...三.实验内容 1. 选择结构程序设计; 2. if 语句...计算当 n 的取值分别为 20,50 ,100,200 时的π...
太原理工大学程序设计技术实验报告
太原理工大学程序设计技术实验报告_学习总结_总结/汇报_实用文档。最全的习题实验...-6 5. 利用公式:π /4=1-1/3+1/5-1/7+??,求π 的近似值,直到最后...
实验一
11财富值 实验题第题 暂无评价 4页 免费 ...? ? N ? 计算 π值,使用 java 多线程进行多...实验实验题目 作者 完成时间 MPI 实现 Jacobi ...
实验一
24页 2财富值 MPI并行计算期末考试复习... 18页...实验一 多线程计算 π 及性能分析作者:赵立夫 完成...方法简述:本程序使用 java 多线程方法: 首先启动主...
更多相关标签:
mpi并行计算程序 | 转动惯量实验计算程序 | mpi程序 | mpi并行计算 | mpi并行程序设计 | mpi并行程序实例 | mpi测试程序 | mpi并行程序代码 |