m´etodos num´ericos para acelerar la convergencia de...

59
etodos Num´ ericos para Acelerar la Convergencia de Ecuaciones Lineales provenientes de la Mec´ anica de Fluidos Lencina, Luis Javier Director Dr. Enzo Dari CoDirector Dr. Gustavo Buscaglia Instituto Balseiro Comisi´ on Nacional de Energ´ ıa At´ omica Universidad Nacional de Cuyo Junio 2005

Upload: others

Post on 02-Nov-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Metodos Numericos para Acelerar laConvergencia de Ecuaciones Lineales

provenientes de la Mecanica de Fluidos

Lencina, Luis Javier

DirectorDr. Enzo Dari

CoDirectorDr. Gustavo Buscaglia

Instituto BalseiroComision Nacional de Energıa Atomica

Universidad Nacional de CuyoJunio 2005

Page 2: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y
Page 3: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Indice general

Resumen IX

Abstract XI

Agradecimientos XIII

Introduccion XV

1. Convergencia de la Ecuacion de Laplace utilizando diferentes metodos iterativos 11.1. Descripcion del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2. Descripcion de los metodos utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2.1. Resolutos de PETSc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.2. Precondicionadores de PETSc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3. Determinacion del orden de convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4. Efecto del ensanchamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2. Descomposicion de Dominios y el Complemento de Schur 72.1. Descomposicion de Dominios para resolver Ecuaciones en Derivadas Parciales . . . . . 72.2. Complemento de Schur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3. Matriz General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3. Implementacion del Complemento de Schur Secuencial 113.1. Breve descripcion del Codigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2. Descripcion de las funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2.1. schurmalloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.2.2. generagrafo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2.3. particionagrafo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2.4. separadominios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.2.5. schursolve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4. Resultados del Complemento de Schur Secuencial 214.1. Metodo de Diferencias Finitas aplicado a la Ecuacion de Poisson . . . . . . . . . . . . 21

4.1.1. Particion en dominios y deteccion de borde . . . . . . . . . . . . . . . . . . . . 214.1.2. Resolucion del Sistema Lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.2. Metodo de los elementos finitos aplicado a un tubo con condiciones periodicas . . . . . 244.2.1. Particion en dominios y deteccion de borde . . . . . . . . . . . . . . . . . . . . 244.2.2. resolucion del sistema lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.2.3. AΓ como precondicionador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.3. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

III

Page 4: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

5. Implementacion del Complemento de Schur Paralelo 295.1. Breve descripcion del codigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.2. Descripcion de las funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.2.1. schurmalloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.2.2. particionagrafo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.2.3. separadominios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.2.4. schursolve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

6. Resultados del Complemento de Schur Paralelo 336.1. Metodo de los elementos Fınitos aplicado a un tubo con condiciones periodicas . . . . 33

6.1.1. GMRES/GMRES/ILU/ILU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336.1.2. GMRES/NONE/LU/LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

6.2. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

7. Analisis Economico 377.1. Cronologıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377.2. Discriminacion de Costos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

7.2.1. Adquisicion de Herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377.2.2. Introduccion a PETSc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387.2.3. Desarrollo del programa Laplace 2D . . . . . . . . . . . . . . . . . . . . . . . . 387.2.4. Analisis de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387.2.5. Desarrollo del programa Schur Secuencial . . . . . . . . . . . . . . . . . . . . . 387.2.6. Validacion y Analisis de Resultados . . . . . . . . . . . . . . . . . . . . . . . . 387.2.7. Desarrollo, Validacion y Analisis de Resultados del Programa Schur Secuencial 397.2.8. Desarrollo, Validacion y Analisis de Resultados del Programa Schur Paralelo . 39

7.3. Resumen de Costos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Bibliografıa 41

Page 5: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Indice de figuras

1.1. Gradientes Conjugados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2. Metodos TFQMR, CGS, CR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3. Metodos Chebychev, Richardson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4. Metodos GMRES, BCGS y BCGSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.5. Autovalores de la matriz en funcion del numero de incognitas . . . . . . . . . . . . . . 6

2.1. Representacion de un malla de un Dominio Rectangular descompuesta en Subdominios 72.2. Grafo de la Matriz A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3. Grafo de la Matriz A indicando las incognitas de borde . . . . . . . . . . . . . . . . . . 10

3.1. Esquema de Resolucion Secuencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2. Esquema de funcionamiento de la funcion schurmalloc . . . . . . . . . . . . . . . . . . 133.3. Esquema de funcionamiento de la funcion generagrafo . . . . . . . . . . . . . . . . . . 153.4. Esquema de funcionamiento de la funcion particionagrafo . . . . . . . . . . . . . . . . 163.5. Ejemplo de separador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.6. Esquema de funcionamiento de la funcion separadominios . . . . . . . . . . . . . . . . 183.7. Esquema de funcionamiento de la funcion schursolve . . . . . . . . . . . . . . . . . . . 20

4.1. numero de incognitas en funcion del numero de dominios . . . . . . . . . . . . . . . . 224.2. tiempos necesarios para separar dominios en funcion del numero de incognitas . . . . . 224.3. Malla del problema del tubo en difentes vistas y cortes. Mallas utilizada por Gabriel

Campos en su tesis de Ingenieria [14]. . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.4. descomposicion de la malla del tubo en funcion de la cantidad de dominios . . . . . . 26

5.1. esquema de resolucion paralelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.2. Esquema de funcionamiento de la funcion particionagrafo paralelo . . . . . . . . . . . 315.3. Esquema de funcionamiento de la funcion schursolve . . . . . . . . . . . . . . . . . . . 32

V

Page 6: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y
Page 7: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Indice de cuadros

4.1. tiempos de resolucion en funcion del numero de dominios utilizando gmres sin precon-dicionar para el caso secuencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.2. tiempos de resolucion en funcion del numero de dominios utilizando gmres con precon-dicionar ILU para el caso secuencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.3. tiempos de resolucion en funcion del numero de dominios utilizando LU caso secuencial 244.4. tiempos de resolucion en funcion del numero de dominios utilizando gmres y precondi-

cionar jacobi caso secuencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.5. resultados para el problema tubo resolviendo con gmres y precondicionador ILU . . . 264.6. resultados para el problema tubo resolviendo con gmres y precondicionador LU y pre-

condicionador LU de Schur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.7. resultados para el problema tubo resolviendo con gmres y precondicionador LU y pre-

condicionador LU de Schur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

6.1. tiempos de resolucion en funcion del numero de dominios y maquinas utilizando ILUcaso paralelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

6.2. tiempos de resolucion en funcion del numero de dominios y maquinas utilizando LUcaso paralelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

7.1. Diagrama Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

VII

Page 8: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y
Page 9: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Resumen

En esta tesis se presenta el desarrollo de una biblioteca de calculo para resolver sistemas lineales.La biblioteca esta basada en la particion del grafo asociado a una matriz y la generacion del separadorque permite la resolucion independiente de los subgrafos. Esta destinanda en especial para problemasen derivadas parciales sobre dominios discretizados. Esto debido al caracter local de las funciones base,donde los nodos de un problema solo se conecta a un pequeno numero de nodos vecinos.

Los codigos se realizaron aplicando el metodo del complemento de Schur. Dentro de el se plantearondos formas de resolucion, a saber: en forma secuencial, donde todas las operaciones son resueltas en unmismo procesador, y en paralelo donde se aprovecha la capacidad de comunicacion de los ordenadorespara poder distribuir el trabajo.

Se realizo una validacion del codigo utilizando el problema de difusion unidimensional discretizadapor el metodo de las diferencias finitas, el cual es un benchmark muy util para detectar errores sencillosde codigo, y un problema de flujo incompresible en un tubo vertical por el metodo de los elementosfinitos utilizando el programa GPFEP [15] para generar la matriz del problema.

Se realizaron comparaciones de tiempos de resolucion tanto en secuencial como en paralelo, apli-cando dentro de diferentes metodos de resolucion en los subproblemas locales.

IX

Page 10: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y
Page 11: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Abstract

In this thesis we present the development of a library for solve linear system of equations. Thelibrary is based in the graph partition asociated to a matrix and the generation of the separator thatallow to solve the subgraphs independently. This is destined specially to problems in parcial derivatesover discrete domains. This is due to the local caracter of the base functions, where nodes of theproblems are only connected to a few number of neighbors nodes.

The code is done applying the method of the Schur Complement. It had been formulated on twoforms for solving, to know: en secuencial, in which all operations al solved in one processor, and inparallel in which we take advantage of the comunications of the computers to distribute we works.

It had been done a validation of the code using the problem of unidimensional diffusion discreted bythe method of the finite differences, which is a benchmark very useful for detecting simples mistakes inthe code, and a problem of incompressible fluid in a vertical tube by the method of the finite elementsusing the program GPFEPS [15] to build the matrix of the problem.

It had been done comparisons in resolution’s time for the secuencial and parallel case, applyingdiferents methods of resolutions for the local subproblems.

XI

Page 12: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y
Page 13: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Agradecimientos

Agradezco al grupo de Mecanica Computacional del Centro Atomico, en especial a mi DirectorEnzo Dari que me apoyo y guio en todo mi trabajo, a mi codirector Gustavo Buscaglia y a mi familia.

XIII

Page 14: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y
Page 15: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Introduccion

A lo largo de la historia el desarrollo del ordenador ha sufrido grandes avances. Se han clasificadoen 5 generaciones de ordenadores segun los criterios de construccion y comunicacion con el usuario.

Primera Generacion: abarco la decada de los cincuenta.Estas maquinas estaban construidas pormedio de tubos de vacıo. Eran programadas en lenguaje de maquina. En esta generacion lasmaquinas eran grandes y costosas (de un costo aproximado de ciento de miles de dolares). En1951 aparece la UNIVAC (UNIVersAl Computer), fue la primera computadora comercial, quedisponıa de mil palabras de memoria central y podıan leer cintas magneticas, se utilizo paraprocesar el censo de 1950 en los Estados Unidos.

