Está en la página 1de 4

Nombre: Ramírez Zamora Brayan Oswaldo

Matricula: 2173048481
Curso: Programación Concurrente
Introducción
Esta práctica trata sobre programación concurrente utilizando OpenMP, se trata de rellenar dos
matrices (M1 y M2) como uno desee, sumar su contenido y guardar la suma en una tercera matriz
(M3) y guardar los resultados en disco, es decir enviar el resultado a un archivo. Lo que se pretende
con esta práctica es que se utilicen las directivas de OpenMP y verificar que entre más núcleos se
utilicen en el programa, menos tiempo tardara su ejecución.

Desarrollo de la practica
Lo que hice fue utilizar el siguiente código:
Para cambiar cuantos núcleos se utilizan en el programa, se hace a través de la directiva omp parallel
num_threads(). En los paréntesis debemos de poner el número de núcleos deseados y ver cuanto
tarda el programa en ejecutare, entonces comenzamos con 1 núcleo, luego subimos a 2, luego 4,
posteriormente a 8 y finalmente a 16.
Comenzamos con 1 nucleo:
Ahora con 2 nucleos:

Con 4 nucleos tenemos lo siguiente:

Con 8 nucleos:

Con 16 nucleos:
nucleos vs tiempo
32
28
24
20

Tiempo
16
12
8
4
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Nucleos

Conclusiones
Como podemos observar en el desarrollo de la practica, conforme aumentamos los nucleos, el tiempo
de ejecucion del programa se reduce y eso es mucho mas evidente enla grafica cuando llegamos a 16
nucleos o hilos, se alcanza el menor tiempo de ejecucion del programa, sin embargo tambien
podemos darnos cuenta de que desde 8 hilos, el tiempo es muy cercano y es debido a que el
procesador de mi computadora solo tiene 8 hilos y aunque aumente el numero de hilos para la
ejecucion del programa, solo se puede utilizar el maximo que tiene fisicamente que son 8.

También podría gustarte