"No protocol specified" error when executing MPI example while connected via SSH

Viewed 597

I open a terminal and connect via SSH to a desktop.

The toy program is:

#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;
}

which I compile with h5c++. Then I run with mpirun -n 4 ./a.out and get:

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

What is this "No protocol specified" error, how does it pop up and how can I avoid it?

0 Answers
Related