36 lines
909 B
C++
36 lines
909 B
C++
/**
|
|
* Compile
|
|
* mpic++ MPI_hello_world.cpp -std=c++17 -Wall -pedantic -Wpedantic
|
|
* Usage
|
|
* mpirun -n 4 ./a.out
|
|
*
|
|
* Note: An easy way to finde the location of the `mpi.h` file is
|
|
* mpic++ --showme:compile
|
|
* which might be usefull to configure the intelicense.
|
|
*/
|
|
|
|
#include <iostream>
|
|
#include <mpi.h>
|
|
|
|
int main(int argn, char* argv[]) {
|
|
|
|
// Initialize MPI (always required)
|
|
MPI_Init(nullptr, nullptr);
|
|
|
|
// Allocate MPI Settings
|
|
int num_proc; /*< Number of processes */
|
|
int rank; /*< This process rank (a.k.a. the MPI process ID) */
|
|
// Set/Get MPI Settings
|
|
MPI_Comm_size(MPI_COMM_WORLD, &num_proc);
|
|
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
|
|
|
|
// Write MPI info to stdout
|
|
std::cout << "Hello World, i am rank " << rank << " of " << num_proc
|
|
<< " processes." << std::endl;
|
|
|
|
// Shutdown MPI (always required)
|
|
MPI_Finalize();
|
|
|
|
return 0;
|
|
}
|