我正在 Windows 11 上使用 MS Visual Studio Code 在 Fortran 中编码和运行物理模拟,我想使用 MPI。我已经安装了 Microsoft MPI (MSMPI),并且知道它已正确安装。当我在 Windows powershell 中输入“set msmpi”时,我看到了我想要看到的所有目录和位置:
MSMPI_BENCHMARKS=C:\Program Files\Microsoft MPI\Benchmarks\
MSMPI_BIN=C:\Program Files\Microsoft MPI\Bin\
MSMPI_INC=C:\Program Files (x86)\Microsoft SDKs\MPI\Include\
MSMPI_LIB32=C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x86\
MSMPI_LIB64=C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64\
程序本身有如下形式(我省略了与MPI问题无关的部分):
PROGRAM xyz
USE MPI
...irrelevant...
INCLUDE 'mpif.h'
...irrelevant...
CALL MPI_INIT(ierr)
CALL MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr)
CALL MPI_COMM_SIZE(MPI_COMM_WORLD, size, ierr)
CALL MPI_REDUCE(var1, var2, 1, MPI_DOUBLE_PRECISION, MPI_SUM, 0, MPI_COMM_WORLD, ierr)
...irrelevant...
CALL MPI_FINALIZE(ierr)
END PROGRAM xyz
当我尝试运行代码时,我收到一条错误消息:
错误:无法打开包含文件“mpif.h”`
我看过几个关于如何让 VS Code 访问 MPI 库的 Youtube 视频,但我只能零碎地收集信息,因为其中一些信息来源较旧,即 VS Code 不再包含设置以及视频中显示的选项。到目前为止,我只能收集到我必须在 settings.JSON 文件中输入条目。目前,这就是我所拥有的:
{
"workbench.colorTheme": "Visual Studio Dark",
"explorer.confirmDelete": false,
"code-runner.runInTerminal": true,
"fortran.preferredCase": "uppercase",
"fortran.linter.compiler": "gfortran",
"editor.renderWhitespace": "none",
"editor.accessibilitySupport": "off",
"editor.tabSize": 6,
"C_Cpp.default.includePath": [
"C :\\Program Files\\Microsoft MPI\\MPI\\Include",
"${workspaceFolder}/**",
],
"fortran.linter.includePaths": [
"C:\\Program Files (x86)\\Microsoft SDKs\\MPI\\Include",
"${workspaceFolder}/**",
],
"fortran.fortls.preprocessor.directories": [
],
"jake.autoDetect": "on",
"grunt.autoDetect": "on",
"gulp.autoDetect": "on",
"json.schemas": [
]
}
我不确定从现在开始我必须做什么。这是我的 settings.JSON 文件的样子吗?
我运行代码时不断收到找不到头文件的错误信息。如果我忽略了对更有经验的程序员来说显而易见的事情,我提前道歉。我是一名年轻的学生,对编程还很陌生,这是我第一次不得不在手动访问库时编写代码。任何帮助都将不胜感激。