当我运行 mpiexec 来运行并行程序时,用户可能会向 mpiexec 传递许多选项。是否有 MPI 调用来从已执行的程序中访问此命令行参数?
最佳答案
这一切都明确地超出了标准,所以 YMMV,但通常不会 - 执行的程序永远不会看到 mpiexec 参数。 mpiexec 是一个进程启动器,参数是进程启动器,然后仅使用可执行文件的命令行参数启动进程。
如果您需要这些参数,您可以编写一个包装脚本,在执行之前将命令行输出到一个文件,并让进程读取它们;但如果有人直接使用 mpiexec 运行,这将失败。
通常应该适用于给定环境但仍然完全非标准并且不能很好地跨环境(例如,linux vs windows)的东西是让 MPI 任务 0 检查它的 shell 命令历史并尝试从中提取论据。
关于mpi - 我可以从执行的程序中获取 mpiexec 命令行参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14583928/