Table of Contents

Configure CLion to run an Open MPI project on Windows

Install OpenMPI on Ubuntu

After installing WSL2/Ubuntu, run:

sudo apt-get install openmpi-bin openmpi-common libopenmpi-dev

Configure CLion to use WSL2

Change build directory

Set build directory to the root project folder:

Include MPI references in CMake file

CMakeLists.txt
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})

Add source file

main.c
#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();
}

Build the project

Reload also cmake project if you have issues:

Add a CLion Run Configuration

Run the project