|
Written by Javier Loureiro
|
|
Wednesday, 19 September 2007 |
|
Aunque no os metais en las profundidades de SIMD, sabreis que los procesadores modernos con las extensiones SSE2 pueden procesar 4 operaciones con floats al mismo tiempo, o 2 operaciones con doubles. Si activamos la vectorizacion en nuestros programas c++ con un compilador moderno, debemos de pensar en este problema. Preferimos aprovechar la precision de double, a costa de hacer la mitad de operaciones, o meter el turbo pero perdiendo precisión? dependerá claro, de la precisión que necesitemos. En este paper nos hablan de ese problema, y nos muestran una introducción al refinamiento iterativo, que básicamente es hacer las operaciones en float, y después buscar el error para ajustar los resultados.
|