Ampliando las capacidades de una aplicación de cómputo QM/MM utilizando GPU

Autores
Pérez Leale, Eduardo Andrés
Año de publicación
2019
Idioma
español castellano
Tipo de recurso
tesis de grado
Estado
versión publicada
Colaborador/a o director/a de tesis
González Lebrero, Mariano Camilo
Mocskos, Esteban Eduardo
Descripción
Hoy en día, la simulación numérica es una disciplina fundamental dentro de una gran cantidad de áreas de la ciencia y la tecnología. El uso de estas técnicas permite validar modelos teóricos así como también brindar información detallada (macro y microscópica) del proceso simulado, complementando el uso de las técnicas experimentales tradicionales. Este trabajo se enfoca en modificar el software de estructura electrónica LIO. Este código se basa en la teoría de los funcionales de la densidad (DFT) y permite estimar propiedades de sistemas moleculares de manera muy eficiente mediante el empleo de tarjetas gráficas (GPUs) en las partes más demandantes del cálculo. En el esquema de DFT la calidad (así como el mayor costo) está dada por el cálculo de lo que se llama “energía de intercambio y correlación”(EXC), por ello LIO realiza los cálculos asociados a estos términos en GPU. Para el cálculo de EXC existen múltiples “recetas” (llamadas funcionales de intercambio y correlación) que pueden ser convenientes para el tratamiento de diferentes sistemas o propiedades. La versión original de LIO incluía un único funcional (llamado PBE) lo que limitaba sus capacidades. Libxc es una biblioteca de funcionales de intercambio y correlación para DFT diseñada para realizar simulaciones utilizando únicamente procesadores generales por lo que su implementación en GPU puede no resultar eficiente. El desafío planteado en esta tesis es lograr utilizar Libxc desde LIO sin que impacte en su performance. Para lograrlo se realizaron los siguientes pasos: 1. Se integró LÍO con Libxc sin modificar la estructura general de Libxc para poder realizar simulaciones con mayor diversidad de funcionales. 2. Se seleccionó un subconjunto de funcionales de Libxc y se realizó su implementación en GPU, para lo cual se realizó una modificación en la arquitectura y los algoritmos de Libxc. Se comenzó por el funcional PBE para poder validar el correcto funcionamiento de la aplicación. Luego, se implementó el resto de los funcionales seleccionados y se obtuvo una versión de LIO integrada con Libxc para GPU. 3. Se analizó el uso de los recursos de la tarjetas gráficas con el fin de poder aprovechar al máximo la arquitectura de las GPUs. Se buscó cambiar la estrategia de paralelización en la estructura del cómputo de Libxc para aprovechar la mayor cantidad de memoria que poseen las tarjetas gráficas para almacenar más resultados intermedios. 4. Se exploró el uso de diversos compiladores provistos por el proyecto LLVM en un intento de realizar una traducción automática del código fuente de la biblioteca Libxc para GPUS. Como resultado de este trabajo se pudo lograr una ampliación de las capacidades del cómputo del software LIO al vincularlo con la biblioteca Libxc con un impacto menor en la performance que va de 19 % en la primera etapa, al 4 % en la etapa final. También se lograron identificar los puntos clave en la implementación que permitirán continuar con las tareas de optimización. Las mejoras permiten que LIO pueda ser utilizada con una amplia gamma de algoritmos que realizan los cálculos de intercambio de energía y correlación, lo que consecuentemente permite realizar simulaciones en condiciones más variadas. Como corolario de este trabajo se pudo estandarizar (aunque no automatizar) un procedimiento que permite realizar una traducción de los funcionales de Libxc para que puedan ser ejecutados en GPU.
Fil: Pérez Leale, Eduardo Andrés. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
Materia
QM MM
DFT
LIO
LIBXC
GPGPU
CUDA
LLVM
SCHEDULING
Nivel de accesibilidad
acceso abierto
Condiciones de uso
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
Repositorio
Biblioteca Digital (UBA-FCEN)
Institución
Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
OAI Identificador
seminario:seminario_nCOM000597_PerezLeale

