win10+vs2017配置mpi环境的记录(已成功)

并行计算的课程需要动手实验,需要在电脑上使用mpi

使用mpi有两种选择:虚拟机搭建集群,vs多线程模拟多机。

搭建集群太麻烦,果断放弃。决定使用vs2017多线程环境,通过mpi进行并行计算实验。

还是老话:多看看各个版本的安装配置博客,把坑了解一下,再动手。

mpi官方下载地址:http://www.mpich.org/downloads/

具体怎么下载、安装、配置环境,看网友博客:https://blog.csdn.net/hsajas/article/details/80103414(里面的链接也很详细)

一个小时配置成功并成功运行。

配置具体步骤(每次新建mpi工程时都要重新对工程进行配置):

右击项目-->>属性,进行配置: 

右上角-->>配置管理器-->>活动解决方案平台,选择:x64; 
VC++目录-->>包含目录,添加:“D:\Program Files (x86)\Microsoft SDKs\MPI\Include;” 
VC++目录-->>库目录,添加:“D:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64;”  
C/C++ -->> 预处理器-->>预处理器定义,添加:“MPICH_SKIP_MPICXX;” 
C/C++ -->> 代码生成 -->> 运行库,选择:多线程调试(/MTd); 
链接器 -->> 输入 -->> 附加依赖项,添加:“msmpi.lib;”

配置步骤来自上面第二个链接。

总结和备忘:

1、更改完项目属性(如包含目录、库目录等等)要点击右下角的“应用”按钮,不能(只)点击确定。

2、注意向目录中添加路径时分号“;”的使用。

3、对示例程序进行编译,在工程项目文件夹下的“\x64\Debug”目录下生成exe文件,如:D:\Codes\vs_codes\MPI-Demo\x64\Debug\MPI-Demo.exe

4、编译时可能出现如下错误:

(1)mpi的那些函数统统显示用不了。

原因:你可能没有配置好那些包含目录、库目录啥的,回去重新看一下有没有正确配置好。

(2)让你加入“#include"phc.h”啥的。

要拒绝他的建议,因为你会发现加完了还不行。

解决:在项目属性中点击“C/C++”,单击“预编译头” 更改右侧第一行的“创建/使用预编译头”,把选项从“使用预编译头(/Yu)”改成“不使用预编译头”。

上述方法来自网友,详情见:https://www.cnblogs.com/bluewelkin/p/3348603.html

(3)上面都解决了还可能说有多个重定义和main

原因:按照上面的教程创建了mpi的demo之后,vs2017自动生成了一个模板,也就是自动生成了一个模板.cpp文件,因为这个模板和你的示例程序在同一个项目中,所以会造成一个项目有两个主函数入口,所以把模板删掉就可以了,或者全部注释掉。

5、在3中所说的exe文件所在的文件夹打开命令行窗口,具体操作(win10系统):按住shift键,鼠标右击空白处,点击“在此处打开Powershell窗口(S)”。输入“mpiexec -n 10 MPI-Demo.exe”,回车运行即可。(其中,数字10表示10个线程运行这个程序,可以自己设置)

6、刚刚编辑的时候又遇到了神奇的问题,顺手记录一下。光标刚刚突然自己变成了一个蓝色的选中字的小块,解决方法就是百度。

具体方法:长按键盘上的“insert”键就完了。

 

这是一篇记录性博客,我实在是懒得用笔记下来,记下来也会丢,就这样随手编辑了一篇博客,仅供参考。

你可能感兴趣的:(随笔记)