110 likes | 239 Views
Evaluación de actualización códigos de cálculo de reactores nucleares para ejecución en GPGPU. Ing. Ignacio Mochi. Primera escuela Argentina de GPGPU Computing para Aplicaciones Científicas. Córdoba – Mayo 26, 2011. Introducción. Diseño y optimización de reactores nucleares
E N D
Evaluación de actualización códigos de cálculo de reactores nucleares para ejecución en GPGPU Ing. Ignacio Mochi Primera escuela Argentina de GPGPU Computing para Aplicaciones Científicas Córdoba – Mayo 26, 2011
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 • 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
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
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 • Compilador / Bibliotecas / Lenguaje mixto • Compatibilidad (Windows / Linux) • Soporte