Segunda Generacion: a principios de la decada del ’60, se empezo a definir la forma de comunicar-se con las computadoras, que recibıa el nombre de programacion de sistemas. En esta generacionlas computadoras se reducen de tamano y son de menor costo. Aparecen muchas companıas ylas computadoras eran bastante avanzadas para su epoca como la serie 5000 de Burroughs y laATLAS de la Universidad de Manchester. Estaban construidas con circuitos de transistores y seprograman en nuevos lenguajes llamados lenguajes de alto nivel.

Tercera Generacion: Se caracterizaron por su fabricacion electronica esta basada en circuitosintegrados y su manejo es por medio de los lenguajes de control de los sistemas operativos.

Cuarta Generacion: Aparecen los microprocesadores que es un gran adelanto de la microe-lectronica, son circuitos integrados de alta densidad y con una velocidad impresionante. En 1976Steve Wozniak y Steve Jobs inventan la primera microcomputadora de uso masivo y mas tardeforman la companıa conocida como Apple.

Quinta Generacion: Esta caracterizado por procesamiento en paralelo mediante arquitecturasy disenos especiales y circuitos de gran velocidad, manejo de lenguaje natural y sistemas deinteligencia artificial.

El avance del ordenador, ha posibilitado la resolucion de calculos de ingenieria de alta complejidad.Partiendo desde la simulacion de tipo Monte Carlos en neutronica donde se realizan calculos queinvolucran tiempos de resolucion de dıas a meses hasta simulaciones de fluido-dinamica e interaccionfluido-estructura. La incorporacion de estas simulacion al campo del diseno ha llevado a las empresasa ampliar sus capacidad de diseno en componentes nuevos. La gran mayorıa de las empresas en laactualidad realizan disenos estan involucradas con algun software de calculo o diseno grafico. Muchosde estos problemas habrıan requerido costos altısimos sin la intervencion del ordenador moderno, comoes el caso del tunel de viento.

En este trabajo analizaremos en particular problemas de ingenierıa que llevan a la resolucion deecuaciones en derivadas parciales, utilizando por ejemplo:

Metodo de las Diferencias Finitas

Metodo de los Elementos Finitos

Metodo de los Volumenes Finitos

XV

Page 16: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Cada uno de estos metodos posee ventajas y desventajas sobre el resto. En particular, el metodode los elementos finitos posee las ventajas de describir correctamente las fronteras de un dominioy la posibilidad de utilizar elementos polinomicos de alto orden. Este metodo tuvo su origen enla Elasticidad. El metodo de los elementos finitos esta basado en la formulacion variacional de unproblema, y busca minimizar el valor de este funcional en el espacio de las funciones de dimensionfinita planteadas.

Uno de los campos de aplicacion actuales de estos metodos es la mecanica de fluidos. Se hanmodelado una gran cantidad de problemas por este metodo obteniendo resultados de importancia. Elverdadero problema radica cuando se quieren modelar problemas de gran escala en gran detalle. Paralos casos de mayor interes los problemas son tridimensionales,ej: DNS simulacion numerica directa(Direct Numerical Simulation), por lo que el numero de incognitas del mismo aumentan al menos conel cubo de la discretizacion (dependiendo del tipo de elemento en cuestion). Pero estos problemas noconducen a matrices llenas, sino a matrices ralas, debido a el caracter local de las funciones base. Estolleva a plantear metodos de almacenamiento especiales que solo guarden los no ceros.

Para resolver esta clase de problemas se encuentran las siguientes limitaciones en los equiposinformaticos:

Velocidad del procesador

Capacidad de Almacenamiento

Velocidad de transmicion de datos

Los procesadores actuales han llegado a velocidad del orden de los Ghz, sin embargo no es viableutilizar todo este poder de calculo ya que precisarıamos de una memoria cache1 lo suficientementegrande para almacenar todo el problema, ya que las memorias RAM2 y RAM Disk3 no llegan a lasvelocidades antes mencionadas. Si bien es posible aumentar la capacidad del cache esto lleva a costosprohibitivos para su realizacion. Tambien existe la limitacion en la capacidad de memoria que puedetrabajar un procesador, basicamente limitado por la cantidad de bits en el direccionamiento que puedemanejar el procesador4, actualmente hasta 64bits. Ademas de ser prohibitivo aumentar mas alla lacantidad de bits que maneja el procesador, llegar a utilizar 64 bits en momeria llevarıa a costososdesarrollos en las placas madres.

Este problema se resuelve descomponiendo la matriz en varios ordenadores o cluster de calculo,proceso denominado paralelizacion. Los costos de esta clase de esquemas aumenta linealmente conel numero de procesadores ya que se utilizan equipos de uso comun cuyos costos de desarrollo estanamortizados y no precisen un desarrollo especial. Salvo para los casos donde se requieran del orden de1000 unidades de calculo, el esquema cluster es el mas utilizado [1].

Los calculos son realizados en parte con datos que estan almacenados en el procesador local ydatos que deben ser transmitidos por otros procesadores. Este esquema permite utilizar la memoriadisponible en cada procesador y el uso de cada unidad de calculo. Para evaluar las ventajas de uso de unesquema paralelizado se define la escalabidad como la habilidad de un sistema de continuar funcionandocorrectamente a medida que el tamano de un problema aumenta. Ası un problema sera escalable si alaumentar el tamano de un problema y aumentar en la misma proporcion el numero de procesadoresse puede resolver en tiempos similares. Notese que la escalabilidad de un problema depende tanto deltipo de problema, del tipo de hardware disponible y del algorıtmo utilizado. Ası puede darse que unproblema puede llegar a ser super escaleable o sea a resolverse en tiempos menores por numero deprocesadores que en un caso secuencial, pasando luego a no ser escalable por razones de tiempos decomunicacion y latencias.

Es comun interconectar estos procesadores utilizando redes locales debido a su bajo costo. Ademasde poder distribuir memoria entre los ordenadores, es deseable que la resolucion de un problema se

1El cache es una memoria pequea para almacenar datos recientes, diseada para acelerar el acceso a los mismos datos2RAM Memoria de Acceso Aleatoria (Random Access Memory) que se encuentra separada del procesador y se

conectan por al mismo por un bus de datos3Es una parte de la memoria RAM que se vuelca al disco para ampliar la capacidad de la RAM o liberar de datos

que no se precisen por el momento4un procesador de 32 bits puede manejar 232 = 4Gb y uno de 64 bits 264 = 1,844× 1019Bytes

Page 17: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

lleve en forma casi independiente, debido a que los tiempos de comunicacion son elevados comparadoscon los tiempos de acceso a memoria.

Si bien existen metodos de interconexion de mayor velocidad, tanto en latencia como en ancho debanda, sus costos tambien son mas elevados y la relacion costo beneficio es menor.

Una forma de minimizar las comunicaciones es utilizar metodos de descomposicion de dominios,en los cuales cada procesador se encarga de resolver una region del dominio. En estos casos, el calculoque se puede realizar en forma independiente es proporcional al tamano de los subdominios. Estogarantiza que, para problemas suficientemente grandes, el costo de comunicaciones se hace despreciablefrente a los calculos inter-dominios, completamente paralelizables. Una alternativa “algebraica” a losalgoritmos de descomposicion de dominios consiste en particionar el problema, una vez generada ladiscretizacion, y calcular la inter-relacion de las incognitas. Esta alternativa es la que desarrollaremosen esta tesis, en particular desarrollaremos el concepto de complemento de Schur, para resolver lamatriz del sistema de ecuaciones lineales resultantes de una discretizacion por elementos finitos de unproblema en ecuaciones en derivadas parciales.

En la siguiente seccion analizaremos un problema tıpico: la solucion del problema de difusionbidimensional, analizando varios metodos iterativos disponibles en una biblioteca de software estandar.

A continuacion presentamos el metodo del complemento de Schur, su relacion con un metodo dedescomposicion de dominios y la estrategia de resolucion en paralelo.

En el capıtulo 3 presentamos la implementacion del complemento de Schur secuencial, y un analisisde su comportamiento para el problema de la difusion unidimensional y Navier-Stokes en un tubo.

En el capıtulo 5 se describe la implementacion computacional del algoritmo paralelo, presentandoresultados en casos de interes.

Finalmente en el captulo 7 se realiza el analisis economico del proyecto.

Page 18: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y
Page 19: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Capıtulo 1

Convergencia de la Ecuacion deLaplace utilizando diferentesmetodos iterativos

En este capıtulo se realizaron comparaciones de los tiempos de resolucion paradiferentes metodos iterativos tomando como tema el problema del laplaciano bidi-mensional.

1.1. Descripcion del problema

El problema planteado fue el Laplaciano bidimensional, mostrado en la ecuacion 1.1 en una regionrectangular discretizada por el metodo de las diferencias finitas. −∇u(x, y) = 0 uεΩ

u(x, y) = 0 y = 0u(x, y) = 1 y = 1

(1.1)

Las condiciones de contorno son del tipo Dirichlet, como se muestra en la ecuacion 1.1. Las condi-ciones de borde para las rectas x = 0 y x = 1 no son impuestas, y esto equivale a tener derivada nulaen la direccion normal saliente[11].

Como se puede demostrar sencillamente, esta ecuacion posee solucion analıtica en el dominio iguala la funcion lineal en x como se muestra en la ecuacion 1.2

u(x, y) = x (1.2)

Conociendo la solucion este problema es ideal para realizar comparaciones directas del error en lasincognitas.

1.2. Descripcion de los metodos utilizados

En esta seccion se realiza una descripcion de los metodos utilizados. Los mismos se encuentranprogramas en las bibliotecas libres de calculo numerico PETSC.

1.2.1. Resolutos de PETSc

