Presentación

Introducción

En el presente blog se documenta el diseño, la implementación y el análisis estadístico de rendimiento de diversos paradigmas de cómputo paralelo y concurrente aplicados al procesamiento de imágenes. El proyecto consiste en someter a estrés el hardware aplicando un algoritmo de incremento de brillo sobre un set de tres imágenes idénticas en formato BMP de 24 bits, pero con resoluciones escalonadas: partiendo de una imagen mediana (base), duplicando sus dimensiones para una imagen grande, y cuadruplicándolas para una imagen muy grande.

Para medir y contrastar la eficiencia computacional, el experimento se dividió en cuatro enfoques arquitectónicos principales:

  1. Secuencial (Baseline): Generación del tiempo base de procesamiento en C++ tradicional, ejecutado tanto en entorno Windows como en Linux.

  2. SIMD y POSIX Threads: Paralelización a bajo nivel utilizando instrucciones vectoriales (registros XMM) y escalamiento concurrente con 1, 2, 4, 8 y 16 hilos.

  3. OpenMP: Paralelización de alto nivel mediante directivas de compilador (sin SIMD), ejecutándose con cargas de 2, 4, 8 y 16 hilos.

  4. Inteligencia Artificial (Python): Replicación del procesamiento en un lenguaje de alto nivel administrado, utilizando código generado por al menos dos modelos de IA generativa para contrastar su eficiencia y SpeedUp frente a las versiones nativas en C/C++.

Integrantes

  • Christian Hernández Mares
  • Valery Rodriguez Trejo
  • Victor Manuel Antonio Fuentes
  • Ángel Daniel Jiménez Pacheco

Comentarios

Publicar un comentario

Entradas más populares de este blog

¿Cómo se van a comportar los tiempos de ejecución si se mantiene el código, pero se varía el tamaño de la imagen a procesar, en cada configuración? Y ¿existe una variación y si existe cómo se podría explicar tal variación observada?

¿Cómo se comportan los tiempos de ejecución al incrementar el número de hilos?

¿Qué código reportará mejor Speedup, el generado por IA en un lenguaje de alto nivel como Python o el de la versión C/C++?