1

我在 Open MPI 创建的可执行文件上运行了 ldd 命令。它显示了对 libpthread.so 的引用 使用 LD_PRELOAD 变量我创建了自己的 pthread_create 实现,但从它的输出看来,MPI 实现没有像我预期的那样调用 pthread_create。如果 ldd 没有被使用,为什么会在输出中显示 pthread so 文件?Open MPI 不会为每个节点使用单独的 MPI 线程来实现功能吗?

4

2 回答 2

1

MPI 使用进程,而不是线程。所以不,Open MPI 不会为每个节点使用单独的 MPI 线程。

于 2010-04-16T13:18:56.753 回答
0

如果二进制文件未链接,--as-needed那么它将获取对链接命令行上给出的每个库的引用,无论它是否实际需要。传递-Wl,--as-needed给 gcc 以使其将选项传递给 ld。

于 2010-04-16T07:12:25.537 回答