After installing WSL2/Ubuntu, run:
sudo apt-get install openmpi-bin openmpi-common libopenmpi-dev
cmake_minimum_required(VERSION 3.2) project(hellompi) find_package(MPI REQUIRED) include_directories(${MPI_INCLUDE_PATH}) SET(CMAKE_C_COMPILER mpicc) SET(CMAKE_CXX_COMPILER mpicxx) set(SOURCE_FILES main.c) add_executable(hellompi ${SOURCE_FILES})
#include <mpi.h> #include <stdio.h> int main(int argc, char** argv) { // Initialize the MPI environment MPI_Init(NULL, NULL); // Get the number of processes int world_size; MPI_Comm_size(MPI_COMM_WORLD, &world_size); // Get the rank of the process int world_rank; MPI_Comm_rank(MPI_COMM_WORLD, &world_rank); // Check if the current process is the master process if (world_rank == 0) { // Master process prints this message printf("Hello world from master\n"); } else { // All other processes print this message printf("Hello world from processor %d out of %d processors\n", world_rank, world_size); } // Finalize the MPI environment. MPI_Finalize(); }