在VS+IVF下配置mpi并行开发环境

在VS+IVF下配置mpi并行开发环境

    • 1. 下载mpi插件(mpi在Windows下的环境)
    • 2.安装并配置环境

在Fortran中采用mpi并行处理可以开启多个线程,提升程序运行速率,下面以VS+IVF Fortran(2013)这个版本为例说明如何配置mpi并行环境。

1. 下载mpi插件(mpi在Windows下的环境)

  1. 下载两个文件msmpisdk.msi和msmpisetup.exe下载地址
    注意:尽量不要安装10版本的,可能与您较低的VS版本不匹配,选择9版本的就可以了,选择其中一个下载。
  2. 我这里下载了一个版本,大家可以使用百度网盘,提取码:s9fg

2.安装并配置环境

将两个文件分别双击打开安装,安装过程中不要更改任何选项和路径(也可以更改,但为了和我后期的步骤相符,请勿修改)。
msmpisdk.msi的默认安装路径是C:\Program Files (x86)\Microsoft SDKs\MPI;而 msmpisetup.exe的默认安装路径是C:\Program Files\Microsoft MPI。
该环境的配置在VS这个项目的的属性中更改:
在VS+IVF下配置mpi并行开发环境_第1张图片

  1. 在【配置属性】——【Fortran】——【General】——【Additional Inclue Directories】中添加include项目 :C:\Program Files (x86)\Microsoft SDKs\MPI\Include;C:\Program Files (x86)\Microsoft SDKs\MPI\Include\x64;C:\Program Files (x86)\Microsoft SDKs\MPI\Include\x86,其中有三个项目,也可以是两个C:\Program Files (x86)\Microsoft SDKs\MPI\Include\x64;C:\Program Files (x86)\Microsoft SDKs\MPI\Include\x86这两个路径可以根据你编译器的位数,如果自己不知道,建议32位的和64位的都配置,每个路径之间用英文状态下的分号隔开;,不建议用空格。
    在VS+IVF下配置mpi并行开发环境_第2张图片

  2. 在【配置属性】——【Linker】——【General】——【Additional Library Directories】中添加:C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64;C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x86,同样建议32位的和64位的都配置。
    在VS+IVF下配置mpi并行开发环境_第3张图片

  3. 在【Linker】——【input】——【Additional Dependencies】中添加msmpi.lib msmpifec.lib两个文件名,文件名之间用空格连接
    在VS+IVF下配置mpi并行开发环境_第4张图片

  4. 在【Linker】——【input】——【Ignore Specific Library】中添加libcmt.lib文件名(但是这个步骤是可以有选择性的,有的编译器可以不用进行这不操作,视情况而定,我的这个电脑就需要,因为这个文件的功能已经在MSVCRTD.lib中体现了,必须忽略掉。
    在VS+IVF下配置mpi并行开发环境_第5张图片
    完整配置为:
    在VS+IVF下配置mpi并行开发环境_第6张图片

  5. 将C:\Program Files (x86)\Microsoft SDKs\MPI\Include下的mpi.f90文件添加到项目中去。
    在VS+IVF下配置mpi并行开发环境_第7张图片

  6. 在【配置属性】——【Debugging】中添加并行程序,这样就可以直接在项目中调用mpiexec.exe程序了,具体配置如下:
    在VS+IVF下配置mpi并行开发环境_第8张图片
    -n 4 的4代表4个并行进程,可人为修改(中间都用空格隔开)。后面的$(TargetPath) 在VS2017版需要加双引号 “ ”,在2013版中不需要引号。
    至此,整个的配置都完成了,使用时,只需要:

     module  mpi_use
            use mpi 
            ...
            ...
     end module mpi_use

特别参考
7. https://blog.csdn.net/weixin_41020597/article/details/89363575
8. https://www.jianshu.com/p/1679ca5a37cd

你可能感兴趣的:(Fortran,mpi并行,VS,程序人生)