HPC - Comunicazione ad anello

Moreno Marzolla moreno.marzolla@unibo.it

Ultimo aggiornamento: 2021-05-14

Realizzare un programma MPI chiamato mpi-ring.c che effettua una comunicazione ad anello tra i processi. Più in dettaglio, detto \(P\) il numero di processi MPI (da specificare con il comando mpirun; si deve avere \(P > 1\)) si richiede di realizzare le funzionalità seguenti:

Ad esempio, se \(K = 2\) e ci sono \(P = 4\) processi, la comunicazione da realizzare deve essere quella mostrata in Figura 1 (i cerchi sono i processi MPI; le frecce rappresentano messaggi il cui contenuto è il numero indicato sopra). I messaggi percorrono \(K=2\) "giri" dell'anello composto da tutti i processi; al termine dell'esecuzione il processo 0 riceve e stampa il valore 8.

Figura 1: Comunicazione ad anello
Figura 1: Comunicazione ad anello

Per compilare:

    mpicc -std=c99 -Wall -Wpedantic mpi-ring.c -o mpi-ring

Per eseguire:

    mpirun -n 4 ./mpi-ring

File