Los metodos son resueltos en distintas variantes basadas en la construccion de subespacios deKrylov que se describen a continuacion.

1

Page 20: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Metodos de los Gradientes Conjugados (CG) Consiste en un metodo de minimizacion de unfuncional cuadratico. Debido a su planteo requiere que la matriz sea simetrica y definida positiva.Su convergencia suele ser muy rapida, dependiendo del espectro de autovalores de la matriz.

Mınimos Residuos (MINRES) y LQ Simetrico (SYMMLQ) Estos metodos son alternativascomputacionales de los gradientes conjugados para matrices simetricas mas generales. SYMMLQgenera la misma solucion iterativa que CG si la matriz es definida positiva.

Gradientes Conjugados en las Ecuaciones Normales (CGNE y CGNR) Se basan en la apli-cacion del metodo CG a una de las dos formas de las ecuaciones normales para Ax = b. CGNEresuelve el sistema (AAT )y = b para y y luego calcula la solucion x = AT y. CGNR resuelve elsistema (AT A)x = b∗ para el vector x donde b∗ = AT b. Cuando la matriz A es no simetrica, lasmatrices AAT y AT A son simetricas y definidas positivamente. La convergencia de este metodoes peor que el CG debido a que el numero de condicion de estas matrices es mayor con respectoa la matriz original.

Generalizacion de los mınimos residuos (GMRES) El metodo esta basado en la propiedad deminimizacion de la norma del vector residual sobre el espacio de Krylov. El metodo requierealmacenar una secuencia de vectores, por lo que requiere alta capacidad de memoria. Esto suelelimitarse especificando un numero de maximo de vectores a almacenar, luego del cual se desechanlos vectores viejos y se reinicia el ciclo. Este metodo es util para matrices generales.

Gradientes Biconjugados (BiCG) En el mismo se generan dos secuencias de vectores con CG,basado en un sistema de coeficientes originales para A y AT . En vez de ortogonalizar inde-pendientemente dicha secuencia de vectores, estos son ortogonalizados mutuamente. El metodorequiere poco almacenamiento y puede aplicarse a matrices no simetricas. Sin embargo, la con-vergencia puede ser irregular y el metodo puede diverger.

Cuasi Mınimos Cuadrados (QMR) Este metodo aplica cuadrados mınimos y actualiza los resi-duos de BiCG, suavizando la convergencia que posee este ultimo evitando ampliamente el falloque puede ocurrir en BiCG. Suele requerir un numero mayor de iteraciones que BiCG.

Gradientes Conjugados cuadraticos (CGS) Este metodo es una variante de BiCG que aplica lasoperaciones de actualizacion para la secuencias A y la secuencia AT ambas a los mismos vectores.Idealmente, tendrıa una tasa de convergencia del doble, pero en la practica la convergencia esmas irregular que BiCG, que en ocasiones lleva a resultados no confiables. Una ventaja practicaes que el metodo no requiere la multiplicacion de la traspuesta de los coeficientes de la matriz.

Gradientes Biconjugados Estabilizados (BiCGSTAB) Este metodo es una variante de BiCG,pero utiliza diferentes actualizaciones para la secuencia AT para obtener una convergencia massuavizada que CGS.

Cuasi Mınimos Residuos con Libre Transpuesta (TFQMR) Este metodo es aplicable a ma-trices no hermıticas, el cual hace uso de CGS para generar el espacio de Krylov. El metodoproduce una suave y casi monotona convergencia con respecto a la norma del residuo. A diferen-cia de CG, TFQMR minimiza con respecto a la norma 1. El metodo no involucra la multiplicacionde matrices vector con el coeficiente de la matriz traspuesta. Ha mostrado ser buen metodo parasistemas muy grandes porque la norma del residuo del vector esta disponible durante el calculo.

Iteracion de Chebyshev La iteracion de Chebyshev determina coeficientes de interpolacion de unafuncion polinomica en base al espectro de autovalores para minimizar la norma del residuo. Estemetodo tiene la ventaja de no requerir productos internos.

Metodo de Richardson La iteracion de Richardson determina recursivamente los coeficiente delvector solucion con una matriz de orientacion, partiendo de una estimacion inicial. El meto-do tiene la ventaja de no almacenar los vectores antiguos y como desventaja es que para suconvergencia se requiere que todos los autovalores tengan parte real positiva.

2

Page 21: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

1.2.2. Precondicionadores de PETSc

Los precondicionadores son una aproximacion de la inversa de la matriz mejorando su numero decondicion [13]. Los metodos programados en la biblioteca PETSc se describen a continuacion.

LU Decomposition Metodo por el cual se descompone la matriz del problema en una matriz trian-gular inferior L y una matriz triangular superior U. Este metodo se aplica generalmente sinun metodo de Krylov ya su aplicacion lleva a la solucion “exacta”, aunque las matrices son engeneral densas por lo que es muy costoso.

Incomplete LU (ILU) Genera las mismas matrices que en el caso LU, pero mantiene la estructurade llenado de la matriz original descartando entradas que no pertenezcan a la estructura original.Es el precondicionador por defecto de PETSc.

Jacobi Aproxima la inversa de la matriz por medio de la diagonal del problema.

Block Jacobi (BJACOBI) Igual que Jacobi pero tomando por diagonales bloques de matrices.

Cholesky Utiliza un resolutor directo basado en la factorizacion de Cholesky.

Incomplete Cholesky (ICC) Igual que Cholesky respetando la estructura de la matriz originaldescartando entradas que no pertenezcan a la estructura original.

1.3. Determinacion del orden de convergencia

Para determinar el orden de convergencia de cada metodo se planteado un problema lineal que con-siste en resolver la matriz generada por diferencias finitas sobre un rectangulo utilizando coordenadasrectangulares. La matriz resultante del problema sera simetrica por lo que es aplicable el metodo de losgradientes conjugados, si esta definida positivamente. La matriz resultante tendra 5 no ceros por filarelacionando el punto central con los puntos verticales y horizontales. El programa se desarrollo paratener la capacidad de variar la cantidad de incognitas en los ejes en forma independiente. Las rutinasde PETSC cuentas con los resolutores antes mencionados por los que se trataron los cada uno de losproblemas de estos y Se obtuvieron los tiempos de resolucion de los mismos, variando el numero deincognitas de 150 a 1000 con incrementos de 50. Los programas fueron ejecutados en procesadores de1GHz en forma independiente

A continuacion se muestran los resultados obtenidos para cada metodo graficando en el eje de lasordenadas el numero de incognitas del problema y en el eje de las abscisas el tiempo en segundosutilizando escala doble logarıtmica.

El metodo que logro resolver el sistema en menor tiempo es CG que se muestra en la figura 1.3.Este aunque es muy potente es raramente aplicable en casos mas generales ya que la matriz debe tenerpropiedades especiales. El orden del metodo es de 1.16, el cual es el menor de todos.

En la figura 1.2 se muestran los tiempos de resolucion para los metodos TFQMR, CGS y CR.Estos metodos han mostrado un buen comportamiento cuando la matriz no es muy grande, TFQMRposiblemente al incorporar el calculo con la norma 1 requiere de un numero menor de calculos poriteracion, mientras que el CGS no requiere la multiplicacion por la traspuesta de la matriz. Estosmetodos muestran un comportamiento potencial orden 1.5 lo que los convierte en buenos candidatospara matrices dispersas no simetricas.

El metodo CR es otro que ha mostrado un excelente comportamiento para matrices pequenas yun orden 1.45 lo cual lo pone sobre los dos anteriores.

Los metodos de Richardson y Chebyshev muestran un comportamiento no potencial. Estarıan des-cartados inmediatamente por los altısimos tiempo involucrados y su pobre convergencia. El metodo deRichardson no logra converger para matrices mayores a 750x750 , ya que para asegurar la convergenciael espectro de autovalores debe ser positivo, pero este metodo se ve afectado por la diferencia entre elmaximo y el mınimo autovalor.

La figura 1.4 muestra los tiempos de resolucion para los metodos GMRES, BCGS y BCGSL. Losmetodos BCGS, BCGSL y GMRES, muestran un comportamiento similar. Han mostrado ser buenosmetodos para este problema, siendo ambos ordenes 1.44

3

Page 22: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

0.01

0.1

1

10

1000800600400300200100

tiem

po(s

)

numero de incognitas

Figura 1.1: Gradientes Conjugados

tfqmrcr

cgs

0.1

1

10

100

1000

10000

1000800600400200100

tim

e(s

)

numero de incognitas

Figura 1.2: Metodos TFQMR, CGS, CR

4

Page 23: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

chebychevrichardson

10

100

1000

10000

100000

1000800600400200100

tim

e(s

)

numero de incognitas

Figura 1.3: Metodos Chebychev, Richardson

0.1

1

10

100

1000

10000

100

tim

e(s

)

numero de incognitas1000

Figura 1.4: Metodos GMRES, BCGS y BCGSL

5

Page 24: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

1.4. Efecto del ensanchamiento

Cuando la malla es cuadrada, los elementos de matriz del problema resultan ser del mismo orden,dado que el sistema no prefiere ninguna direccion en particular. Al incrementar el paso en una direccion,por ejemplo el eje y, notamos que la definicion de la malla se ve afectada en resolucion, pero este noes el unico efecto que aparece. Debido a que los elementos dependen del cuadrado del paso y estosson diferentes en ambas direcciones, tenemos que los elementos de matriz diferirıan en varios ordenesde magnitud entre ellos, por lo que el problema estara mal condicionado. Esto se refleja al obtener elespectro de autovalores de la matriz sin precondicionar.

Figura 1.5: Autovalores de la matriz en funcion del numero de incognitas

