我在外培训时课堂里用的是VS2003代码编制,老师做的例子让我们拷回去,我自家电脑里由于还没有安装VS2003版本这个开发工具,所以无法打开看,我去买软件看到现在又有2006版的了,如果将2006版的安装后,能不能打开老师在课堂用VS2003版本做的例子?能不能继续使用?
MPICH2在WinXP下的配置和使用
一、预备工作
0.在自己电脑上建立一个用于并行计算的帐户并设置密码。
二、下载
1. 去官方网站http://www.mcs.anl.gov/research/projects/mpich2/下载自己电脑的相应版本。
三、安装
2. 用具有管理权限的帐户登陆计算机。
3. 执行mpich2-1.0.7-win32-ia32.msi,选择所有缺省安装。
这里假设文件安装在D:\Program Files\MPICH2\
4. 在每台计算机上均执行上述过程2、3。
四、配置
5. 运行配置工具
开始->所有程序->MPICH2->wmpiregister.exe,利用先前建立的计算机帐户名和密码注册。
6. 开始->所有程序->MPICH2->wmpiconfig.exe,搜索并加入已经安装MPICH2的主机,可以用的主机名在搜索完后会显示绿色。
7.点击 [Apply] 保存
8 点击 [OK] 退出#t#
五、测试
9. 打开MPICH2的例子文件:D:\Program Files\MPICH2\examples\examples.sln
10. 按照文章前半部分的方法,编译调试该cpi和cxxpi项目。
11. D:\Program Files\MPICH2\examples\Release\cpi.exe和cxxpi.exe 到每一台机器某一同样路径目录。
如:C:\Temp\cpi.exe和cxxpi.exe
12. 打开命令窗口,改变当前路径到 c:\temp 下(与前相同)
13. 执行命令
D:\Program Files\MPICH2\bin\mpiexec.exe -hosts 2 hosta 2 hostb 1 -noprompt C:\Temp\cpi.exe
D:\Program Files\MPICH2\bin\mpiexec.exe -hosts 2 hosta 2 hostb 1 -noprompt C:\Temp\cxxpi.exe
-hosts 2表示有两台主机。
hosta 2 hostb 1表示主机hosta开2个进程,主机hostb开1个进程。
注意,多机并行计算时,进程很容易被防火墙挡住,所以计算时最好关闭防火墙。而多核电脑的单机多进程并行计算则不受防火墙影响。当然直接选择开始->所有程序->MPICH2->wmpiexec.exe进入图形界面运行效果一样,也更直观容易理解了。
附上最简单的测试代码如下:
- #include "mpi.h"
- #include <cstdio>
- #include <math.h>
- int main(int argc, char* argv[])
- {
- int myid,numprocs;
- int namelen;
- char processor_name[MPI_MAX_PROCESSOR_NAME];
- MPI_Init(&argc,&argv);/**//*程序初始化*/
- MPI_Comm_rank(MPI_COMM_WORLD,&myid);/**//*得到当前进程号*/
- MPI_Comm_size(MPI_COMM_WORLD,&numprocs);/**//*得到总的进程数*/
- MPI_Get_processor_name(processor_name,&namelen);/**//*得到机器名*/
- fprintf(stderr," Process %d of %d SAY HELLO TO MPI on %s\n",
- myid, numprocs, processor_name);
- MPI_Finalize();/**//*结束*/
- return 0;
- }