当处理器数为4时,MPI_Comm_size命令始终返回单个进程。我在虚拟xUbuntu 16.04上使用带有CLion的MPI 3.2.1。仿真器-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 $”前缀的新行。

最佳答案

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

CLion调试器工作不正确,因此您应该按照我的问题的UPD块中所述使用mpicc + mpiexec命令。

09-13 10:21