Este es un diagrama doble logarıtmico en el cual la variable del paso se encuentra en la abscisa y enla ordenada se encuentra el autovalor maximo. Se puede demostrar que si todos los autovalores tienennorma menor o igual 1 todos los metodos son estables. Al aplicar los precondicionadores , llegamosal resultado que el sistema se comporta como si no estuviera con el espaciamiento preferencial enalguna direccion, y todos los autovalores estan dentro de del circulo unitario del plano complejoindependientemente de h (linea inferior en el grafico). Aquı se probaron los precondicionadores ILU,JACOBI y BJACOBI.

6

Page 25: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Capıtulo 2

Descomposicion de Dominios y elComplemento de Schur

En este capıtulo se discute la teorıa general de la descomposicion de dominios,su aplicacion a problemas en derivadas parciales y el complemento de Schur

2.1. Descomposicion de Dominios para resolver Ecuaciones enDerivadas Parciales

Los metodos de descomposicion de dominios consiste en la division espacial del dominio de calculoy la resolucion de subproblemas diferenciales en cada subdominio. Estos subproblemas diferencialespueden resolverse en forma independientemente en paralelo, siendo necesario un metodo iterativo paraajustar las condiciones de contorno en las fronteras interiores.

Supongamos que numeramos las incognitas del subdominio Ω1, luego las internas a Ω2 y finalmentelas del borde. Dado el caracter local de las funciones base, las incognitas internas de cada subdominiono se relacionan con las incognitas internas de los demas, y la matriz tiene la forma mostrada en laecuacion 2.1.

Figura 2.1: Representacion de un malla de un Dominio Rectangular descompuestaen Subdominios

7

Page 26: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

A1 0 A1Γ

0 A2 A2Γ

AΓ1 AΓ2 AΓ

X1

X2

=

B1

B2

(2.1)

Siendo A1 y A2 las matrices rectangulares que relacionan los vertices internos de su dominiocorrespondiente. Estos son las ecuaciones correspondientes a la descomposicion en dos dominios, quese generalizan a un sistema de n dominios arbitrarios como se muestra en la ecuacion 2.2.

A1 0 . . . A1Γ

0 A2 . . . A2Γ

......

. . ....

AΓ1 AΓ2 . . . AΓ

X1

X2

...XΓ

=

B1

B2

...BΓ

(2.2)

La gran ventaja de descomponer en dominios es la de trabajar matrices de tamanos menores,ası como poder procesar los problemas de cada dominio en paralelo.

En contra parte, se obtiene en la ultima fila de la matriz de la ecuacion 2.2 un conjunto deecuaciones que relacionan a las incognitas de borde XΓ con todo el resto. En un algorıtmo iterativode resolucion del sistema en paralelo, esta situacion obliga a los que los procesadores se comuniquenentre sı en cada iteracion.

2.2. Complemento de Schur

Dado un sistema de ecuaciones dividido en bloques:(A11 A12

A21 A22

) (x1

x2

)=

(b1

b2

)(2.3)

y suponiendo que A11 es no singular, se lo puede resolver mediante eliminacion por bloques de lasiguiente manera

x1 = A−111 (b1 −A12x2) (2.4)

x2 = (A22 −A21A−111 A12)−1(b2 −A21A

−111 b1) (2.5)

S = (A22 −A21A−111 A12) (2.6)

La matriz S recibe el nombre de Complemento de Schur y se puede interpretar como la resolucion,en primer termino, de las incognitas x2, y luego el calculo de x1 en funcion de x2. Comparando laecuacion 2.2 con la 2.3 se observa que si tomamos como x1 =

⋃ni=1 Xi y x2 = XΓ, el calculo de las Xi

puede realizarse en forma independiente. Ademas, el numero de incognitas XΓ es mucho menor queel numero de incognitas total, de manera que puede plantearse la resolucion del problema utilizandola siguiente metodologıa:

Se determina un conjunto de incognitas XΓ tal que dividan el problema como en las ecuaciones2.2.

Se calcula la matriz S y el segundo miembro G.

Se resuelve el sistema SXΓ = G

Se resuelven los sistemas A−1i (bi −AiΓxΓ)

Para el caso general, el complemento de Schur y su segundo miembro se definen en las ecuaciones2.7 y 2.8 respectivamente.

8

Page 27: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

S = AΓ −i<n∑i=0

AΓiA−1i AiΓ (2.7)

G = BΓ −i<n∑i=0

AΓiA−1i Bi (2.8)

Con este algoritmo la ultima etapa se puede realizar en paralelo. En el calculo de la matriz Stambien pueden procesarse en paralelo cada uno de los terminos AΓiA

−1i AiΓ

2.3. Matriz General

Cuando se tiene una matriz a resolver, proveniente por ejemplo de discretizar un problema por elmetodo de los elementos finitos usando mallas no estructuradas, no resulta obvia la renumeracion deincognitas que produzcan un matriz con la estructura de la ecuacion 2.2.

Sin embargo, existen algoritmos bien conocidos de la teorıa de grafos que nos permiten resolver elproblema. Supongamos que tenemos una matriz como la siguiente

A =

1 2 0 13 14 03 4 0 0 0 015 0 5 6 0 160 0 7 8 0 00 17 18 0 9 100 0 0 0 11 12

(2.9)

Definimos un “grafo asociado” a una matriz cuadrada como aquel que cuenta con tantos nodoscomo filas de la matriz y tantas aristas como no-ceros tiene la misma. Cada arista tiene como nodosextremos a los ındices de fila y columna de un no-cero de la matriz. En la figura 2.2 se muestra elgrafo asociado a la matriz 2.9.

El problema de renumeracion del grafo se reduce al encontrar un separador del grafo, esto es, unconjunto de nodos del mismo, tal que, al eliminarlos, el grupo queda con varias componentes conexas,no conectadas entre sı. Por ejemplo en la figura 2.3 se expone un posible separador del grafo. Ennuestro caso utilizamos la biblioteca “Metis”[4] para separar en dominios minimizando las conexiones,y un procesamiento posterior para hallar el separador.

9

Page 28: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

1

23

4

65

Figura 2.2: Grafo de la Matriz A

35 1

6

2

4

Figura 2.3: Grafo de la Matriz A indicando las incognitas de borde

10

Page 29: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Capıtulo 3

Implementacion del Complementode Schur Secuencial

En este capıtulo se detalla la implementacion realizada para el sistema secuencial,el cual no aprovecha las ventajas del calculo distribuido pero da una base solidade desarrollo para el caso paralelo

3.1. Breve descripcion del Codigo

La implementacion del codigo fue realizada en el lenguaje ANSI C, en particular utilizando elcompilador gcc del sistema operativo tipo GNU/LINUX

Tambien se inplementaron funciones de interface para poder enlazar codigos escritos en Fortran77, compilados con g77 compatible con gcc.

Para su implementacion se utilizaron las bibliotecas de PETSc1 version 2.2.1. En las mismas seencuentran programados sistemas de almacenamiento de matrices ralas, sistemas de resolucion desistemas lineales por metodos directos e iterativos, etc, para sistemas secuenciales y paralelos.

En cada paso del proceso de resolucion mostrado en la figura 3.1, se va procesando informaciondisponible del problema suministrado, procurando no alterar la informacion original. Para realizaroperaciones con las matrices de los dominios llegamos a dos planteos posibles:

1. Ensamblado Explıcito: Se generan un conjunto de matrices secuenciales nuevas, copiando losvalores correspondientes de cada dominio. Esto lleva a una duplicacion de la cantidad de memoriautilizada por el sistema lineal.

2. Ensamblado Implıcito: Se generan matrices que no contienen valores numericos, llamadas enPETSC MatShell, sino que se de definen funciones a operaciones necesarias para la resoluciondel sistema lineal, incrementando levemente la memoria adicional utilizada.

Cada uno de estos enfoques tiene sus ventajas y desventajas. Si bien utilizar Ensamblaje Explıcitose duplica el tamano de la memoria utilizada , se espera que las operaciones queden totalmente defini-das por las funciones estandar de PETSC y que el tiempo empleado en su resolucion este optimizado.Por otro lado el Ensamblado Implıcito utiliza un mınimo adicional de memoria pero se deben definirun conjunto de funciones especıficas para cada tipo de implementacion y como es de esperar no puedeoptimizarse como en el caso del ensamblaje explıcito. En la Implementacion actual el usuario puedeseleccionar alguno de los dos tipos ensamblajes antes mencionados dependiendo de sus capacidadesde almacenamiento, finalidad, etc.

1mas informacion sobre esta biblioteca puede encontrarse en http://www-unix.mcs.anl.gov/petsc/petsc-2/

11

Page 30: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Figura 3.1: Esquema de Resolucion Secuencial

3.2. Descripcion de las funciones

En esta seccion se detalla el funcionamiento de los algoritmos internos de resolucion del sistemalineal.

schurmalloc: funcion general para reservar memoria basica de uso en el problema, y parametrosde resolucion necesarios para todo el desarrollo posterior.

generagrafo: Construye el grafo asociado a una matriz secuencial de PETSC.

particionagrafo: Particiona el grafo utilizando la biblioteca Metis[4].

separadominios: Calcula un separador del grafo.

destruyegrafo: Libera parcialmente la memoria utilizada para construir el grafo suponiendoque esta no es necesaria para los calculos posteriores.

schursolve: Teniendo la informacion de la distribucion de la informacion de los dominios y elseparador, resuelve por el metodo de Schur el problema en planteado.

schurdestroy: Libera la informacion almacenada en el elemento tipo Schur.

Cada una de estas funciones es unica para la resolucion del problema lineal. Sin embargo existe laposibilidad que el usuario final utilice implementaciones propias.

Se requirio la construccion de dos estructuras para almacenar los valores de necesarios para elcalculo,

Schur info: Es una estructura que guarda informacion general de todo el proceso, numero deincognitas en cada dominio, grafos, MatShells, Vectores, precondicionadores, punteros a matrices,etc.

