MPICH2安装
下载Mpich2
Windows系统选择 mpich2-1.4.1p1-win-x86-64.msi(64位)
,或者 mpich2-1.4.1p1-win-ia32.msi(32位)
,建议各位道友选择64位下载,同时需要编制64位应用程序。 其他操作系统的可以选择mpich2-1.4.1p1.tar.gz
。 如果要使用其他版本的MPICh2
,可以点击该页面上的“parent directory”
进行查找。
这里题主安装的是window10 64位。
双击下载好的msi
一路next
。
可参考【mpich2】图文教程:mpich2的安装、配置、测试、vs配置、命令行测试(没有使用)
讲解得非常详细,此处不再赘述。
VS环境配置
若上面步骤的环境配置出现了不可言说的bug
,可参考VS2019配置MPI环境
可能出现的bug
(a)双击下载的msi
文件,出现以下提示
可参考vs应用程序安装问题:This setup requires the .NET Framework version 2.0. Please install the .NET Framework…
NET Framework 3.5安装出错误解决
(b)在VS中配置好并行程序运行环境后,执行代码报错
关于这个问题,网友们有不同的解决方式,我挨个儿试了一下,都不行。
我的解决方法就是将程序调试模式从debug
切换为release
,就可以了。。。
Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release
称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。
深入理解可参看Visual Studio下Debug和Release区别
(c)执行MPI
程序时,报错。
#include <stdio.h>
#include <mpi.h>
int main(int argc, char* argv[])
{
// 定义变量
int myrank, nprocs;
// 初始化MPI环境
MPI_Init(&argc, &argv);
// 获取当前进程在通信器MPI_COMM_WORLD中的进程号
MPI_Comm_size(MPI_COMM_WORLD, &nprocs);
MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
printf("Hellow, world! %dth of totalTaskNum = %d\n", myrank, nprocs);
MPI_Finalize();
return 0;
}
多半是因为环境配置环节出了问题,重新配置VS环境即可。
(d)由上图可知,我们运行的是MPI并行程序,但是控制台只输出了一条结果,并不是我们期待的那样输出了多条语句。
这时可以利用wmpiexec
来执行代码。
可能有的机器使用这种方式跑出来的程序不会输出任何结果就结束了,可以换成项目文件下的release>X64>EXE
文件执行(记得下图换成x86)。
总结
因为科学计算导论需要使用,所以去安装了MPI
。每次安装陌生软件最头疼的就是环境配置,一是不熟悉,二是配置环节稍微出了点问题,就得掉头重来。
不过,一路走了过来,就会熟悉很多了。