Este repositorio contiene los programas desarrollados para la práctica de la asignatura Arquitectura de Sistemas y Software de Base de 4º de Ingeniería de la Salud, ejecutados en un entorno Linux. El proyecto aborda la programación de procesadores multinúcleo utilizando OpenMP en un entorno Linux, explorando técnicas de paralelización, sincronización de hilos, y optimización del rendimiento en cálculos complejos como la estimación del valor de Pi.
El repositorio está organizado en varias carpetas principales: /src, /docs, y un archivo adicional. Cada uno de estos elementos contiene componentes relevantes para el proyecto
La carpeta /src contiene los scripts y programas desarrollados durante la práctica:
- hello.c: Programa básico "Hello World" en C.
- hello_par.c: Versión paralela del programa "Hello World" usando OpenMP.
- pi_serie.c: Estimación secuencial del valor de Pi.
- pi_par1.c: Primera versión paralela para estimar el valor de Pi.
- pi_par2.c: Optimización usando private.
- pi_par3.c: Implementación con región crítica (critical).
- pi_par4.c: Versión optimizada utilizando atomic.
- pi_par5.c: Versión final con reducción paralela para mejor rendimiento
La carpeta /docs incluye el documento: Procesadores-multinucleo-openmp-PPC.pdf: PDF del trabajo.
Además, el repositorio incluye un archivo relevante:
-Descripción del Proyecto: README.md - Archivo que ofrece una explicación general del proyecto y sus componentes.
-Lenguaje utilizado: C con OpenMP
-Entorno: Sistema operativo: Linux
-Temas abordados:
- Creación y gestión de hilos.
- Sincronización de hilos con critical y atomic.
- Optimización de rendimiento en cálculos paralelos.
-Programas desarrollados:
- Ejecución y análisis de un programa simple "Hello World" en paralelo.
- Estimación del valor de Pi mediante series matemáticas en versiones tanto secuenciales como paralelas.