gpt4 book ai didi

mpi - 为什么 MPI_Init 接受指向 argc 和 argv 的指针?

转载 作者:行者123 更新时间:2023-11-30 17:36:45 24 4
gpt4 key购买 nike

这就是我们如何使用 MPI_Init 函数

int main(int argc, char **argv)
{
MPI_Init(&argc, &argv);

}

为什么 MPI_Init 使用指向 argc 和 argv 的指针而不是 argv 的值?

最佳答案

根据此处所述的答案:

Passing arguments via command line with MPI

大多数 MPI 实现都会删除此函数中所有与 mpirun 相关的参数,以便在调用它之后,您可以像正常(非 mpirun)命令执行一样处理命令行参数。

即之后

mpirun -np 10 myapp myparam1 myparam2

argc = 7(?) 因为 mpirun 参数(它似乎还添加了一些)并且 myparam1 和 myparam2 的索引未知

但是之后

MPI_Init(&argc, &argv)

argc = 3,myparam1 位于 argv[1],myparam2 位于 argv[2]

显然这超出了标准,但我在 linux mpich 上测试过它,情况似乎确实如此。如果没有这种行为,就很难(不可能?)区分应用程序参数和 mpirun 参数。

关于mpi - 为什么 MPI_Init 接受指向 argc 和 argv 的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22574679/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com