Cosas para hacer
- Explorar un poco que se puede hacer respecto a autovectorización:
- Opciones de compilación.
- Cambios de código para que el autovectorizador funcione.
- Intentar en gcc, icc, clang y otros compiladores menos usados como PGI.
- Vectorizar lo que sea posible a mano con intrinsics y/o ISPC.
- Leer "ancho" de memoria.
- Procesar.
- Escribir "ancho" en memoria.
Entrega
Presentación de los resultados en clase (10 minutos) e informe breve.
- Explicación de lo que se intentó a nivel de autovectorización por parte del compilador.
- Detalle de la vectorización realizada.
- Medición de tiempos normalizados respecto al tamaño.
- Gráfica comparativa contra la mejor versión CPU obtenida en el Laboratorio 1: tiempo normalizado vs. tamaño.
- Potenciales mejoras en la vectorización.