欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算

程序员文章站 2022-05-02 19:27:51
...

下载安装包

visual studio 2019版本的下载

(1)visual studio 2019版本的下载,下载地址如下:
https://visualstudio.microsoft.com/zh-hans/vs/
下载界面如图:
visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算共有三个版本可供选择,community版本适合个人使用,并且免费;professional版本和enterprise版本都需要***,
我在这里选择了专门面向程序开发人员的professional版本并进行下载
visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算

intel parallel studioXE2020下载

(2)intel parallel studioXE2020下载,我下载的是集群版本的,为了做MPI;具体的下载途径可以百度(我的是直接从别人copy来的)。
visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算

安装过程

!!!重要!!!
必须先安装visual studio2019,后安装intel parallel studioXE2020。

visual studio 2019版本的安装

visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算这里因为我已经安装好了,所以只有修改选项,如果是首次安装,只需要在选项中选择C++的那个即可,其余的默认点击右下角安装就好
visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算安装好之后,输入***认证(如果是communnity版本就不用认证),**之后,关掉界面。进行后续安装

intel parallel studioXE2020安装

可以参考这里百度经验上面对2918版本的安装步骤https://jingyan.baidu.com/article/37bce2be5efc901002f3a216.html
因为我需要使用MPI和VTune等功能,所以我在选择时把所有的功能全都选上了。

安装完成后可以选择一个fortran很简单的例子测试并运行一下看看是否正常,比如hello world

MPI相关配置

新建项目步骤

文件>>新建>>项目
visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算>>下一步
visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算>>创建

在source files右键>>添加>>新建项

visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算>>添加
这样就创建好了,就可以直接在里面写代码,编译运行。但是在这之前,需要对MPI进行编译环境配置

配置步骤

文章的信息,主要来源于官网,一定要按照步骤准确配置,否则会出现许多错误。
https://software.intel.com/content/www/us/en/develop/documentation/mpi-developer-guide-windows/top/introduction.html
(1)安装mpi库,因为我已经在XE2020里面选择了此选项,所以不必重新安装;
(2)设置MPI库环境:直接双击运行批处理文件:vars.bat,我的在C:\Program Files (x86)\IntelSWTools路径下面搜索,然后找到。
(3)在电脑搜索框输入cmd,以管理员身份运行,输入hydra_service -status,以确保hydra_service正在运行
visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算

如果不是正在运行的话,可以输入hydra_service -install,
visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算
这样再输入hydra_service -status的话,显示的就是在运行了,
visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算
(4)注册用户的凭证信息,并保存在注册表中。输入mpiexec -register,然后输入自己设置的用户名,密码,确认密码,回车出现保存
visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算
这里其实还有两种其他办法,不用输入用户名和密码,但是需要修改设置,而且会耗费时间,所以不符合并行的目的,我没有选择。

(5)找到compilervars.bat双击运行。

(6)找到 mpivars.bat双击运行。

(7)在console上右键>>属性
visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算
(8)配置属性> Debugging下修改:
Command: KaTeX parse error: Undefined control sequence: \intel at position 13: (I_MPI_ROOT)\̲i̲n̲t̲e̲l̲64\bin\mpiexec.…(TargetPath)"
visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算针对我自己的文件夹,commond是:C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.1.216\windows\mpi\intel64\bin\mpiexec.exe
Command arguments是:-n 4 “$(TargetPath)” ,代表4各核计算。
修改后点击应用
(9)在fortran>general下,修改Additional Include Directories: $(I_MPI_ROOT)\intel64\include
visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算针对我自己的文件夹,C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.1.216\windows\mpi\intel64\include
修改后点击应用
(10)在linker>general下,修改Additional Library Directories: $(I_MPI_ROOT)\intel64\lib<configuration>,其中,的选项可以是debug或者是release,
( release : multi-threaded optimized library
debug : multi-threaded debug library)
visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算
因为我的是debug模式,所以我的文件夹是,C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.1.216\windows\mpi\intel64\lib\debug
修改后点击应用
(11)在linker>input下,修改Additional Dependencies: impi.lib
visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算修改后点击应用
(12)点击确定
(13)选择一个较为简单的mpi的fortran程序粘贴进去,如
! 简单的 MPI 并行程序 Fortran 实现示例! ! – by Jackdaw ! – QQ 群 Fortran Coder(2338021)! – 2018 10 24 ! ! 任意进程间相互问候!

program main    
use mpi 
implicit none
integer :: myid, numProcs, nameLen, ierr  
character(len=mpi_max_processor_name) :: p_name  

call mpi_init( ierr ) ! 完成 MPI程序 的初始化工作 
call mpi_comm_rank( mpi_comm_world, myid, ierr ) ! 获取当前进程标识号  
call mpi_comm_size( mpi_comm_world, numProcs, ierr ) ! 获取通信域包含的进程数  

if( numProcs .lt. 2 ) then 
    write(*,*) "System requires at least 2 processors."
    call mpi_abort( mpi_comm_world, 1, ierr )    
end if  

call mpi_get_processor_name( p_name, nameLen, ierr ) ! 获取运行当前进程的机器名 
write(*,*) "Processor ",myid," is alive on ",p_name(1:nameLen),"."
call sleep(1)    
call mpi_barrier( mpi_comm_world, ierr )    
call hello()    
call mpi_finalize( ierr ) ! 完成 MPI程序 的结束工作 
end program main
! ############################################################################## !
!   任意两个进程间交换信息,问候信息由发送进程标识和接收进程标识组成!
! ############################################################################## 
subroutine hello()   
use mpi 
implicit none 
integer :: nproc, me, type = 1
integer :: buffer(2), node 
integer :: istat( mpi_status_size ), ierr 
call mpi_comm_rank( mpi_comm_world, me, ierr ) 
call mpi_comm_size( mpi_comm_world, nproc, ierr ) 

if( me .eq. 0 ) then 
    write(*,*) "Hello test from all to all." 
end if 

do node = 0, nproc-1 
    if( node .ne. me ) then 
        buffer(1) = me 
        buffer(2) = node 
        ! 首先将问候信息发出
        call mpi_send( buffer, 2, mpi_integer, node, type, mpi_comm_world, ierr ) ! 消息发送
        ! 然后接收被问候进程对自己发送的问候信息
        call mpi_recv( buffer, 2, mpi_integer, node, type, mpi_comm_world, istat, ierr ) ! 消息接收
        if( buffer(1) .ne. node .or. buffer(2) .ne. me ) then 
            write(*,*) "Hello: ",buffer(1)," = ",node," or ",buffer(2)," = ",me                
            write(*,*) "Mismatch on hello processors; node = ",node 
        end if 
        write(*,*) "Hello from ",me," to ",node,"."
    end if 
end do 
end subroutine

(14)生成>>生成解决方案
(15)调试>>开始执行不调试
visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算备注:还有一个重要的问题是版本的问题
在我的运行中,我设置的版本信息如下:
visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算
右键解决方案>>属性>>配置管理器
visual studio 2019& Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算如果之前平台是win32,可以点小箭头然后新增,就有X64了。

结束

研究了两天,终于成功了,走了很多弯路,最大的感受是,最好还是按照官网上面官方版本的说明进行操作,不要觉得差不多版本操作就一样,还是有一些不同的。
学习之路,漫漫长夜,终见黎明。
转载请注明出处,谢谢。