Resumen:
|
[ES] El trabajo se centra en el software Yambo, un programa de código abierto que implementa métodos de primeros principios basados en la función de Green para describir las propiedades de estados excitados en materiales ...[+]
[ES] El trabajo se centra en el software Yambo, un programa de código abierto que implementa métodos de primeros principios basados en la función de Green para describir las propiedades de estados excitados en materiales realistas. Entre estos métodos está la ecuación Bethe-Salpeter, que es el foco principal de este trabajo. En esta ecuación aparecen los autovalores (energías) y autovectores (autoestados) de una determinada matriz Hamiltoniana. En Yambo, este problema de autovalores se puede resolver con diferentes métodos. En uno de ellos se realiza la diagonalización completa de la matriz, en secuencial (LAPACK) o en paralelo (ScaLAPACK). Otra opción es calcular un porcentaje pequeño de los autovalores mediante SLEPc. En este caso, se puede crear la matriz Hamiltoniana explícitamente, que en esta aplicación es densa, o alternativamente operar con una matriz implícita. Nuestro trabajo está encaminado a mejorar el rendimiento, tanto computacional como de uso de memoria, de los diferentes métodos mencionados, explotando el paralelismo tanto a nivel de memoria distribuida (MPI) como de procesadores gráficos (GPU).
[-]
[EN] The work focuses on the Yambo software, an open source program that implements first-principles Green's function-based methods to describe the properties of excited states in realistic materials. Among these methods ...[+]
[EN] The work focuses on the Yambo software, an open source program that implements first-principles Green's function-based methods to describe the properties of excited states in realistic materials. Among these methods is the Bethe-Salpeter equation, which is the main focus of this work. In this equation appear the eigenvalues (energies) and eigenvectors (eigenstates) of a given Hamiltonian matrix. In Yambo, this eigenvalue problem can be solved by different methods. In one of them the complete diagonalization of the matrix is performed, either sequentially (LAPACK) or in parallel (ScaLAPACK). Another option is to calculate a small percentage of the eigenvalues using SLEPc. In this case, one can either create the Hamiltonian matrix explicitly, which in this application is dense, or alternatively operate with an implicit matrix. Our work is aimed at improving the performance, both computational and memory usage, of the different methods mentioned, exploiting parallelism at the level of both distributed memory (MPI) and graphics processors (GPUs).
[-]
|