当处理器数为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命令。