- Douglas Ardila Garcés [email protected]
- Andrés Felipe Avendaño [email protected]
- Felipe Macías Herrera [email protected]
- Documentación open.md
- Documentación pcam.md
-
/opt/anaconda3/bin/python procesarArchivos.py
-
g++ -std=c++11 secuencial.cpp -o secuencial
-
time ./secuencial
-
export OMP_NUM_THREADS=2
-
g++ -std=c++11 openmp.cpp -o openmp -fopenmp
-
time ./openmp
-
mpic++ -std=c++11 mpi.cpp -o mpi
-
time mpirun -f host.txt -np 3 ./mpi
-
export OMP_NUM_THREADS=2
-
mpic++ -std=c++11 pcam.cpp -o pcam -fopenmp
-
time mpirun -f host.txt -np 3 ./pcam
-
El tiempo que toma el algoritmo para ejecutar en serial es de 213 segundos en el DCA. La siguiente imagen representa un ejemplo de ejecución haciendo búsqueda de trump.
-
El análisis en paralelo se hizo bajo dos arquitecturas: OpenMP y MPI+OpenMP. Para ambos casos se realizaron ejecuciones con 1,2,3 y 4 hilos. Los resultados al implementar OpenMP pueden evidenciarse en la siguiente tabla y gráfica.
El tiempo que toma el algoritmo para ejecutar en paralelo (solo MPI) es de 36 segundos en el DCA.
Los resultados al implementar MPI+OpenMP pueden evidenciarse en la siguiente tabla y gráfica.
Con base en lo anterior, puede concluirse que la implementación de OpenMp y MPI mejoran el speedUp y la
eficiencia del algoritmo. Sin embargo, el aumento en el número de los hilos no siempre aumenta el speedUp,
inclusive en algunos casos entre más hilos, este se ve afectado de manera negativa.