id BDUBAFCEN_cf76645da7d40361cf89f0fbad590097
oai_identifier_str seminario:seminario_nCOM000597_PerezLeale
network_acronym_str BDUBAFCEN
repository_id_str 1896
network_name_str Biblioteca Digital (UBA-FCEN)
spelling Ampliando las capacidades de una aplicación de cómputo QM/MM utilizando GPUPérez Leale, Eduardo AndrésQM MMDFTLIOLIBXCGPGPUCUDALLVMSCHEDULINGHoy en día, la simulación numérica es una disciplina fundamental dentro de una gran cantidad de áreas de la ciencia y la tecnología. El uso de estas técnicas permite validar modelos teóricos así como también brindar información detallada (macro y microscópica) del proceso simulado, complementando el uso de las técnicas experimentales tradicionales. Este trabajo se enfoca en modificar el software de estructura electrónica LIO. Este código se basa en la teoría de los funcionales de la densidad (DFT) y permite estimar propiedades de sistemas moleculares de manera muy eficiente mediante el empleo de tarjetas gráficas (GPUs) en las partes más demandantes del cálculo. En el esquema de DFT la calidad (así como el mayor costo) está dada por el cálculo de lo que se llama “energía de intercambio y correlación”(EXC), por ello LIO realiza los cálculos asociados a estos términos en GPU. Para el cálculo de EXC existen múltiples “recetas” (llamadas funcionales de intercambio y correlación) que pueden ser convenientes para el tratamiento de diferentes sistemas o propiedades. La versión original de LIO incluía un único funcional (llamado PBE) lo que limitaba sus capacidades. Libxc es una biblioteca de funcionales de intercambio y correlación para DFT diseñada para realizar simulaciones utilizando únicamente procesadores generales por lo que su implementación en GPU puede no resultar eficiente. El desafío planteado en esta tesis es lograr utilizar Libxc desde LIO sin que impacte en su performance. Para lograrlo se realizaron los siguientes pasos: 1. Se integró LÍO con Libxc sin modificar la estructura general de Libxc para poder realizar simulaciones con mayor diversidad de funcionales. 2. Se seleccionó un subconjunto de funcionales de Libxc y se realizó su implementación en GPU, para lo cual se realizó una modificación en la arquitectura y los algoritmos de Libxc. Se comenzó por el funcional PBE para poder validar el correcto funcionamiento de la aplicación. Luego, se implementó el resto de los funcionales seleccionados y se obtuvo una versión de LIO integrada con Libxc para GPU. 3. Se analizó el uso de los recursos de la tarjetas gráficas con el fin de poder aprovechar al máximo la arquitectura de las GPUs. Se buscó cambiar la estrategia de paralelización en la estructura del cómputo de Libxc para aprovechar la mayor cantidad de memoria que poseen las tarjetas gráficas para almacenar más resultados intermedios. 4. Se exploró el uso de diversos compiladores provistos por el proyecto LLVM en un intento de realizar una traducción automática del código fuente de la biblioteca Libxc para GPUS. Como resultado de este trabajo se pudo lograr una ampliación de las capacidades del cómputo del software LIO al vincularlo con la biblioteca Libxc con un impacto menor en la performance que va de 19 % en la primera etapa, al 4 % en la etapa final. También se lograron identificar los puntos clave en la implementación que permitirán continuar con las tareas de optimización. Las mejoras permiten que LIO pueda ser utilizada con una amplia gamma de algoritmos que realizan los cálculos de intercambio de energía y correlación, lo que consecuentemente permite realizar simulaciones en condiciones más variadas. Como corolario de este trabajo se pudo estandarizar (aunque no automatizar) un procedimiento que permite realizar una traducción de los funcionales de Libxc para que puedan ser ejecutados en GPU.Fil: Pérez Leale, Eduardo Andrés. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.Universidad de Buenos Aires. Facultad de Ciencias Exactas y NaturalesGonzález Lebrero, Mariano CamiloMocskos, Esteban Eduardo2019info:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfhttps://hdl.handle.net/20.500.12110/seminario_nCOM000597_PerezLealespainfo:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/arreponame:Biblioteca Digital (UBA-FCEN)instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesinstacron:UBA-FCEN2025-10-23T11:19:08Zseminario:seminario_nCOM000597_PerezLealeInstitucionalhttps://digital.bl.fcen.uba.ar/Universidad públicaNo correspondehttps://digital.bl.fcen.uba.ar/cgi-bin/oaiserver.cgiana@bl.fcen.uba.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:18962025-10-23 11:19:09.347Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesfalse
dc.title.none.fl_str_mv Ampliando las capacidades de una aplicación de cómputo QM/MM utilizando GPU
title Ampliando las capacidades de una aplicación de cómputo QM/MM utilizando GPU
spellingShingle Ampliando las capacidades de una aplicación de cómputo QM/MM utilizando GPU
Pérez Leale, Eduardo Andrés
QM MM
DFT
LIO
LIBXC
GPGPU
CUDA
LLVM
SCHEDULING
title_short Ampliando las capacidades de una aplicación de cómputo QM/MM utilizando GPU
title_full Ampliando las capacidades de una aplicación de cómputo QM/MM utilizando GPU
title_fullStr Ampliando las capacidades de una aplicación de cómputo QM/MM utilizando GPU
title_full_unstemmed Ampliando las capacidades de una aplicación de cómputo QM/MM utilizando GPU
title_sort Ampliando las capacidades de una aplicación de cómputo QM/MM utilizando GPU
dc.creator.none.fl_str_mv Pérez Leale, Eduardo Andrés
author Pérez Leale, Eduardo Andrés
author_facet Pérez Leale, Eduardo Andrés
author_role author
dc.contributor.none.fl_str_mv González Lebrero, Mariano Camilo
Mocskos, Esteban Eduardo
dc.subject.none.fl_str_mv QM MM
DFT
LIO
LIBXC
GPGPU
CUDA
LLVM
SCHEDULING
topic QM MM
DFT
LIO
LIBXC
GPGPU
CUDA
LLVM
SCHEDULING
dc.description.none.fl_txt_mv Hoy en día, la simulación numérica es una disciplina fundamental dentro de una gran cantidad de áreas de la ciencia y la tecnología. El uso de estas técnicas permite validar modelos teóricos así como también brindar información detallada (macro y microscópica) del proceso simulado, complementando el uso de las técnicas experimentales tradicionales. Este trabajo se enfoca en modificar el software de estructura electrónica LIO. Este código se basa en la teoría de los funcionales de la densidad (DFT) y permite estimar propiedades de sistemas moleculares de manera muy eficiente mediante el empleo de tarjetas gráficas (GPUs) en las partes más demandantes del cálculo. En el esquema de DFT la calidad (así como el mayor costo) está dada por el cálculo de lo que se llama “energía de intercambio y correlación”(EXC), por ello LIO realiza los cálculos asociados a estos términos en GPU. Para el cálculo de EXC existen múltiples “recetas” (llamadas funcionales de intercambio y correlación) que pueden ser convenientes para el tratamiento de diferentes sistemas o propiedades. La versión original de LIO incluía un único funcional (llamado PBE) lo que limitaba sus capacidades. Libxc es una biblioteca de funcionales de intercambio y correlación para DFT diseñada para realizar simulaciones utilizando únicamente procesadores generales por lo que su implementación en GPU puede no resultar eficiente. El desafío planteado en esta tesis es lograr utilizar Libxc desde LIO sin que impacte en su performance. Para lograrlo se realizaron los siguientes pasos: 1. Se integró LÍO con Libxc sin modificar la estructura general de Libxc para poder realizar simulaciones con mayor diversidad de funcionales. 2. Se seleccionó un subconjunto de funcionales de Libxc y se realizó su implementación en GPU, para lo cual se realizó una modificación en la arquitectura y los algoritmos de Libxc. Se comenzó por el funcional PBE para poder validar el correcto funcionamiento de la aplicación. Luego, se implementó el resto de los funcionales seleccionados y se obtuvo una versión de LIO integrada con Libxc para GPU. 3. Se analizó el uso de los recursos de la tarjetas gráficas con el fin de poder aprovechar al máximo la arquitectura de las GPUs. Se buscó cambiar la estrategia de paralelización en la estructura del cómputo de Libxc para aprovechar la mayor cantidad de memoria que poseen las tarjetas gráficas para almacenar más resultados intermedios. 4. Se exploró el uso de diversos compiladores provistos por el proyecto LLVM en un intento de realizar una traducción automática del código fuente de la biblioteca Libxc para GPUS. Como resultado de este trabajo se pudo lograr una ampliación de las capacidades del cómputo del software LIO al vincularlo con la biblioteca Libxc con un impacto menor en la performance que va de 19 % en la primera etapa, al 4 % en la etapa final. También se lograron identificar los puntos clave en la implementación que permitirán continuar con las tareas de optimización. Las mejoras permiten que LIO pueda ser utilizada con una amplia gamma de algoritmos que realizan los cálculos de intercambio de energía y correlación, lo que consecuentemente permite realizar simulaciones en condiciones más variadas. Como corolario de este trabajo se pudo estandarizar (aunque no automatizar) un procedimiento que permite realizar una traducción de los funcionales de Libxc para que puedan ser ejecutados en GPU.
Fil: Pérez Leale, Eduardo Andrés. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
description Hoy en día, la simulación numérica es una disciplina fundamental dentro de una gran cantidad de áreas de la ciencia y la tecnología. El uso de estas técnicas permite validar modelos teóricos así como también brindar información detallada (macro y microscópica) del proceso simulado, complementando el uso de las técnicas experimentales tradicionales. Este trabajo se enfoca en modificar el software de estructura electrónica LIO. Este código se basa en la teoría de los funcionales de la densidad (DFT) y permite estimar propiedades de sistemas moleculares de manera muy eficiente mediante el empleo de tarjetas gráficas (GPUs) en las partes más demandantes del cálculo. En el esquema de DFT la calidad (así como el mayor costo) está dada por el cálculo de lo que se llama “energía de intercambio y correlación”(EXC), por ello LIO realiza los cálculos asociados a estos términos en GPU. Para el cálculo de EXC existen múltiples “recetas” (llamadas funcionales de intercambio y correlación) que pueden ser convenientes para el tratamiento de diferentes sistemas o propiedades. La versión original de LIO incluía un único funcional (llamado PBE) lo que limitaba sus capacidades. Libxc es una biblioteca de funcionales de intercambio y correlación para DFT diseñada para realizar simulaciones utilizando únicamente procesadores generales por lo que su implementación en GPU puede no resultar eficiente. El desafío planteado en esta tesis es lograr utilizar Libxc desde LIO sin que impacte en su performance. Para lograrlo se realizaron los siguientes pasos: 1. Se integró LÍO con Libxc sin modificar la estructura general de Libxc para poder realizar simulaciones con mayor diversidad de funcionales. 2. Se seleccionó un subconjunto de funcionales de Libxc y se realizó su implementación en GPU, para lo cual se realizó una modificación en la arquitectura y los algoritmos de Libxc. Se comenzó por el funcional PBE para poder validar el correcto funcionamiento de la aplicación. Luego, se implementó el resto de los funcionales seleccionados y se obtuvo una versión de LIO integrada con Libxc para GPU. 3. Se analizó el uso de los recursos de la tarjetas gráficas con el fin de poder aprovechar al máximo la arquitectura de las GPUs. Se buscó cambiar la estrategia de paralelización en la estructura del cómputo de Libxc para aprovechar la mayor cantidad de memoria que poseen las tarjetas gráficas para almacenar más resultados intermedios. 4. Se exploró el uso de diversos compiladores provistos por el proyecto LLVM en un intento de realizar una traducción automática del código fuente de la biblioteca Libxc para GPUS. Como resultado de este trabajo se pudo lograr una ampliación de las capacidades del cómputo del software LIO al vincularlo con la biblioteca Libxc con un impacto menor en la performance que va de 19 % en la primera etapa, al 4 % en la etapa final. También se lograron identificar los puntos clave en la implementación que permitirán continuar con las tareas de optimización. Las mejoras permiten que LIO pueda ser utilizada con una amplia gamma de algoritmos que realizan los cálculos de intercambio de energía y correlación, lo que consecuentemente permite realizar simulaciones en condiciones más variadas. Como corolario de este trabajo se pudo estandarizar (aunque no automatizar) un procedimiento que permite realizar una traducción de los funcionales de Libxc para que puedan ser ejecutados en GPU.
publishDate 2019
dc.date.none.fl_str_mv 2019
dc.type.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
info:eu-repo/semantics/publishedVersion
http://purl.org/coar/resource_type/c_7a1f
info:ar-repo/semantics/tesisDeGrado
format bachelorThesis
status_str publishedVersion
dc.identifier.none.fl_str_mv https://hdl.handle.net/20.500.12110/seminario_nCOM000597_PerezLeale
url https://hdl.handle.net/20.500.12110/seminario_nCOM000597_PerezLeale
dc.language.none.fl_str_mv spa
language spa
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
eu_rights_str_mv openAccess
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-sa/2.5/ar
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
dc.source.none.fl_str_mv reponame:Biblioteca Digital (UBA-FCEN)
instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron:UBA-FCEN
reponame_str Biblioteca Digital (UBA-FCEN)
collection Biblioteca Digital (UBA-FCEN)
instname_str Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron_str UBA-FCEN
institution UBA-FCEN
repository.name.fl_str_mv Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
repository.mail.fl_str_mv ana@bl.fcen.uba.ar
_version_ 1846784897788674048
score 12.982451