SubA: Guarda informacion especial de cada matriz interviniente, requiriendo una de estas es-tructuras para cada MatShell creada.

Debido a que cada iteracion para determinar los valores de las incognitas de borde requiere elcalculo de las inversas las matrices diagonales de cada dominio, se realizo la implementacion estaticade los vectores y solver de modo de disminuir el tiempo entre reserva y liberacion de memoria paraestos calculos.

12

Page 31: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

3.2.1. schurmalloc

int schurmalloc(info **params,Mat A,int numero_dominios)

En esta funcion se realizan las operaciones de iniciacion necesarias para el calculo posterior. Sereserva memoria para la estructura Schur info, que va a contener toda la informacion necesaria paralos calculos posteriores. Esto se realiza por medio del paso de la direccion de memoria donde se va aalmacenar la estructura.

Ademas se almacena la cantidad total de incognitas que se obtiene de la matriz A que es el segundoargumento de la funcion, que es igual al numero de columnas y el numero de filas de la misma, ası comola direccion de memoria de la matriz A. Cabe la aclaracion que las matrices de PETSC son punterosa estructuras por lo que la copia del valor de A, es igual a almacenar su direccion de memoria.

El usuario pasa como tercer argumento el numero de dominios, que es almacenado en la variableparams-¿numero dominios.

Se reserva memoria necesaria para vincular las incognitas con los dominios, que son almacenados enlas variables params->numero incognitas dominio y params->dominio a incognita. Estos vectoresdaran, una vez llenados, el numero de incognitas que posee cada dominio y las variables que seencuentran en cada dominio. almacena la direccion de memoria de la matriz del problema.

Por ultimo se devuelve una senal de error en caso de tener algun problema de almacenamiento oel puntero dado por el usuario no corresponda a una matriz secuencial AIJ, que es el tipo de matricesralas mas comunes utilizadas para calculos en problemas de en derivadas parciales.

En la figura 3.2 es un esquema de funcionamiento de esta funcion.

Figura 3.2: Esquema de funcionamiento de la funcion schurmalloc

13

Page 32: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

3.2.2. generagrafo

int generagrafo(info *params)

Para poder separar los dominios es primero necesario generar el grafo asociado a la matriz. Comoya se menciono en el capıtulo 2, este grafo representa las relaciones entre las incognitas del sistemalineal. En nuestro caso trabajaremos con grafos no orientados, asociados a matrices de estructura nosimetricas, ya que es el caso mas comun (un operador diferencial de segundo orden hace que la solucionen un punto depende de la solucion en sus vecinos inmediatos, mientras que los valores numericos dela matriz por lo general pierden la simetrıa por la presencia de un operador de primer orden).

El grafo es construido en base a la matriz del problema, que esta almacenada en el formato CRS(compressed row storage)[17]. Es de aclarar que en este codigo unicamente es soportado las matricestipo MatSeqAIJ que respetan el formato antes mencionado. Ademas existe en PETSC la funcionMatConvert que da la posibilidad de transformar una matriz de un formato a otro.

El mismo sigue la siguiente estructura de almacenamiento

1. El vector de numeros enteros ((Mat SeqAIJ *)A->data)->i de longitud numero filas + 1,almacena en que posicion comienza cada fila en el vector de columna. El vector es iniciado conel valor cero, y la diferencia entre dos valores sucesivos da la cantidad de columnas que contieneesa fila.

2. El vector de numeros enteros ((Mat SeqAIJ *)A->data)->j) es un vector de longitud iguala ((Mat SeqAIJ *)A->data)->i[numero de filas], y almacena a que columna correspondecada entrada.

3. El vector de numero de doble presicion ((Mat SeqAIJ *)A->data)->a) con longitud igual a laanterior, almacena las entradas propiamente dichas de la matriz.

Primero se determina la memoria necesaria para almacenar la estructura del grafo y luego seconstruye el grafo en sı mismo. Estos dos calculos son similares en contexto.

La estructura del grafo es similar a la estructura CRS y cuenta con dos vectores *xadj y *adjncyque se describen a continuacion:

1. El vector de numeros enteros xadj de longitud numero de filas + 1, sigue la misma estructuraque el vector ((Mat SeqAIJ *)A->data)->i mencionado anteriormente que contiene el rangode valores de adjncy donde estan las conexiones que posee esa incognita.

2. El vector de numeros enteros adjncy se almacenan las conexiones con otras incognitas. Esimportante destacar que no debe incluirse a la incognita en sı misma.

El funcionamiento basico de esta funcion se muestra en la figura 3.3. Por ultimo se guardan losvectores resultantes xadj y adjncy en la estructura Schur info y se devuelve un entero en ierr dis-tinto de cero en caso de ocurrir algun error, imposibilidad de reservar memoria, estructura defectuosade la matriz, etc.

14

Page 33: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Figura 3.3: Esquema de funcionamiento de la funcion generagrafo

3.2.3. particionagrafo

int particionagrafo(info *);

En esta funcion se realiza la separacion de los dominios por medio de la biblioteca Metis[4]. Es-ta biblioteca permite generar una clasificacion en grupos de nodos del grafo de tal manera que seminimizan las conexiones entre los nodos de distintos grupos.

Se generan las funciones de peso de que dan las distribuciones relativas de incognitas que seranrepartidas en cada dominio. Esta funcion debe ser normalizada, y en esta implementacion se realizo unadistribucion uniforme. La salida de Metis es un vector de longitud igual al numero total de nodosque almacena enteros con el numero de dominio asignada a cada nodo y es almacenado en la elparams->parts.

15

Page 34: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Figura 3.4: Esquema de funcionamiento de la funcion particionagrafo

3.2.4. separadominios

int separadominios(info *);

En esta funcion se genera el separador del grafo. Utilizando el grafo particionado, se identificanlos nodos de cada dominio que se conectan con nodos de otros dominios. En principio serıa suficientetomar a todos estos nodos como integrantes del separador, pero es posible reducir el tamano del mismoutilizando un proceso no mucho mas complicado.

Notese que cuando dos dominios A y B tienen nodos conectados entre sı, es suficiente incorporar alseparador los nodos de A conectados con los nodos de B, o los nodos de B conectados con nodos de A,pero no ambos grupos simultaneamente. Cuando el numero de dominios es mayor que 2 se determinauna secuencia de incorporacion de nodos del separador de la siguiente manera: en cada paso se elige eldominio que al eliminar todos los nodos conectados con otros dominios, quede con el maximo numerode nodos internos los cuales quedan ya separados del resto del grafo.

En la figura 3.5 se ilustra el procedimiento en un caso simple de un grafo particionado en 4 grupos.Los distintos sımbolos de los nodos indican el grupo al que pertenecen. Los nodos sobre la linea solidaconstituyen el separador.

16

Page 35: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Este proceso asegura la minimizacion del separador, dentro del esquema no acoplado2 de seleccionde separador tambien con el requisito de homogeneizar los tamanos de los dominios.

! !"#$ $% %

