gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 11:28:39 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/2642996/

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