Implementación de la iteración lanczos en arquitectura CUDA

Descripción del Articulo

Los autovalores y autovectores son elementos muy utilizados en diversos problemas como análisis de estructuras, reconocimiento de imágenes, compresión de datos, solución de problemas electrodinámicos, entre otros. Existen muchos algoritmos para calcular y tratar con autovalores y autovectores median...

Descripción completa

Detalles Bibliográficos
Autor: Rosales Jara, Erick Daniel
Formato: tesis de grado
Fecha de Publicación:2015
Institución:Pontificia Universidad Católica del Perú
Repositorio:PUCP-Institucional
Lenguaje:español
OAI Identifier:oai:repositorio.pucp.edu.pe:20.500.14657/163490
Enlace del recurso:http://hdl.handle.net/20.500.12404/6194
Nivel de acceso:acceso abierto
Materia:Métodos iterativos (Matemáticas)
MATLAB (Programas para computadoras)
https://purl.org/pe-repo/ocde/ford#2.02.01
id RPUC_ad4acda0899da00e228fd25070584b0f
oai_identifier_str oai:repositorio.pucp.edu.pe:20.500.14657/163490
network_acronym_str RPUC
network_name_str PUCP-Institucional
repository_id_str 2905
spelling Rosales Jara, Paul DanielRosales Jara, Erick Daniel2015-07-25T13:37:36Z2015-07-25T13:37:36Z20152015-07-25http://hdl.handle.net/20.500.12404/6194Los autovalores y autovectores son elementos muy utilizados en diversos problemas como análisis de estructuras, reconocimiento de imágenes, compresión de datos, solución de problemas electrodinámicos, entre otros. Existen muchos algoritmos para calcular y tratar con autovalores y autovectores mediante el uso de computadoras, sin embargo, cuando solo se requiere uno o unos pocos autovalores (los más significativos) y autovectores, se puede optar por Power Method o la Iteración Lanczos. Por otro lado, factores como la cantidad de información a procesar o la precisión deseada pueden significar tiempos de ejecución no aceptables para ciertas aplicaciones, surgiendo la alternativa de realizar implementaciones paralelas, siendo la arquitectura CUDA una de la mejores opciones actualmente. En la presente tesis se propone diseñar e implementar un algoritmo paralelo para la iteración Lancos en arquitectura CUDA, el cual es un método para el cálculo del mayor autovalor y su correspondiente autovector. La propuesta esta dividia en tres bloques principales. El primer bloque realiza la tridiagonalización parcial de una matriz cuadrada simétrica. El segundo bloque calcula la descomposición de Schur de la matriz tridiagonal obteniendo los autovectores y autovalores de esta. El tercer bloque calcula el mayor autovalor y su correspondiente autovector de la matriz inicial a partir de lo obtenido en etapas anteriores y determinará si es necesario seguir realizando cálculos. Los bloques trabajan iterativamente hasta encontrar resultados que se ajusten a la precisión deseada. Además de la implementación paralela en CUDA, se realizaron implementaciones en el entorno de simulación MATLAB y en lenguaje C secuencial, con el propósito de comparar y verificar una correcta y eficiente implementación paralela. Los resultados computacionales evaluados para una matriz de 4000 _ 4000 elementos reflejan un rendimiento de 13;4 y 5;8 al compararse la implementación en CUDA con MATLAB y C secuencial respectivamente. Estos rendimientos tienden a crecer mientras mayor sea el tamaño de la matriz. La organización de la tesis es: en el primer capítulo se describe la problemática del tema. En el segundo capítulo se explica la teoría correspondiente a Power Method y Lanczos, así como los algoritmos necesarios. En el capítulo tres se exponen conceptos fundamentales sobre arquitectura CUDA. El diseño del algoritmo paralelo se desarrolla en el capítulo cuatro. Finalmente, en el capítulo cinco, se muestran y analizan los resultados computacionales, seguidos de las conclusiones, recomendaciones y bibliografía.spaPontificia Universidad Católica del PerúPEinfo:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by-nc-nd/2.5/pe/Métodos iterativos (Matemáticas)MATLAB (Programas para computadoras)https://purl.org/pe-repo/ocde/ford#2.02.01Implementación de la iteración lanczos en arquitectura CUDAinfo:eu-repo/semantics/bachelorThesisreponame:PUCP-Institucionalinstname:Pontificia Universidad Católica del Perúinstacron:PUCPIngeniero ElectrónicoTítulo ProfesionalPontificia Universidad Católica del Perú. Facultad de Ciencias e IngenieríaIngeniería Electrónica712026https://purl.org/pe-repo/renati/level#tituloProfesionalhttps://purl.org/pe-repo/renati/type#tesis20.500.14657/163490oai:repositorio.pucp.edu.pe:20.500.14657/1634902025-02-13 11:15:46.026http://creativecommons.org/licenses/by-nc-nd/2.5/pe/info:eu-repo/semantics/openAccessmetadata.onlyhttps://repositorio.pucp.edu.peRepositorio Institucional de la PUCPrepositorio@pucp.pe
dc.title.es_ES.fl_str_mv Implementación de la iteración lanczos en arquitectura CUDA
title Implementación de la iteración lanczos en arquitectura CUDA
spellingShingle Implementación de la iteración lanczos en arquitectura CUDA
Rosales Jara, Erick Daniel
Métodos iterativos (Matemáticas)
MATLAB (Programas para computadoras)
https://purl.org/pe-repo/ocde/ford#2.02.01
title_short Implementación de la iteración lanczos en arquitectura CUDA
title_full Implementación de la iteración lanczos en arquitectura CUDA
title_fullStr Implementación de la iteración lanczos en arquitectura CUDA
title_full_unstemmed Implementación de la iteración lanczos en arquitectura CUDA
title_sort Implementación de la iteración lanczos en arquitectura CUDA
author Rosales Jara, Erick Daniel
author_facet Rosales Jara, Erick Daniel
author_role author
dc.contributor.advisor.fl_str_mv Rosales Jara, Paul Daniel
dc.contributor.author.fl_str_mv Rosales Jara, Erick Daniel
dc.subject.es_ES.fl_str_mv Métodos iterativos (Matemáticas)
MATLAB (Programas para computadoras)
topic Métodos iterativos (Matemáticas)
MATLAB (Programas para computadoras)
https://purl.org/pe-repo/ocde/ford#2.02.01
dc.subject.ocde.es_ES.fl_str_mv https://purl.org/pe-repo/ocde/ford#2.02.01
description Los autovalores y autovectores son elementos muy utilizados en diversos problemas como análisis de estructuras, reconocimiento de imágenes, compresión de datos, solución de problemas electrodinámicos, entre otros. Existen muchos algoritmos para calcular y tratar con autovalores y autovectores mediante el uso de computadoras, sin embargo, cuando solo se requiere uno o unos pocos autovalores (los más significativos) y autovectores, se puede optar por Power Method o la Iteración Lanczos. Por otro lado, factores como la cantidad de información a procesar o la precisión deseada pueden significar tiempos de ejecución no aceptables para ciertas aplicaciones, surgiendo la alternativa de realizar implementaciones paralelas, siendo la arquitectura CUDA una de la mejores opciones actualmente. En la presente tesis se propone diseñar e implementar un algoritmo paralelo para la iteración Lancos en arquitectura CUDA, el cual es un método para el cálculo del mayor autovalor y su correspondiente autovector. La propuesta esta dividia en tres bloques principales. El primer bloque realiza la tridiagonalización parcial de una matriz cuadrada simétrica. El segundo bloque calcula la descomposición de Schur de la matriz tridiagonal obteniendo los autovectores y autovalores de esta. El tercer bloque calcula el mayor autovalor y su correspondiente autovector de la matriz inicial a partir de lo obtenido en etapas anteriores y determinará si es necesario seguir realizando cálculos. Los bloques trabajan iterativamente hasta encontrar resultados que se ajusten a la precisión deseada. Además de la implementación paralela en CUDA, se realizaron implementaciones en el entorno de simulación MATLAB y en lenguaje C secuencial, con el propósito de comparar y verificar una correcta y eficiente implementación paralela. Los resultados computacionales evaluados para una matriz de 4000 _ 4000 elementos reflejan un rendimiento de 13;4 y 5;8 al compararse la implementación en CUDA con MATLAB y C secuencial respectivamente. Estos rendimientos tienden a crecer mientras mayor sea el tamaño de la matriz. La organización de la tesis es: en el primer capítulo se describe la problemática del tema. En el segundo capítulo se explica la teoría correspondiente a Power Method y Lanczos, así como los algoritmos necesarios. En el capítulo tres se exponen conceptos fundamentales sobre arquitectura CUDA. El diseño del algoritmo paralelo se desarrolla en el capítulo cuatro. Finalmente, en el capítulo cinco, se muestran y analizan los resultados computacionales, seguidos de las conclusiones, recomendaciones y bibliografía.
publishDate 2015
dc.date.accessioned.es_ES.fl_str_mv 2015-07-25T13:37:36Z
dc.date.available.es_ES.fl_str_mv 2015-07-25T13:37:36Z
dc.date.created.es_ES.fl_str_mv 2015
dc.date.issued.fl_str_mv 2015-07-25
dc.type.es_ES.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/20.500.12404/6194
url http://hdl.handle.net/20.500.12404/6194
dc.language.iso.es_ES.fl_str_mv spa
language spa
dc.rights.es_ES.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/2.5/pe/
eu_rights_str_mv openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-nd/2.5/pe/
dc.publisher.es_ES.fl_str_mv Pontificia Universidad Católica del Perú
dc.publisher.country.es_ES.fl_str_mv PE
dc.source.none.fl_str_mv reponame:PUCP-Institucional
instname:Pontificia Universidad Católica del Perú
instacron:PUCP
instname_str Pontificia Universidad Católica del Perú
instacron_str PUCP
institution PUCP
reponame_str PUCP-Institucional
collection PUCP-Institucional
repository.name.fl_str_mv Repositorio Institucional de la PUCP
repository.mail.fl_str_mv repositorio@pucp.pe
_version_ 1835639137507475456
score 13.888049
Nota importante:
La información contenida en este registro es de entera responsabilidad de la institución que gestiona el repositorio institucional donde esta contenido este documento o set de datos. El CONCYTEC no se hace responsable por los contenidos (publicaciones y/o datos) accesibles a través del Repositorio Nacional Digital de Ciencia, Tecnología e Innovación de Acceso Abierto (ALICIA).