MPI_Comm_size始终返回1

时间:2017-12-01 09:58:56

标签: c ubuntu cmake mpi

当处理器数为4时,MPI_Comm_size命令总是返回单个进程。我在虚拟xUbuntu 16.04上使用MPI 3.2.1和CLion。仿真器 - VMWare。在vm设置中,处理器计数设置为4,xUbuntu中的nproc表示“4”。

这是whereis mpicc的输出:

mpicc: /usr/local/bin/mpicc

我尝试用mpi 1。**,但它也做了同样的事情。怎么了?

这是CMakeLists.txt文件:

cmake_minimum_required(VERSION 3.8)
project(primes)

set(CMAKE_C_STANDARD 99)

set(SOURCE_FILES main.c)
add_executable(primes ${SOURCE_FILES})

set(CMAKE_C_COMPILER "/usr/local/bin/mpicc")

以下是代码的一部分:

int main(int argc, char* argv[]) {

...

int rank, tasksCount;

MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &tasksCount);

UPD 通过控制台运行:

kamo@kamo:~/prog/primes$ mpicc -o main.o main.c
kamo@kamo:~/prog/primes$ mpiexec -np 4 ./mail.o

什么都没有。什么都没发生,没有任何东西写入控制台。只是没有“kamo @ kamo:〜/ prog / primes $”前缀的新行。

1 个答案:

答案 0 :(得分:0)

我从一开始就尝试过,但效果很好。

CLION调试器工作错误,所以你应该使用我的问题的UPD块中描述的mpicc + mpiexec命令。