Explora I+D+i UPV

Volver atrás Proyecto

SOLVERS DE VALORES PROPIOS ALTAMENTE ESCALABLES EN EL CONTEXTO DE LA BIBLIOTECA SLEPC

Departamento De Sistemas Informáticos Y Computación

Compartir
Año de inicio

2016

Organismo financiador

AGENCIA ESTATAL DE INVESTIGACION

Tipo de proyecto

INV. COMPETITIVA PROYECTOS

Responsable científico

Román Moltó José Enrique

Resumen

En muchas aplicaciones de computación científica, la parte principal del cálculo es la resolución numérica de un problema algebraico de autovalores. Los métodos iterativos de proyección son ventajosos en comparación con otros métodos en los casos en que las matrices son grandes y dispersas y solo una pequeña fracción del espectro es necesaria. La biblioteca software SLEPc, desarrollada por el equipo proponente, proporciona métodos iterativos robustos y eficientes para este problema en computadores paralelos, y es utilizado en todo el mundo en muchas disciplinas científicas. Los usuarios de SLEPc están abordando problemas cada vez más grandes, tanto en lo que respecta a las dimensiones de las matrices como al número de autovalores a calcular. Estos cálculos masivamente paralelos se realizan en supercomputadores que a menudo tienen una arquitectura híbrida, con cientos o miles de nodos multi-núcleo combinados con GPUs y/o aceleradores. Los algoritmos implementados en SLEPc deben adaptarse y mejorarse para poder resolver estos problemas de forma escalable, aprovechando de forma eficiente el hardware disponible. Además, es interesante incorporar nuevos métodos que tengan mejores propiedades de escalabilidad que los disponibles actualmente. Los desarrollos del proyecto van encaminados a mejorar la escalabilidad desde diferentes perspectivas. Cuando sea posible se utilizará una metodología de paralelismo jerárquico, especialmente en el caso de calcular un porcentaje elevado del espectro, en el contexto de técnicas de disección del espectro o métodos de integral de contorno. Se hará un énfasis especial en los métodos que puedan alcanzar una intensidad aritmética alta, como por ejemplo los métodos de bloques (LOBPCG y similares). La implementación debe realizarse de forma que las operaciones de estos algoritmos realicen un uso eficiente del paralelismo de memoria compartida y los aceleradores (GPU). También se explorarán las técnicas algorítmicas de evitación de comunicación, como los métodos de Krylov de s pasos, las variantes segmentadas, y los métodos eficientes para ortogonalización a bloques. Por último, se investigarán los métodos escalables desde el punto de vista algorítmico, como las técnicas multi-malla y de descomposición de dominio multi-nivel, de forma que la convergencia de los métodos no dependa de la resolución de la malla utilizada en la discretización. Todos los códigos desarrollados durante el proyecto se analizarán, desde el punto de vista de las prestaciones paralelas, en diversas plataformas, desde ordenadores de sobremesa con una GPU hasta grandes supercomputadores. Además, los nuevos métodos se incluirán en sucesivas versiones de SLEPc.