& && &' '' ' ( (( (

))

* ** *++

, ,-. .. .//

0 012 22 233

4 44 4556 67 78 89: :: :;;<<=

=> >? ?@ @AB BB BCCDDE

EFG

4

1

2

3

Figura 3.5: Ejemplo de separador

2referido a retirar el separador completamente de cada dominio en forma secuencial. Puede plantearse un algorıtmopara determinar la mınima cantidad de incognitas pero no se ha implementado aun.

17

Page 36: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Figura 3.6: Esquema de funcionamiento de la funcion separadominios

3.2.5. schursolve

int schursolve(info *params,Vec b,Vec u)

Esta es la funcion principal del programa debido a que en la misma se resuelve el sistema lineal. Lafuncion toma como argumentos un puntero a la estructura schur info que contiene la informacionde la particion, dos vectores de PETSC, b y u, el termino independiente y la incognita global delproblema correspondientemente.

El algoritmo comienza reservando memoria para almacenar las submatrices de cada dominio, enla variable params->AIJ. Se requiere reservar 3*numero de dominios + 1 matrices de PETSC, quecomo ya se menciono, son punteros a estructuras. Este numero surge de que cada dominio requiere 3matrices, 1 con las conexiones internas, 1 con las conexiones del dominio al separador y otra del sepa-

18

Page 37: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

rador al dominio, que salvo para el caso simetrico son diferentes3. En la variable params->ensamblartipo PetscTruth4, se define si se realiza un ensamblaje explıcito o implıcito como se explico en la sec-cion 3.1. El usuario puede manipular este valor ingresando por lınea de comando al lanzar el programala opcion -ensamblar 1 para el caso de un ensamblaje explıcito o cero en caso impıcito, aunque estaes la opcion por defecto. Para realizar el ensamblaje explıcito se utiliza la funcion MatGetSubMatrixde PETSC, que obtiene una submatriz con los indices de filas y columnas seleccionados y ensamblauna nueva matriz del mismo tipo que la original. Para el caso de ensamblaje explıcito se crean ma-trices tipo MatShell que guardan la informacion de la matriz original, y de los ındices de las filasy columnas correspondientes a la submatriz. Tambien se debe especificar la funcion para multiplicaruna matriz de este tipo por un vector. Dicha funcion consiste simplemente en multiplicar el rangode ındices correspondientes a la submatriz por los elementos del vector. Notese que esta funcion essuficiente para las operaciones en que intervienen las matrices Ai, AΓi y AiΓ. Cuando es necesarioresolver sistemas x = A−1

i b se utilizan metodos iterativos (en particular GMRES), que solo utilizanla matriz para multiplicarla por un vector.

La matriz de Schur S (ecuacion 2.6) no se calcula explıcitamente. Se resuelve utilizando tambienun metodo iterativo donde solo hace falta la matriz para multiplicarla por un vector, por tanto usamosuna matriz virtual (o MatShell) donde el producto de S se calcula como en la ecuacion 3.1

S−→X = AΓ

−→X −

n−1∑i=0

AΓiA−1i AiΓ

−→X (3.1)

Para cada dominio hay que realizar dos productos matriz vector y una inversion de matriz.

AΓiA−1i AiΓ

−→Xi = −→Yi (3.2)

se realiza el producto explıcito y se guarda el resultado en el vector−→X1

i segun se muestra en la ecuacion3.3

AiΓ−→Xi =

−→X1

i (3.3)

El producto mostrado en la ecuacion 3.4 no puede realizarse directamente porque no se conoce lainversa explıcita de Ai por lo que se aplica un metodo de resolucion para el sistema equivalente quese muestra en la ecuacion 3.5

A−1i

−→X1

i =−→X2

i (3.4)

Ai

−→X2

i =−→X1

i (3.5)

Este es almacenado en otro vector−→X2

i , el producto mostrado en la ecuacion 3.6 da el resultadobuscado.

AΓi

−→X2

i = −→Yi (3.6)

El usuario puede optar por distintos metodos de resolucion y precondicionamiento para resolverlas matrices de cada subdominio, aunque la totalidad de los metodos disponibles en la bibliotecaPETSc solo pueden utilizarse cuando las matrices son ensambladas en forma explıcita. Se generanun conjunto de precondicionares y espacios de Krylov para cada uno de los subdominios que no sondestruidos hasta el final del algoritmo para su reutilizacion, los cuales se encuentran almacenados en laestructura Schur info *params->ksp y *params->pc. Tambien se encuentran en la misma estructuralos 3 vectores mostrados en las ecuaciones 3.2, 3.3, 3.4, 3.5 y 3.6.

Ası en orden de resolver, se determina el vector independiente de la ecuacion 2.8 y es almacenadoen el vector secuencial de PETSC sx que esta definido dentro de esta funcion, luego la matriz de SchurS y por ultimo los sistemas de cada dominio. Las opciones de resolucion del metodo KSP se puedendar por lineal de comando -ksp type.

3En el caso de contar con una matriz simetrica A1C = ATC1

4PetscTruth es una lista enumerada definida en el archivo de cabecera “petsc.h” con valores PETSC FALSE yPETSC TRUE.

19

Page 38: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Figura 3.7: Esquema de funcionamiento de la funcion schursolve

20

Page 39: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Capıtulo 4

Resultados del Complemento deSchur Secuencial

En este capıtulo se muestran los resultados obtenidos al aplicar el metodo delcomplemento de Schur a problemas en derivadas parciales aplicando metodos deelementos finitos y diferencias finitas.

4.1. Metodo de Diferencias Finitas aplicado a la Ecuacion dePoisson

El problema que aquı se plantea es resolver la ecuacion de Poisson unidimensional con condicionesde Dirichlet y termino fuente f unitaria, como se muestran en la ecuacion 4.1.

−∇u = f uεΩu = 1 uεΓ (4.1)

Planteando un esquema de diferencias finitas se llega a una matriz de rigidez[11] tridiagonal defi-nida positiva. El problema tiene solucion exacta, por lo que resulta sencillo el control de errores delalgoritmo.

4.1.1. Particion en dominios y deteccion de borde

En esta seccion se muestran los analisis del funcionamiento de los algoritmos de particionamientode sistema lineal, utilizando la biblioteca Metis como se explico en la seccion 3.2.3.

Distribucion de incognitas en dominios

Para ilustrar los resultados obtenidos mostramos un caso de separacion con 20 nodos. En la figura4.1 se muestran los resultados de la descomposicion en dominios del sistema en cuestion.

Puede observarse para la misma que el sistema cumple con las exigencias impuestas en la seccion3.2.4 o sea se consigue una minimizacion del tamano del separador y uniformidad en el tamano de losdominios.

tiempo de resolucion

A fin de poner a prueba el tiempo demandado por el algoritmo de separacion, se realizaron me-diciones de tiempo en funcion del numero de incognitas del problema y el numero de dominios. Esimportante que este tiempo no sea demasiado elevado debido a que podemos perder toda la eficienciadel resolutor en particionar el dominio. En la figura 4.2 se muestran los resultados estos tiempos para

21

Page 40: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

1 1 1 1 1 1 17

numerodominios

33 3 3 4

66 6

9 102

3

5

Figura 4.1: numero de incognitas en funcion del numero de dominios

un rango de 5.000 a 1.000.000 de incognitas y particiones en 2, 3, 5 y 7 dominios. El problema fueresuelto en un procesador Pentium IV de 3GHz.

0

1

2

3

4

5

0 200000 400000 600000 800000 1e+06

tiem

po (s

)

número incógnitas

2 dominios3 dominios5 dominios7 dominios

Figura 4.2: tiempos necesarios para separar dominios en funcion del numero deincognitas

Concluımos de la figura 4.2 que los tiempos empleados para particionar son despreciables frente acualquier tiempo de resolucion de un sistema lineal de tamanos similares.

4.1.2. Resolucion del Sistema Lineal

En esta seccion analizaremos la convergencia del metodo iterativo usando el complemento de Schur,en funcion del numero de dominios y de los precondicionadores. En cada caso se mide el tiempodemandado y el residuo obtenido para un tamano fijo de incognitas 1e5. En todos los resultados deesta subseccion no se utilizaran precondicionamiento para la matriz S. La notacion a utilizar en lostıtulos siguientes corresponden a “Resolutor para S/Resolutor para dominios/precondicionador paradominios”. El caso NONE corresponde a no aplicar metodo.

GMRES/GMRES/NONE

En la tabla 4.1 se muestran los resultados para el caso gmres sin precondicionar. Para el caso de1 dominio se utilizo el gmres sin descomposicion.

Podemos ver de los resultados que no es conveniente aplicar un resolutor sin precondicionar debidoelevado residuo que se obtiene. Ası que para llegar a soluciones aceptables es necesario iterar un

22

Page 41: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

numero dominios tiempo(s) residuo1 154.4 1.808729E+072 428.2 1.810939E+073 405.0 1.813561E+074 383.3 1.816288E+075 378.8 1.819054E+076 353.5 1.821839E+0710 342.8 1.832957E+0715 336.2 1.846901E+07

Cuadro 4.1: tiempos de resolucion en funcion del numero de dominios utilizandogmres sin precondicionar para el caso secuencial

numero muy elevado de veces. Ademas que el complemento de Schur no puede superar en tiempo unmetodo sin que se utilice en paralelo.

GMRES/GMRES/PCILU

Para este caso se resolvio el problema con 1e6 debido a que con 1e5 los tiempos de resolucion erandespreciables. En la tabla 4.2 se muestran los resultados para el caso gmres con precondicionar ILU(Incomplete LU decomposition). El precondicionador ILU esta dado con las opciones por defecto porlo que no tiene nivel de llenado.

numero dominios tiempo(s) residuo1 0.04 2.787274E+002 0.19 7.175623E+033 0.24 1.726380E+034 0.27 4.599467E+025 0.30 8.114716E+026 0.33 1.265078E+037 0.35 1.310496E+038 0.27 9.522718E+029 0.29 4.673086E+0210 0.31 2.670810E+0211 0.33 3.281779E+0212 0.34 4.334203E+02

Cuadro 4.2: tiempos de resolucion en funcion del numero de dominios utilizandogmres con precondicionar ILU para el caso secuencial

GMRES/NONE/LU

En esta parte se utilizo el precondicionar LU que debido es en si un metodo directo de resolucion.Aun ası puede aplicarse un metodo iterativo ya que para matrices grandes el error de redondeo esimportante y puede llegar a alejarse demasiado de la solucion “exacta”.

Este metodo mostro ser muy eficiente aunque en gran parte es debido a que la estructura de lamatriz es muy sencilla.

GMRES/GMRES/JACOBI

El precondicionador Jacobi toma como matriz de precondicionamiento la diagonal de la matrizoriginal. En sı su inversa es sencilla de calcular solo hay que invertir los elementos de la diagonal. Enla tabla 4.4 se muestran los resultados obtenidos para este caso.

23

Page 42: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

numero dominios tiempo(s) residuo1 0.11 2.074524E+002 0.22 2.075859E+003 0.28 1.220925E+004 0.29 2.071676E+005 0.32 1.612782E+006 0.34 1.217357E+007 0.35 1.434601E+008 0.26 2.054066E+009 0.26 1.461198E+0010 0.29 1.560068E+0011 0.29 1.234807E+0012 0.29 1.206775E+00

Cuadro 4.3: tiempos de resolucion en funcion del numero de dominios utilizandoLU caso secuencial

numero dominios tiempo(s) residuo1 159.18 1.808729E+072 436.8 1.810939E+073 410.1 1.813561E+074 391.9 1.816288E+075 392.9 1.819054E+076 363.3 1.821839E+077 354.4 1.824632E+078 359.1 1.827430E+079 350.8 1.830178E+0710 348.5 1.832957E+0711 348.4 1.835927E+0712 378.9 1.838580E+07

Cuadro 4.4: tiempos de resolucion en funcion del numero de dominios utilizandogmres y precondicionar jacobi caso secuencial

Concluımos por los resultados obtenidos que no es conveniente esta clase de precondicionador paralos dominios debido a que no proporciona una solucion aproximada en pocas iteraciones.

4.2. Metodo de los elementos finitos aplicado a un tubo concondiciones periodicas

En esta seccion mostramos un ejemplo de resolucion de un sistema lineal proveniente de la discre-tizacion por el metodo de los elementos finitos de un problema de fluido dinamica.

Para la resolucion de las ecuaciones de Navier-Stokes se utilizo el programa GPFEP [15], endominio y la malla se muestra en la figura 4.3, el cual posee 36501 nodos y 208896 elementos del tipotetrahedros. El modelo computacional lleva a resolver un sistema lineal de 146004 incognitas en cadapaso temporal, correspondientes a una componente de presion y 3 de velocidades por cada nodo de lamalla.

24

Page 43: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

(a) vista 1 (b) vista 2

(c) vista 3

Figura 4.3: Malla del problema del tubo en difentes vistas y cortes. Mallas utili-zada por Gabriel Campos en su tesis de Ingenieria [14].

25

Page 44: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

4.2.1. Particion en dominios y deteccion de borde

En esta seccion se muestran los resultados de la distribucion de los nodos en funcion de la cantidadde dominios.

(a) 2 dominios (b) 3 dominios (c) 4 dominios (d) 5 dominios

Figura 4.4: descomposicion de la malla del tubo en funcion de la cantidad dedominios

Se puede observar de la figura 4.4 los dominios en diferentes colores y el separador en amarillo. Esimportante destacar que la base tambien es parte del separador debido a que la malla es periodica ypor tanto esta zona se conecta con la tapa.

4.2.2. resolucion del sistema lineal

En las siguientes subsectiones mostramos los tiempos y los residuos involucrados en la resolucion.Buscaremos el mejor metodo de resolucion, tanto en tiempo como en el residuo del problema.

GMRES/GMRES/PCILU

En esta seccion probamos los tiempos de resolucion en funcion del numero de incognitas similar alcaso del laplaciano en la seccion 4.1.2

Estos resultados muestran que el metodo no es mas rapido que un metodo directo ni conducea resultados mejores. La gran parte del problema se debe a que el la matriz de schur S al no serensamblada explıcitamente no es precondicionada y el numero de iteraciones es elevado.

26

Page 45: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

numero dominios tiempo(s) residuo1 625 8.165865e-092 1708 3.000679E-073 1259 5.128981E-074 971 4.084862E-07

Cuadro 4.5: resultados para el problema tubo resolviendo con gmres y precondi-cionador ILU

4.2.3. AΓ como precondicionador

Debido a los desalentadores resultados de la seccion 4.2.2 se construyo un precondicionar similaral precondicionar de Neumman-Neumman [8] aunque simplificado. Para construir el precondicionarse toma la matriz AΓ que es la matriz del separador, definida en la ecuacion 2.6 como una aproxi-macion de la matriz S (ecuacion 4.2). Aunque no son iguales, esto representa una aproximacion delproblema. El sistema precondicionado se representa en la ecuacion 4.4. Ahora la notacion de los tıtuloscambia “Resolutor para S/Resolutor para dominios/precondicionador para S/precondicionador paradominios”

S ≈ AΓ (4.2)Sx = b (4.3)

A−1Γ Sx = A−1

Γ b (4.4)

GMRES/NONE/LU/LU

Aunque se haya aplicado el precondicionador LU que es un metodo directo, esto no representa lainversa de la matriz de Schur, solo uno de los terminos de la misma. En el cuadro 4.6 se muestran losresultados ası obtenidos.

numero dominios tiempo(s) residuo10 584 4.225742E-0815 358 2.556560E-0820 352 8.328755E-0830 299 2.517863E-0845 341 1.181488E-0760 435 5.206019E-08

Cuadro 4.6: resultados para el problema tubo resolviendo con gmres y precondi-cionador LU y precondicionador LU de Schur

Notese que no podemos comparar con el caso de un dominio debido a que el problema requieremas memoria de la disponible en un unico procesador.

GMRES/NONE/ILU/LU

Aquı se probo precondicionando la matriz de AΓ con ILU y los dominios con el metodo LU. Losresultados se muestran en el cuadro 4.7

27

Page 46: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

numero dominios tiempo(s) residuo20 291 2.868084E-0730 226 1.438104E-0740 198 5.840101E-0750 184 4.589597E-07

Cuadro 4.7: resultados para el problema tubo resolviendo con gmres y precondi-cionador LU y precondicionador LU de Schur

Conclusiones

El metodo de la descomposicion de dominios no ha mostrado tiempos me-jores ni mejores aproximaciones que el metodo gmres precondicionado

El aumento de tiempo se debe a los calculos extra que deben realizarse paraseparar los dominios, generar las nuevas matrices y la matriz de Schur noesta precondicionada.

El mejor metodo para resolver las matrices de los dominios resulto ser elmetodo directo. Aun ası, debe tenerse en cuenta que esto lleva a un consumoelevado de memoria y solo puede utilizarse cuando el numero de incognitasde los dominios son reducidas.

28

Page 47: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Capıtulo 5

Implementacion del Complementode Schur Paralelo

En este capıtulo se detalla la implementacion del Metodo del Complemento deSchur en procesamiento distribuido. El codigo es heredado del cogido secuencial,pero posee cambios importantes.

5.1. Breve descripcion del codigo

La implementacion en paralelo se ha llevado a cabo utilizando el codigo secuencial, agregando co-municadores y nuevas opciones para el usuario. Se siguen respetando las funciones que fueron definidasen el capıtulo 3.

La diferencia principal de tratar el problema en paralelo lo constituye el hecho que las matrices delos dominios son independientes entre sı, en el sentido de no precisar los procesadores de comunicacionpara resolver problemas de dominios internos con otros dominios. Ası, la mejor opcion parecerıa sertomar un dominio por cada procesador, minimizando el separador y aprovechando todo el procesadorpara resolver independientemente estos dominios. Pero tambien surge la posibilidad de subdividirinternamente cada dominio en otros subdominios, de forma tal de disminuir el tamano de las matrisesy llegando a poder aplicar metodos directos de resolucion en las matrices locales.

En esta implementacion se ha dado por supuesto que los procesadores son iguales en toda la redde calculo.La biblioteca toma una matriz distribuida en procesadores, particion global que respeta. Elcaso particular de procesadores con diferentes potencias de calculo, no ha sido tenido en cuenta, sinque su implementacion presente problemas de importancia.

5.2. Descripcion de las funciones

Al igual que en la seccion 3.2, se relata el funcionamiento de las funciones implementadas para elalgoritmo de descomposicion de dominios en paralelo. Las funciones implementadas estan listadas enla seccion 3.2.

5.2.1. schurmalloc

Esta funcion es equivalente a la funcion schurmalloc definida en el seccion 3.2.1 con los ajustesnecesarios de la doble descomposicion mencionada en 5.1.

5.2.2. particionagrafo

Esta funcion no es utilizada de la misma forma que en el caso anterior. Recordemos que hemosdividido a los dominios en los que pertenecen a la particion global y en dominios locales. La particion

29

Page 48: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Figura 5.1: esquema de resolucion paralelo

global viene dada por la particion de la matriz original, esta rutina solo subdivide si se requiere unasubdescomposicion adicional.

5.2.3. separadominios

En la implementacion en paralelo, unicamente un procesador realiza el trabajo de calcular elseparador. Esto es conveniente debido a que la longitud del vector de particionamiento es mas cortoque los vectores del grafo. Ası cada uno de los procesadores envian sus grafos al primer procesador. Estesepara los dominios y envıa esta informacion al resto de los procesadores. El algoritmo de separaciones el mismo que en el caso secuencial.

5.2.4. schursolve

A diferencia del caso secuencial, en esta implementacion se ha decidido ensamblar explıcitamentelas matrices de los dominios. Si bien aumentan los requerimientos de memoria, el uso de matricesexplıcitas posibilita el uso de precondicionadores eficientes para su resolucion. El ensamblaje explıcitose lleva a cabo con la funcion de PETSC MatGetSubMatrix. Esta funcion crea una matriz nueva enbase a la original. Posee la desventaja que de que la matriz nueva sera del mismo tipo de la matriz

30

Page 49: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Figura 5.2: Esquema de funcionamiento de la funcion particionagrafo paralelo

original por lo que las matrices nuevas seran matrices MPI o distribuidas, aunque toda su informacionse encuentre en el procesador local. Ası para convertirlas en matrices secuenciales, que es nuestroobjectivo, damos como parametros que la matriz posea todas sus filas y columnas locales. Luegopedimos la parte local de la matriz y con esto obtenemos una matriz secuencial.

Para resolver el sistema lineal distribuido en matrices locales, se procede construyendo un resolutorindependiente en cada procesador. La matriz de Schur S que no es ensamblada explıcitamente, segenera en forma virtual por una MAT SHELL como se explico en la seccion 3.1. Con esto minimizamoslas comunicaciones pero no aprovechamos el procesamiento en paralelo. Cada procesador itera sobresus dominios locales y el vector del separador es transmitido a el primer procesador donde es sumadoy redistribuido al resto de los procesador para una nueva iteracion.

Ası, se realizan en paralelo el calculo del segundo miembro del complemento de Schur, el productode la matriz de Schur por los vectores de iteracion del resolutor y la determinacion de las incognitasde los dominios.

31

Page 50: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Figura 5.3: Esquema de funcionamiento de la funcion schursolve

32

Page 51: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Capıtulo 6

Resultados del Complemento deSchur Paralelo

En este capıtulo se muestran los resultados obtenidos al aplicar el metodo delComplemento de Schur en Paralelo aplicado a problemas de elementos finitos ydiferencias finitas

6.1. Metodo de los elementos Fınitos aplicado a un tubo concondiciones periodicas

Al igual que en la seccion 4.5 se analizaran los tiempos y los residuos necesarios para resolver elproblema mencionado en dicha seccion en paralelo.

En la tabla 6.1 se muestran los resultados obtenidos. En la primera columna se detalla el numerode procesadores utilizados, que varia entre 2 y 4 que corresponde a procesadores que se detallan acontinuacion:

1. Pentium IV 3GH, 2 GB RAM

2. AMD-Athlon XP 2400 1990 GH, 1 GB RAM

3. Se lanza otro proceso en la primera maquina ya que posee multi-threaring

4. AMD-Athlon XP 2000+, 1650 GH, 500 MB RAM

6.1.1. GMRES/GMRES/ILU/ILU

En la cuadro 6.1 se muestra los resultados obtenidos para el caso de utilizar el resolutor GMRESy precondicionar ILU para los dominios y para el separador. La matriz de Schur es precondicionadacon AΓ como fue explicado en la seccion 4.2.3. Se utilizo un total de 200 iteraciones de GMRES pararesolver la matriz de Schur.

Podemos observar del cuadro que aunque los tiempos de iteracion vayan disminuyendo, el residuo dela matriz aumenta demasiado. Podemos concluir que al aumentar el numero de dominios disminuimosel tiempo para realizar operaciones sobre la matriz de Schur pero como desventaja aumentamos elnumero de condicion de la matriz.

6.1.2. GMRES/NONE/LU/LU

En el cuadro 6.2 mostramos los resultados obtenidos al precondicionar con LU a los dominios yal separador, e iterar sobre la matriz de Schur con GMRES. Aquı se puso como regla de parada queel residuo relativo sea menor a 1 × 10−3. Notese que no se utilizaron dos maquinas, debido a que lamemoria disponible por estos procesadores no permitıa utilizar precondicionador LU.

33

Page 52: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

numero maquinas numero dominios locales tiempo(s) residuo2 1 2637 5.518554E-093 1 3199 3.144170E-084 1 2086 1.753784E-082 2 2902 1.616918E-083 2 1738.19 6.796075E-084 2 1169 2.333609E-072 3 1903 6.918403E-083 3 1384 4.852314E-074 3 829 3.877227E-062 4 1469 2.531124E-073 4 1110 3.695654E-064 4 691 2.029074E-052 5 1255 1.766064E-063 5 894 2.893162E-054 5 562 1.260764E-042 6 1050 2.256789E-063 6 808 2.803249E-054 6 449 2.535043E-042 7 950 5.046144E-053 7 713 1.251586E-044 7 401 2.390864E-042 8 976 1.056949E-053 8 649 3.190911E-044 8 321 1.598601E-042 9 765 1.874885E-053 9 542 1.697513E-044 9 279 1.636091E-04

Cuadro 6.1: tiempos de resolucion en funcion del numero de dominios y maquinasutilizando ILU caso paralelo

numero numero dominios tiempo(s) residuo numeromaquinas locales iteraciones

3 2 1375 7.194560E-07 1044 2 768 5.290639E-07 1373 3 969 7.516290E-07 1524 3 823 6.544276E-07 3083 4 1027 7.768417E-07 2874 4 857 6.117397E-07 4623 5 1023 4.626360E-07 4384 5 1179 7.354994E-07 8063 6 1129 1.028851E-06 5394 6 1678 9.088052E-07 14113 7 2109 2.911581E-07 12194 7 1947 1.227054E-06 14563 8 2024 7.842747E-07 13104 8 2054 1.093244E-06 10403 9 1926 1.400429E-06 1410

Cuadro 6.2: tiempos de resolucion en funcion del numero de dominios y maquinasutilizando LU caso paralelo

34

Page 53: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Conclusiones

El metodo de la descomposicion de dominios no ha mostrado tiempos me-jores ni mejores aproximaciones que el metodo gmres precondicionado

El aumento de tiempo se debe a los calculos extra que deben realizarse paraseparar los dominios, generar las nuevas matrices y aprovechamiento delprocesamiento en paralelo que todavıa falta desarrollar.

35

Page 54: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

36

Page 55: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Capıtulo 7

Analisis Economico

En este capıtulo se realizara el analisis de costos y tiempos involucrados en eldesarrollo de la biblioteca Complemento de Schur

7.1. Cronologıa

En el cuadro 7.1 se presenta la cronologıa de trabajo realizado en la division de Mecanica Compu-tacional del Instituto Balseiro.

Cuadro 7.1: Diagrama Gantt

7.2. Discriminacion de Costos

7.2.1. Adquisicion de Herramientas

En esta seccion se detallan las herramientas adquiridas para el desarrollo de la biblioteca.

• Computadora SOL-Tech Turbo 2400+, procesador Duron 1600 MHz, 512 MB $1228• Monitor SAMSUNG- SyncMaster 793df-17” $477• Sistema Operativo GNU/LINUX/, Distribucion Debian Sarge $0• Programas de Escritorio, Entorno Grafico, compiladores, depuradores, etc $0

Podemos observar que algunos items tiene un costo nulo, con lo cual se logro minimizar el costoen herramientas utilizando software libre. El tiempo estimado destinado a esta seccion fue de 40 hr.

37

Page 56: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

7.2.2. Introduccion a PETSc

A continuacion se detallan los gastos necesarios para incorporar conocimientos sobre el manejo dela biblioteca PETSc.

• Bibliotecas PETSc $0• Manual y Documentacion PETSc $0• Asistencia del Dr. Enzo Dari $150• Beca de CNEA destinada a trabajo final $58

Se estima que esta parte tomo 70 hr. El calculo sobre el monto de la beca se estimo $600 sobrelas horas del mes, por las horas dadas al trabajo. En el caso de la asistencia del director se tomo uncosto para el caso de tener que dar clases de posgrado en una universidad privada.

7.2.3. Desarrollo del programa Laplace 2D

• Beca de CNEA destinada a trabajo final $3• Asistencia del Dr. Enzo Dari $150

Se estima que esta parte demando 4 hrs. Tener en cuenta que se partio de un codigo ya escrito,dado en los ejemplos de PETSc.

7.2.4. Analisis de resultados

• Consumo electrico $15• Asistencia del Dr. Enzo Dari $150• Beca de CNEA destinada a trabajo final para el analisis $25

Esta seccion demando aproximadamente 100 hr. de las cuales aproximadamente 48 hrs de calculode ordenador.

7.2.5. Desarrollo del programa Schur Secuencial

• Consumo electrico $36• Beca de CNEA destinada a trabajo final para el desarrollo $166• Asistencia del Dr. Enzo Dari $150

Esta seccion demando aproximandamente 200 hrs.

7.2.6. Validacion y Analisis de Resultados

• Consumo electrico $10• Beca de CNEA destinada a trabajo final $20• Asistencia del Dr. Enzo Dari $150

Tiempo estimado 60 hrs.

38

Page 57: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

7.2.7. Desarrollo, Validacion y Analisis de Resultados del Programa SchurSecuencial

• Consumo electrico $63• Beca de CNEA destinada a trabajo final $291• Asistencia del Dr. Enzo Dari $150

Tiempo estimado 350 hrs.

7.2.8. Desarrollo, Validacion y Analisis de Resultados del Programa SchurParalelo

• Consumo electrico $36• Beca de CNEA destinada a trabajo final $166• Asistencia del Dr. Enzo Dari $150

Tiempo estimado 200 hrs.

7.3. Resumen de Costos

En total se invirtieron aproximadamente 1050 horas de ingenieria. Sumando la amortizacion decuatro maquinas durante un periodo de un ano $1500, costos de mantenimiento de oficina $4000, eltotal de costos suma aproximadamente $7500.

39

Page 58: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

40

Page 59: M´etodos Num´ericos para Acelerar la Convergencia de ...campi.cab.cnea.gov.ar/fulltext/ft19513.pdf · en 5 generaciones de ordenadores segun´ los criterios de construcci´on y

Bibliografıa

[1] Total Life Cycle Cost Comparison: Cray X1 and Pentium 4 Cluster, Paul Muzio y Richard Walsh

[2] MPI - The Complete Reference, Volume 1, The MPI Core, second edition, Marc Snir, Steve Otto,Steven Huss-Lederman, David Walker, Jack Dongarra

[3] PETSc Users Manual, ARGONNE NATIONAL LABORATORY, Mathematics and ComputerScience Division, http://www.mcs.anl.gov/petsc , Satish Balay, Kris Buschelman, Victor Eijk-hout, William Gropp, Dinesh Kaushik, Matt Knepley, Lois Curfman McInnes, Barry Smith, HongZhang XVI

[4] Metis User Manual, University of Minnesota, Department of Computer Science and Engineering,George Karypis, Kirk Schloegel and Vipin Kumar

[5] The C Programming Language, Prentice Hall Software Series, second edition, Brian W. Kernig-han, Dennis M. Ritchie

[6] Thinking in C++, 2nd ed. Volume 1, Bruce Eckel

[7] Afternotes goes to Graduate School, Lectures on Advanced Numerical Analysis, siam, G.W.Stewart

[8] Domain decomposition algorithms, Acta Numerica, Department of Mathematics, Tony F. ChanUniversity of California, Tarek P. Mathew University of Wyoming

[9] An Interface Strip Preconditioner for Domain Decomposition Methods, M. Storti, L. Dalcın, R.Paz, A. Yommi, V. Sonzogni, N. Nigro

[10] Performace analysis of a parallel finite element solution to the direct numerical simulation of fluidturbulence on Linux PC clusters, Department of Mechanical Engineering of Hong Kong, Chun-HoLiu, Chat-Ming Woo, Dennis Y.C. Leung

[11] Numerical solution of partial differential equations by the finite element method, CambridgeUniversity Press, Claes Johnson

[12] Iterative solution of linear systems in the 20th century, Journal of Computational and AppliedMathematics 123 (2000) 1-33, Yousef Saad, Henk A. van der Vorst

[13] Numerical Method, BUTTERWORTHS SCIENTIFIC PUBLICATIONS, LONDON, Andrew D.Booth

[14] Estudio numerico de la transicion a la turbulencia en flujos paralelos por el metodo de los ele-mentos finitos,Instituto Balseiro, Division de Mecanica Computacional, Gabriel Campos.

[15] General Purpose Finite Element Program, http://cabmec1.cnea.gov.ar/ , Enzo Alberto Dari,Gustavo Buscaglia

[16] Introduccion a la teoria de los grafos, Universidad de Buenos Aires, Fausto A. Toranzos

[17] Sparse matrix technology,London , Academic Press ,1984,Pissanetzky, S.

41