ebook img

Optimización de algoritmos de resolución de la ecuación de transporte con orientación a su ... PDF

118 Pages·2015·1.49 MB·Spanish
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Optimización de algoritmos de resolución de la ecuación de transporte con orientación a su ...

PROYECTO INTEGRADOR DE LA CARRERA DE ´ INGENIERIA NUCLEAR ´ ´ OPTIMIZACION DE ALGORITMOS DE RESOLUCION ´ DE LA ECUACION DE TRANSPORTE CON ´ ´ ORIENTACION A SU PARALELIZACION Manuel Garc´ıa Alumno Dr. Eduardo Villarino Director Miembros del Jurado Ing. Alexis Weir (Instituto Balseiro) Ing. Lourdes Torres (Instituto Balseiro) Junio de 2015 Divisi´on de Ingenier´ıa Nuclear – INVAP S.E. Instituto Balseiro Universidad Nacional de Cuyo Comisi´on Nacional de Energ´ıa At´omica Argentina A Alma, ´ Indice de contenidos ´Indice de contenidos v ´Indice de figuras ix Resumen xiii Abstract xv 1. Introducci´on 1 1.1. Transporte de neutrones . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1. Tratamiento de las variables en la ecuaci´on de transporte . . . . 3 1.2. Etapas de c´alculo y algoritmos estudiados . . . . . . . . . . . . . . . . 4 1.2.1. C´alculos de celda . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.2. C´alculos de nu´cleo . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3. Optimizaci´on mediante procesamiento en paralelo . . . . . . . . . . . . 6 1.4. Objetivos del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2. Procesamiento en paralelo y modelo de memoria compartida 9 2.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2. Leyes de Amdahl y de Gustafson y overhead . . . . . . . . . . . . . . . 11 2.3. Arquitecturas y modelos de programaci´on en paralelo . . . . . . . . . . 12 2.3.1. Memoria compartida . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.2. Memoria distribuida . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.3. Arquitectura h´ıbrida . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3.4. Comparaci´on de los modelos . . . . . . . . . . . . . . . . . . . . 14 2.4. Modelo de memoria compartida . . . . . . . . . . . . . . . . . . . . . . 16 2.5. Memoria compartida con OpenMP . . . . . . . . . . . . . . . . . . . . 19 3. C´alculos de celda: flujos de respuesta 21 3.1. Tratamiento geom´etrico . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.1.1. Trazado de cuerdas . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.1.2. Paralelizaci´on del trazado de cuerdas . . . . . . . . . . . . . . . 23 v vi ´Indice de contenidos 3.2. C´alculo de probabilidades de colisi´on . . . . . . . . . . . . . . . . . . . 25 3.2.1. Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2.2. Integraci´on num´erica . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3. C´alculo de flujos de respuesta . . . . . . . . . . . . . . . . . . . . . . . 27 3.4. C´alculo de probabilidades de colisi´on y flujos de respuesta en paralelo . 29 3.4.1. Paralelizaci´on por grupos . . . . . . . . . . . . . . . . . . . . . . 30 3.4.2. Paralelizaci´on por nodos . . . . . . . . . . . . . . . . . . . . . . 34 3.5. Resultados num´ericos en CONDOR . . . . . . . . . . . . . . . . . . . . 35 3.5.1. M´etodo de respuesta heterog´enea . . . . . . . . . . . . . . . . . 35 3.5.2. M´etodo de probabilidad de colisi´on . . . . . . . . . . . . . . . . 38 4. C´alculos de celda: esquema multigrupo 41 4.1. Esquema iterativo del m´etodo multigrupo . . . . . . . . . . . . . . . . 41 4.2. Esquema multigrupo en paralelo . . . . . . . . . . . . . . . . . . . . . . 44 4.2.1. Paralelizaci´on por grupos de las iteraciones exteriores . . . . . . 44 4.2.2. Paralelizaci´on por grupos de las iteraciones t´ermicas . . . . . . . 47 4.2.3. Paralelizaci´on de las operaciones matriciales . . . . . . . . . . . 51 4.3. Discusi´on del algoritmo paralelo o´ptimo . . . . . . . . . . . . . . . . . . 53 5. C´alculos de celda: quemado 55 5.1. Cadenas de quemado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.1.1. Resoluci´on num´erica . . . . . . . . . . . . . . . . . . . . . . . . 57 5.2. C´alculo de ritmos de reacci´on en paralelo . . . . . . . . . . . . . . . . . 58 5.3. Resoluci´on de las cadenas de quemado en paralelo . . . . . . . . . . . . 59 5.4. Resultados num´ericos en CONDOR . . . . . . . . . . . . . . . . . . . . 60 6. M´etodo de difusi´on 63 6.1. Teor´ıa de difusi´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 6.1.1. Ecuaciones multigrupo . . . . . . . . . . . . . . . . . . . . . . . 64 6.1.2. Formulacio´n en diferencias finitas . . . . . . . . . . . . . . . . . 65 6.1.3. Resoluci´on num´erica . . . . . . . . . . . . . . . . . . . . . . . . 66 6.2. Paralelizaci´on de la ecuaci´on de difusi´on monoenerg´etica . . . . . . . . 69 6.2.1. M´etodo de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . 69 6.2.2. M´etodo de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . 71 6.3. Implementaci´on en CITATION-CITVAP . . . . . . . . . . . . . . . . . 74 6.3.1. M´etodo de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . 74 6.3.2. M´etodo de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.4. Discusi´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 ´Indice de contenidos vii 7. Modelo de memoria distribuida y modelo h´ıbrido 81 7.1. Modelo de memoria distribuida . . . . . . . . . . . . . . . . . . . . . . 81 7.2. Modelo h´ıbrido de memoria compartida y distribuida . . . . . . . . . . 82 7.3. Mensajer´ıa y modelo h´ıbrido con MPI . . . . . . . . . . . . . . . . . . . 84 7.4. C´alculo de flujos de respuesta utilizando MPI-OpenMP . . . . . . . . . 85 7.4.1. Resultados num´ericos en CONDOR . . . . . . . . . . . . . . . . 86 7.4.2. Discusi´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 8. An´alisis de los programas optimizados 89 8.1. Desempen˜o y an´alisis del c´odigo CONDOR . . . . . . . . . . . . . . . . 89 8.1.1. Resultados para HRM . . . . . . . . . . . . . . . . . . . . . . . 90 8.1.2. Resultados para probabilidades de colisi´on . . . . . . . . . . . . 91 8.1.3. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 8.2. Desempen˜o y an´alisis del c´odigo CITVAP . . . . . . . . . . . . . . . . . 93 8.2.1. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 8.2.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 9. Conclusiones 95 9.1. C´alculos de celda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 9.2. C´alculos de nu´cleo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Agradecimientos 101 ´ Indice de figuras 2.1. Ley de Amdahl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2. Arquitecturas de memoria compartida, UMA y NUMA. . . . . . . . . . 13 2.3. Arquitectura de memoria distribuida. . . . . . . . . . . . . . . . . . . . 14 2.4. Arquitectura de memoria h´ıbrida (compartida-distribuida). . . . . . . . 15 2.5. Jerarqu´ıa de memoria en una arquitectura de tres niveles de cache. . . 17 2.6. False sharing entre dos procesadores. . . . . . . . . . . . . . . . . . . . 18 2.7. Modelo de ejecuci´on de OpenMP, fork-join. . . . . . . . . . . . . . . . . 20 3.1. Trazado de cuerdas de integraci´on en un sistema arbitrario rotado en un ´angulo α . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 p 3.2. Nodo gen´erico para un c´alculo con HRM. . . . . . . . . . . . . . . . . . 26 3.3. Caminos ´opticos utilizados para el ca´lculo probabilidades de colisi´on con dependencia angular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.4. Speedup para distintos algoritmos de paralelizaci´on por grupos del c´alcu- lo de flujos de respuesta en HRM. . . . . . . . . . . . . . . . . . . . . . 36 3.5. Escalabilidad para el ca´lculo en paralelo por grupos de los flujos de respuesta en HRM, con paralelismo de tasks . . . . . . . . . . . . . . . 37 3.6. Speedup para la paralelizaci´on por celdas del c´alculo de flujos de res- puesta en HRM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.7. Escalabilidad para la paralelizaci´on por celdas sin sincronizaci´on en el m´etodo de respuesta heterog´enea . . . . . . . . . . . . . . . . . . . . . 38 3.8. Comparaci´on del speedup para la paralelizaci´on por grupos y por celdas del c´alculo de flujos de respuesta en HRM. . . . . . . . . . . . . . . . . 39 3.9. Speedup para el c´alculo de flujos de respuesta en paralelo por grupos para el m´etodo de probabilidades de colisi´on. . . . . . . . . . . . . . . . 39 3.10.Escalabilidad de la paralelizaci´on por grupos con asignaci´on din´amica de iteraciones en el m´etodo de probabilidades de colisi´on. . . . . . . . . 40 4.1. Nu´mero de iteraciones totales en funci´on del nu´mero de procesadores para cuatro implementaciones distintas de la paralelizaci´on por grupos de las iteraciones exteriores en el m´etodo multigrupo. . . . . . . . . . . 48 ix x ´Indice de figuras 4.2. Speedup obtenido para el m´etodo multigrupo paralelizando las iteracio- nes exteriores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.3. Iteraciones totales (exteriores y t´ermicas) hasta la convergencia en fun- ci´on del nu´mero de procesadores para la paralelizaci´on de los dos niveles de iteraciones t´ermicas del esquema multigrupo de CONDOR. . . . . . 50 4.4. Speedup para la paralelizaci´on de las iteraciones t´ermicas en el m´etodo multigrupo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.5. Escalabilidad para la paralelizaci´on de las iteraciones t´ermicas. . . . . . 51 4.6. Speedup obtenido paralelizando los c´alculos de transporte y de fuentes en el esquema multigrupo. . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.7. Speedup para los dos algoritmos finales para el m´etodo multigrupo . . . 54 5.1. Cadenas de quemado t´ıpicas de metales pesados. . . . . . . . . . . . . . 56 5.2. Cadenas de quemado para productos de fisi´on. . . . . . . . . . . . . . . 56 5.3. Ejemplo de una cadena gen´erica linealizada. . . . . . . . . . . . . . . . 58 5.4. Speedup para la paralelizaci´on del c´alculo de ritmos de reacci´on. . . . . 60 5.5. Resultados para la resoluci´on de las cadenas de quemado en paralelo. . 61 5.6. Resultados para los c´alculos de quemado en paralelo. . . . . . . . . . . 61 6.1. Discretizaci´on de 7 puntos utilizada en el esquema de diferencias finitas para el m´etodo de difusi´on. . . . . . . . . . . . . . . . . . . . . . . . . . 66 6.2. Grilla con puntos pares e impares para la paralelizaci´on del m´etodo de Gauss-Seidel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.3. Grilla coloreada por filas y por planos para la paralelizaci´on del m´etodo de Gauss-Seidel con relajacio´n de l´ınea . . . . . . . . . . . . . . . . . . 73 6.4. Interfase entre los subdominios de dos procesadores para la paraleliza- ci´on del m´etodo de Gauss-Seidel por descomposicio´n del dominio por planos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 6.5. Iteraciones exteriores hasta la convergencia con tres paralelizaciones del m´etodo de Gauss-Seidel para el m´etodo de difusi´on. . . . . . . . . . . . 76 6.6. Speedup en funci´on del nu´mero de procesadores para las tres variantes del m´etodo de Gauss-Seidel implementadas en xyz. . . . . . . . . . . . 77 6.7. Tiempos de c´alculo obtenidos para los algoritmos paralelos del m´etodo de Gauss-Seidel en geometr´ıa xyz. . . . . . . . . . . . . . . . . . . . . . 77 6.8. Speedup para los m´etodos rojo-negro en geometr´ıa triangular-z. . . . . 77 6.9. Tiempos de c´alculo obtenidos en geometr´ıa triangular-z. . . . . . . . . 78 6.10.Comparaci´on del speedup obtenido con el m´etodo de Jacobi y el de Gauss-Seidel rojo-negro, ambos paralelizados por filas. . . . . . . . . . 78 6.11.Tiempo de c´alculo para los m´etodos de Jacobi y Gauss-Seidel. . . . . . 79

Description:
Tratamiento de las variables en la ecuación de transporte . este trabajo se utilizó la versión 3.1 implementada en el paquete de compiladores gcc.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.