Windows11安装oneAPI和Visual Studio 2022配置Fortran并行环境 | 您所在的位置:网站首页 › fortune语言编译器 › Windows11安装oneAPI和Visual Studio 2022配置Fortran并行环境 |
Windows11安装oneAPI和Visual Studio 2022配置Fortran并行环境
安装Visual Studio 2022 Community安装oneAPI建立Fortran工程项目测试建立单核运行的Fortran运行算例建立并行运行的Fortran运行算例
结语补充(2024.01.09)补充注意事项(2024.01.09)补充注意事项(2024.02.20)
安装Visual Studio 2022 Community
访问微软Visual Studio官网,下载社区版(Visual Studio Community)即可,不用破解,是免费版的。网址为https://visualstudio.microsoft.com/zh-hans/free-developer-offers/ 访问微软oneAPI官网,网址为https://www.intel.cn/content/www/cn/zh/developer/tools/oneapi/toolkits.html。注意,如果中文页面下载不了,可以右上角切换语言到USA(English),切换到英文页面,网址为https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html。如果还是下载不了,需要检查一下是否是浏览器把下载页面的弹窗页面给阻拦掉了,解除阻拦页面即可。 打开Visual Studio 2022,点击创建新项目 此处将此文件代码粘贴到这里,以便建立空文件的读者直接验证程序。 program Console1 implicit none print *, 'Hello World' pause end program Console1 建立并行运行的Fortran运行算例和上述一样,先新建一个项目。本文新建项目Console2。 点击Visual Studio上方的项目>>属性,打开项目属性页对话框。
在右侧解决方案,项目Console2的Header Files右击,添加>现有项,输入oneAPI安装路径的include文件夹位置C:\Program Files (x86)\Intel\oneAPI\mpi\2021.9.0\include,右下方选择所有文件,选择添加文件mpif.h。
点击运行 保存后,将文件重命名为runMpiExec_Debug.bat,点击运行。 如果报错有类似如下信息: [unset]: unable to decode hostport from b4272c0e-bc89-43ab-a94f-d3903edf303f Abort(1090831) on node 0 (rank 0 in comm 0): Fatal error in PMPI_Init: Other MPI error, error stack: MPIR_Init_thread(176): MPID_Init(1437)......: MPIR_pmi_init(118)...: PMI_Init returned -1 [unset]: write_line error; fd=-1 buf=:cmd=abort exitcode=1090831 : system msg for write_line failure : No error forrtl: severe (157): Program Exception - access violation Image PC Routine Line Source impi.dll 00007FFCCFF66BC4 Unknown Unknown Unknown impi.dll 00007FFCCFFA045E Unknown Unknown Unknown impi.dll 00007FFCD078C3FC Unknown Unknown Unknown Console2.exe 00007FF728E31065 MAIN__ 6 Console2.f90 Console2.exe 00007FF728E3122B Unknown Unknown Unknown Console2.exe 00007FF728E319B9 Unknown Unknown Unknown Console2.exe 00007FF728E318DE Unknown Unknown Unknown Console2.exe 00007FF728E3179E Unknown Unknown Unknown Console2.exe 00007FF728E31A2E Unknown Unknown Unknown KERNEL32.DLL 00007FFD25ED26AD Unknown Unknown Unknown ntdll.dll 00007FFD2752A9F8 Unknown Unknown Unknown则表明Windows系统中默认的mpiexec不是oneAPI的mpiexec可执行文件。则需要指定mpiexec路径,需要修改runMpiExec_Debug.bat文件内容为 title %cd% "C:\Program Files (x86)\Intel\oneAPI\mpi\2021.9.0\bin\mpiexec.exe" -n 8 ./x64/Debug/Console2.exe pause再次运行 此为笔者历时很久探索出来的,比较可靠、稳定在Windows11系统下配置oneAPI并行环境,进行Fortran并行程序开发(C++并行程序开发应该也没问题)的步骤。终于腾出时间来写这篇博客,截图耗时耗力,昨晚搞了很久,今早打开草稿箱继续写。收到CSDN消息推送,一位陌生人评论我Visual Studio代码整体增加缩进或减少缩进博客文不对题,虽然我点进去后,发现评论已经删掉了,但是良言一句三冬暖,恶语伤人六月寒,端午节前后正是北京最热的天气,我确实感受到了很大的寒意,直接就不想写这篇博文了。但是思来想去,可能是我那篇博文写的确实粗糙简陋,游客从百度搜过来,没有看清楚我表达了什么,所以随口评论的。恢复心情后,继续一鼓作气把这篇博客写完。希望读者不吝赐赞,遇到问题可以友好评论,我经常看CSDN的,可以一块讨论交流,不要再给博主泼冷水了。 补充(2024.01.09)进行了测试,发现使用mpi环境可以直接use mpi,不必须再使用include ‘mpif.h’了。代码如下: PROGRAM main use mpi integer :: my_Process_ID ! |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |