Durante esta actividad el alumno será capaz de:
Esta actividad promueve las siguientes habilidades, valores y actitudes: análisis y síntesis, capacidad de resolver problemas, creatividad, y uso eficiente de la informática y las telecomunicaciones.
Esta práctica puede ser elaborada de manera individual o en parejas.
El producto punto de dos vectores a y b con n elementos cada uno, se define de la siguiente manera:
Escribe en lenguaje C dos versiones para resolver este problema: una versión secuencial normal y una versión paralela usando instrucciones intrínsecas SIMD para la arquitectura x86. Con el fin de simplificar su implementación, considera las siguientes restricciones:
Para resolver la versión paralela SIMD se sugiere utilizar las siguientes operaciones intrínsecas:
_mm_setzero_si128
_mm_loadu_si128
_mm_storeu_si128
_mm_add_epi16
_mm_madd_epi16
Escribe un reporte con tus resultados tal como se indica en: Reportes de prácticas.
En la parte superior del archivo fuente de C coloca en comentarios los datos personales de los autores. Por ejemplo:
/*-------------------------------------------------------------------- * * Práctica 8: Producto punto con SIMD * Fecha: 8-Abr-2014 * Autores: 1166611 Pepper Pots * 1160611 Anthony Stark * *--------------------------------------------------------------------*/
Coloca en un archivo tarball llamado practica8.tgz
todos los archivos fuentes de tu programa así como el reporte correspondiente (debes incluir los archivos .txt
y .html
de tu reporte escrito en AsciiDoc).
Sube el archivo tarball usando el Sistema de Entrega de Tareas Automatizado.
La fecha límite es el martes, 8 de abril.
Esta práctica será evaluada usando los siguientes criterios:
50% | Implementación de los requerimientos. |
---|---|
50% | Reporte de la práctica. |
DA | El programa y/o reporte es un plagio. |