UNIVERSITY OF WEST ATTICA
SCHOOL OF ENGINEERING
DEPARTMENT OF COMPUTER ENGINEERING AND INFORMATICS
University of West Attica · Department of Computer Engineering and Informatics
Introduction to Parallel Computing
Vasileios Evangelos Athanasiou
Student ID: 19390005
Supervision
Supervisor: Vasileios Mamalis, Professor
Supervisor: Grammati Pantziou, Professor
Co-supervisor: Michalis Iordanakis, Academic Scholar
Athens, January 2023
This guide explains how to set up, build, and run the project on your local machine.
git clone https://github.com/Introduction-to-Parallel-Computing/Collective-Communication.git
cd Collective-Communication/src- Programming Language: C
- Parallel Environment: MPI
MPI_InitMPI_Comm_rankMPI_Comm_sizeMPI_BcastMPI_ScatterMPI_GatherMPI_ReduceMPI_ScanMPI_Finalize
- Primary: Collective communication
- Secondary: Point-to-point blocking communication (used specifically for the prefix sum logic)
Compile the source code using the MPI compiler wrapper:
mpicc -o collective_communication collective_communication.cRun the program with mpirun, specifying the number of processes:
mpirun -np 4 ./collective_communicationImportant:
The vector size N must satisfy:
(i.e., N must be an integer multiple of the number of processes)
The current implementation does not support uneven vector sizes across processes.
Handling cases where
is not supported, as some processes would remain idle.
- Navigate to the
docs/directory - Open the report corresponding to your preferred language:
- English:
Collective-Communication.pdf - Greek:
Συλλογική-Επικοινωνία.pdf
- English:
