Córdoba – Mayo 26, 2011
Primera escuela Argentina de GPGPU Computing para Aplicaciones Científicas
Evaluación de actualización códigos de cálculo de
reactores nucleares para ejecución en GPGPU
Ing. Ignacio Mochi
Introducción
• Diseño y optimización de reactores nucleares
• Utilización de diversos programas de cálculo• Línea de cálculo propia • Muy versátil desde el punto de vista de la programación• Programación en lenguaje Fortran
• Se busca optimizar la línea de cálculo neutrónica• Aprovechar tecnologías disponibles• Reducir el tiempo real de cálculo
Modelos utilizados
Cálculos de celda
• Problemas de probabilidad de colisión• Sistemas de ecuaciones lineales• Resolución por inversión matricial• Orden de magnitud del sistema: 100 - 1000 • 200 ecuaciones independientes• Varios métodos numéricos distintos.
Modelos utilizados
Modelos utilizados
Cálculos de núcleo
• Problemas de difusión• Sistemas de ecuaciones lineales• Matriz rala, paralela (tri-diagonal + 4 paralelas distantes)• Resolución iterativa• Orden de magnitud del sistema: 10.000.000 (2113)• 2 – 10 ecuaciones independientes
Modelos utilizados
Modificaciones realizadas
• Problemas de difusión• Se identificaron las rutinas mas costosas• Se exteriorizaron dichas rutinas • Se paralelizaron utilizando OpenMP• Obteniendo una reducción del tiempo real de ejecución de 3,5 veces en computadoras con 4 procesadores (linux)• Algunas rutinas iterativas debieron modificarse utilizando el la técnica Red-Black
Modificaciones realizadas
• Se intentó utilizar el compilador PGI Fortran sin éxito
• Problemas encontrados• Funciones de bajo nivel• Requiere manejo minucioso de memoria• Vectorización inadecuada de ecuaciones• GPGPUs disponibles no pueden manejar Realx8
Modificaciones realizadas
Objetivos• Identificar que segmentos de cálculo es factible optimizar utilizando GPGPU• Estimar que reducción puede alcanzarse en el tiempo de ejecución de los programas• Evaluar las características de un cluster de GPGPUs adecuado• Evaluar las opciones de implementación o Compilador / Bibliotecas / Lenguaje mixtoo Compatibilidad (Windows / Linux)o Soporte
Gracias por su atención