Optimización de Bucles y Vectorización Manual con Intrínsecos SIMD
Visión general
De qué trata este proyecto.
Implementa loop interchange e identificación de bucles tileables sobre el IR del compilador, con análisis de dependencias suficiente para garantizar correctitud (test de banderas). Vectoriza a mano con intrínsecos AVX2 los 3 kernels objetivo (convolución 2D 3×3, normalización por lotes, suma reducción). Mide throughput (GFLOPS) frente al escalar, frente al output de clang -O3 -mavx2 y reporta varianza. Garantiza paridad numérica vs referencia (tolerancia 1e-6). Entrega código, microbenchmarks y memoria de 6 páginas.
El Briefing
Lo que harás y lo que demostrarás.
Combinar loop interchange + tiling + vectorización AVX2 manual en 3 kernels de procesamiento de imagen, midiendo GFLOPS y paridad numérica frente a referencias.
Earning criteria — what you'll demonstrate
- Aplicar test de banderas para validar legalidad de transformaciones de bucles
- Razonar sobre localidad de caché y reuso al elegir tile size
- Escribir intrínsecos AVX2 correctos y mantener paridad numérica
- Medir GFLOPS con metodología honesta y comparar contra baselines fuertes
Encaje académico
Dónde encaja esto en tus estudios.
Afina las mismas habilidades que tu titulación espera de ti.
Habilidades
Habilidades que demostrarás.
Cada una aparece en tu credencial verificada.
Carreras
Roles para los que esto te prepara.
Títulos reales. Puentes de habilidades reales. Elige el que más se acerque a tu trayectoria.
Trayectorias profesionales que esto construye
Roles canónicosIngeniero de Software
Combinar loop optimization con SIMD manual sobre kernels reales es la habilidad que separa al ingeniero que sabe optimizar del que solo escribe código que funciona — fuerte señal en entrevistas de empresas con cómputo intensivo.
Este proyecto afina
- loop-optimization
- vectorization
- performance-benchmarking
Ingeniero Backend
Razonar sobre localidad de caché y throughput a nivel de kernel se traslada a optimizar servicios backend con hot paths críticos — un ingeniero backend con esta base destaca en sistemas de baja latencia.
Este proyecto afina
- simd
- performance-benchmarking
- cpp
Arquitecto de Sistemas
Quien entiende qué hace en la práctica un -O3 frente a un kernel manual diseña con criterio las capas de cómputo de un sistema completo — clave en arquitectura.
Este proyecto afina
- vectorization
- compiler-optimization
- loop-optimization