El foco de la investigación se centra en temas específicos de procesamiento paralelo, orientados a la resolución de aplicaciones numéricas de alto rendimiento. Naturalmente, se deben tener en cuenta por un lado las aplicaciones con todas sus características, como la de dependencias de datos y el hardware de procesamiento con las suyas, como la memoria distribuida. El objetivo final siempre es el de optimización de rendimiento.
Estos temas abarcan el desarrollo de patrones de resolución de clases de algoritmos paralelos, la utilización y eventual actualización de una biblioteca de sincronización de relojes distribuidos ya implementada y la transformación y optimización de los algoritmos paralelos de álgebra lineal sobre clusters, considerando la tecnología de procesadores de múltiples núcleos (multicores) que emerge actualmente.
Desarrollar software de base para clusters de multicores, tratando de optimizar el uso del hardware disponible en las arquitecturas, suponiendo diferentes modelos de programación paralela y diferentes esquemas o paradigmas de resolución de aplicaciones.