La optimización automática de un simulador molecular reduce a la mitad su uso de memoria
Automated optimization of a molecular simulation program

El programa de simulación molecular MBX, desarrollado con el Paesani Research Group en UC San Diego, ejecutaba secuencialmente el cálculo del polinomio de agua de tres cuerpos. Al vectorizarlo con SIMD, la memoria se disparó muy por encima de la caché L2, limitando la mejora. El autor describe cómo un análisis automático basado en el 'livesize' y la reordenación de sentencias logró reducir más de un 20% la memoria máxima en una sola pasada.
El programa original usaba 32.609 intermedios para una sola evaluación del polinomio —al ser valores de punto flotante de doble precisión de 64 bits, esto equivalía a unos 260 KB de memoria. Hacer ocho evaluaciones a la vez con vectorización SIMD hace que la demanda de memoria se dispare hasta casi 2087 KB, mucho mayor que las cachés L1 y L2 de la CPU.