VS2103+Intel2013+MSMPI运行Fortran并行程序

MSMPI安装

我这里采用的是Microsoft MPI v9.0.1,可以点此下载。下载完成后同时安装msmpisdk.msi、msmpisetup.exe两个文件,安装位置默认即可。
下载页面
其中msmpisdk.msi的默认安装路径在C:\Program Files (x86)\Microsoft SDKs\MPI,该文件包含了mpi环境所需要的include 和library。 msmpisetup.exe 默认安装路径为C:\Program Files\Microsoft MPI,其中.\bin下的mpiexec将用于并行程序的执行。1
安装是否成功可以在终端cmd输入set MSMPI进行验证。
在这里插入图片描述

新建Fortran90项目

  1. 在VS2013新建Fortran项目
    在这里插入图片描述
  2. 设置项目的链接库,关键是能让项目找到MPI安装在哪个地方。
    (1)调试——属性——Fortran——General——Additional Inclue Directories中添加include目录:C:\Program Files (x86)\Microsoft SDKs\MPI\Include\和C:\Program Files (x86)\Microsoft SDKs\MPI\Include\x86,两个之间用英文分号隔开。
    在这里插入图片描述
    (2)调试——属性——Linker——General——Additional Library Directories 中添加:C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x86\和C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\,同样两个之间用英文逗号隔开。
    在这里插入图片描述
    (3) 调试——属性——Linker——Input——Additional Dependencies处添加msmpi.lib msmpifec.lib (中间用空格区分)
    在这里插入图片描述
    (4)调试——属性——Linker——Input——Ignore Specific Library处添加libcmt.lib,这个是要看有没有运行报错,之前笔者就是因为这个原因在这里花了很多时间,就是如果类似下面第二个图的报错出现的话,这一步很必要!即只要在Ignore Specific Library处添加报错的lib文件名即可。
    在这里插入图片描述
    在这里插入图片描述

编写Fortran并行程序

这里用了这一篇博客的程序,点击这里可跳转。
注意其中的include "mpi.f90"一定能缺少,引用的博客里的程序缺少导致编译错误,找不到mpi这个module

include "mpi.f90"!一定不能缺少这个

program hello_world
  use mpi
  integer ierr, num_procs, my_id

  call MPI_INIT ( ierr )
  ! find out my process ID, and how many processes were started.
  call MPI_COMM_RANK (MPI_COMM_WORLD, my_id, ierr)
  call MPI_COMM_SIZE (MPI_COMM_WORLD, num_procs, ierr)

  print *, "Hello world! I'm process ", my_id, " out of ", num_procs, " processes."

  call MPI_FINALIZE ( ierr )

  stop
end program hello_world

在cmd运行编译完成的执行文件

打开cmd,进入到项目所在的文件夹内,即有执行文件xxx.exe的文件夹(xxx为项目名)。在cmd终端输入下面的命令

mpiexec –n 4 xxx.exe

即可成功执行!
在这里插入图片描述
另外这篇博客也参照了“基于MS VS2017的Intel Fortran 使用MPI”,点此可以跳转。这里一并感谢前人的分享!


  1. 引用博客链接 ↩︎

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值