首页 > 解决方案 > 通过 SSH 连接时执行 MPI 示例时出现“未指定协议”错误

问题描述

我打开一个终端并通过 SSH 连接到桌面。

玩具程序是:

#include <iostream>
#include <mpi.h>
#include <H5Cpp.h>

int main(int argc, char** argv){
    int process_Rank, size_Of_Cluster;

    MPI_Init(&argc, &argv);
    MPI_Comm_size(MPI_COMM_WORLD, &size_Of_Cluster);
    MPI_Comm_rank(MPI_COMM_WORLD, &process_Rank);

    for(int i = 0; i < size_Of_Cluster; i++){
        if(i == process_Rank){
      std::cout << "Hello World from process " << process_Rank<< " of " <<
        size_Of_Cluster << std::endl;
        }
        MPI_Barrier(MPI_COMM_WORLD);
    }
    
    MPI_Finalize();
    return 0;
}

我用h5c++. 然后我运行mpirun -n 4 ./a.out并得到:

No protocol specified
Hello World from process 0 of 4
Hello World from process 1 of 4
Hello World from process 2 of 4
Hello World from process 3 of 4

这是什么“未指定协议”错误,它是如何弹出的,我该如何避免它?

标签: c++ubuntusshmpi

解决方案


推荐阅读