This project is a parallel computing application that uses Message Passing Interface (MPI) for communication between processes. The application is containerized using Docker, and uses MPICH, an implementation of the MPI standard.
The project is managed using Docker and Docker Compose. It contains exercises and program examples from "PROGRAMARE PARALELĂ ȘI DISTRIBUITĂ" course of UTM.
Ensure you have Docker and Docker Compose installed on your system.
-
Build the Docker image
You can build the Docker image using Docker Compose with the following command:
docker-compose build
This command will pull the latest Ubuntu image, install MPICH and bash, and set up the working directory.
-
Start the Docker container
After the image has been built, you can start the Docker container with the following command:
docker-compose up -d
This command will pull the latest Ubuntu image, install MPICH and bash, and set up the working directory.
-
Compile the program
To compile your MPI program, you can execute the following command:
docker exec -it pdp-mpich_container bash -c "mpicxx home_exercise_3_1.cpp -o home_exercise_3_1"
To compile your MPI program, you can execute the following command:
docker exec -it pdp-mpich_container bash -c "mpicxx home_exercise_3_1.cpp -fopenmp -o home_exercise_3_1"
-
Run the program
You can then run your program with the desired number of processes using the following command:
docker exec -it pdp-mpich_container bash -c "mpirun -n 12 ./home_exercise_3_1"
This command will run the home_exercise_3_1 program with 12 processes.
- Exemplul 3.1.1
- Exemplul 4.1
- Exemplul 4.2
- Exemplul 4.3
- Exemplul 5.1
- Exemplul 5.2
- Exemplul 5.2.a
- Exemplul 5.3
- Exemplul 5.4
- Exemplul 6.1.a
- Exemplul 6.1.b
- Exemplul 7.1
- Exemplul 7.2
- Exemplul 7.3
- Exemplul 7.4
- Exemplul 7.4.a
- Exemplul 9.1
- Exemplul 10.1
- Exemplul 10.1
- Exemplul 10.2
- Exemplul 10.2
- Exemplul 10.3
- Exemplul 10.3
- Exemplul 10.4
- Exemplul 10.4
- Exemplul 11.1
- Exemplul 12.1
- Exemplul 13.1
- Exemplul 13.2
- Exemplul 13.3
- Exemplul 13.4
- Exemplul 14.1.1
- Exemplul 14.1.2
- Exemplul 14.1.3
- Exemplul 14.1.4
- Exemplul 14.1.5
- Exemplul 14.1.6
- Exemplul 14.1.7
- Exemplul 15.2.1
- Exemplul 15.4.1
- Exemplul 15.4.2
- Exemplul 15.5.1
- Exemplul 15.6.1
- Exemplul 16.2.1
- Exemplul 16.2.2
- Exemplul 16.2.3
- Exercițiul 3.1
- Exercițiul 3.2
- Exercițiul 3.3
- Exercițiul 3.4
- Exercițiul 3.5
- Exercițiul 4.1
- Exercițiul 4.2
- Exercițiul 4.3.a
- Exercițiul 4.3.b
- Exercițiul 4.4.a
- Exercițiul 4.4.b
- Exercițiul 5.1
- Exercițiul 5.2
- Exercițiul 5.3
- Exercițiul 5.4
- Exercițiul 7.1
- Exercițiul 7.2
- Exercițiul 7.3
- Exercițiul 7.4
- Exercițiul 7.5
- Exercițiul 7.6