Resumen:
|
[ES] En este trabajo, se expone una solución eficiente para el cálculo de valores propios en un específico problema de ingeniería nuclear. Conociendo el tipo de problema es posible lograr muchas prestaciones y adaptar el ...[+]
[ES] En este trabajo, se expone una solución eficiente para el cálculo de valores propios en un específico problema de ingeniería nuclear. Conociendo el tipo de problema es posible lograr muchas prestaciones y adaptar el algoritmo al tipo de problema que tenemos. El cálculo con reactores está basado sobre la ecuación de difusión neutrónica. El original sistema de ecuaciones diferenciales se convierte en un problema de cálculo de valores propios generalizado. El primer paso para el diseño del algoritmo para el cálculo de valores propios consiste en implementar un eficiente método para el producto matriz-vector (SpMV) y este trabajo está enfocado principalmente en eso. El segundo paso consiste en utilizar SpMV para la resolución de sistema de ecuaciones lineales y el cálculo de valores propios. Se desarrolla el diseño de funciones kernel para la operación SpMV sobre un específico problema de ingeniería nuclear. La eficiencia depende, en particular, sobre la estructura de la matriz dispersa y en la manera de como se almacena. Hay diferentes formas de almacenar la matriz dispersa en relación a su estrucutra. Unos formatos representan el estado del arte en el almacenamiento de matrices dispersa y en este trabajo se han diseñado otros formatos que permiten lograr prestaciones para este específico problema. Para el cálculo de valores propios se ha utilizado el método de Arnoldi con Reinicio Implícito (IRAM) aplicando el algoritmo SpMV optimizado según las matrices que hemos analizado.
[-]
[EN] In this thesis, we expose an efficient way to the resolution of an eigenvalue problem in a specific nuclear engineering problem. As a result, we know the specific type of problem to solve and, hence, to get high ...[+]
[EN] In this thesis, we expose an efficient way to the resolution of an eigenvalue problem in a specific nuclear engineering problem. As a result, we know the specific type of problem to solve and, hence, to get high performance we adapt every algorithm to such problem. Reactor calculations are usually based on the multigroup neutron diffusion equation. The original system of partial differential equations is converted into an algebraic large sparse generalised eigenvalue problem. The first step of designing the eigenvalue algorithm consists in a quite efficient Sparse Matrix-vector product (SpMV) and this paper will be mainly focused about that. We explore the design of kernel functions for the SpMV operation for a very specific nuclear engineering problem. As a result, according to the specific problem it is possible to optimize the SpMV operation to get very high performance in the resolution of eigenvalues of sparse matrix. The efficiency of SpMV depends on the sparse matrix structure and on the way it is stored in memory. In particular, the matrices present a lot of elements close to the main diagonal and the best way in this case is to store elements towards the diagonal avoiding the zeros elements to be stored. Therefore, we show different way to store sparse matrices related on the structure of them. Some formats represents the state of arts for storing sparse matrix but we have designed some formats that can be used only for the matrix obtained with this particular problem.
[-]
|