gpt4 book ai didi

c - MPI 意外输出

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

我正在阅读教程并练习 MPI 程序。在那里我看到了一个查找进程等级的示例。但同一个例子在我的机器上给出了不同的输出(Ubuntu 10.04)..这是程序

 #include <stdio.h>
#include <mpi.h>
main(int argc, char **argv)
{
int ierr, num_procs, my_id;

ierr = MPI_Init(&argc, &argv);

/* find out MY process ID, and how many processes were started. */

ierr = MPI_Comm_rank(MPI_COMM_WORLD, &my_id);
ierr = MPI_Comm_size(MPI_COMM_WORLD, &num_procs);

printf("Hello world! I'm process %i out of %i processes\n",
my_id, num_procs);

ierr = MPI_Finalize();
}

根据教程的预期输出是

预期输出:

Hello world! I'm process 0 out of 4 processes.
Hello world! I'm process 2 out of 4 processes.
Hello world! I'm process 1 out of 4 processes.
Hello world! I'm process 3 out of 4 processes.

我得到的输出

Hello world! I'm process 0 out of 1 processes
Hello world! I'm process 0 out of 1 processes
Hello world! I'm process 0 out of 1 processes
Hello world! I'm process 0 out of 1 processes

我的机器使用intel i3,Dell Inspiron,操作系统为Ubuntu 10.04。请帮助我解决问题。

最佳答案

我刚刚在我的 Ubuntu 上编译并运行了你的程序:

tom@tom-ThinkPad-T500:~/MPI_projects/Start/net2/net2/bin/Debug$ mpirun -n 6 ./output
Hello world! I'm process 3 out of 6 processes
Hello world! I'm process 4 out of 6 processes
Hello world! I'm process 0 out of 6 processes
Hello world! I'm process 2 out of 6 processes
Hello world! I'm process 1 out of 6 processes
Hello world! I'm process 5 out of 6 processes

输入包含可执行文件的文件夹并运行:

mpirun -np 2 ./输出

mpirun -np 6 ./输出

标志 -np 修改被调用进程的数量 ( http://linux.die.net/man/1/mpirun )。

您还可以运行不带任何标志的 mpirun 来显示大量有用的信息。

另一个有趣的命令是mpirun -info,它将显示打印 MPI 构建信息。

这是我输出的第一部分:

tom@tom-ThinkPad-T500:~/MPI_projects/Start/net2/net2/bin/Debug$ mpirun -info
HYDRA build details:
Version: 1.4.1
Release Date: Wed Aug 24 14:40:04 CDT 2011

最后的手段是使用以下命令重新安装或更新 MPI:sudo apt-get install libcr-dev mpich2 mpich2-doc

关于c - MPI 意外输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15095121/

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