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-Tesis
Lenguaje:español
OAI Identifier:oai:tesis.pucp.edu.pe:20.500.12404/6194
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 PUCP_8bba737502745e70165654a259a13722
oai_identifier_str oai:tesis.pucp.edu.pe:20.500.12404/6194
network_acronym_str PUCP
network_name_str PUCP-Tesis
repository_id_str .
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.relation.ispartof.fl_str_mv SUNEDU
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-Tesis
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-Tesis
collection PUCP-Tesis
bitstream.url.fl_str_mv https://tesis.pucp.edu.pe/bitstreams/61436a3e-31c4-4087-b3a5-e5dd04e18081/download
https://tesis.pucp.edu.pe/bitstreams/d37cf25a-be6f-415d-b8e7-ae5816aa6963/download
https://tesis.pucp.edu.pe/bitstreams/4fdee5db-a2ab-463b-8163-c8fadb0ef015/download
https://tesis.pucp.edu.pe/bitstreams/0bbad049-03a2-4ec3-96c1-dcf305e5d6bd/download
bitstream.checksum.fl_str_mv 8a4605be74aa9ea9d79846c1fba20a33
04865455216ba6ebb2c0c6459101377c
73c3f0461f8a6f44ddbef01451beffcc
e43e4d5480c36e9813eb4a3dddab16e7
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio de Tesis PUCP
repository.mail.fl_str_mv raul.sifuentes@pucp.pe
_version_ 1834736827969306624
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.TesisspaPontificia 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-Tesisinstname:Pontificia Universidad Católica del Perúinstacron:PUCPSUNEDUIngeniero 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#tesisLICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://tesis.pucp.edu.pe/bitstreams/61436a3e-31c4-4087-b3a5-e5dd04e18081/download8a4605be74aa9ea9d79846c1fba20a33MD52falseAnonymousREADORIGINALROSALES_ERICK_IMPLEMENTACION_ITERACION_LANCZOS_ARQUITECTURA_CUDA.pdfROSALES_ERICK_IMPLEMENTACION_ITERACION_LANCZOS_ARQUITECTURA_CUDA.pdfapplication/pdf6013449https://tesis.pucp.edu.pe/bitstreams/d37cf25a-be6f-415d-b8e7-ae5816aa6963/download04865455216ba6ebb2c0c6459101377cMD51trueAnonymousREADTEXTROSALES_ERICK_IMPLEMENTACION_ITERACION_LANCZOS_ARQUITECTURA_CUDA.pdf.txtROSALES_ERICK_IMPLEMENTACION_ITERACION_LANCZOS_ARQUITECTURA_CUDA.pdf.txtExtracted texttext/plain79153https://tesis.pucp.edu.pe/bitstreams/4fdee5db-a2ab-463b-8163-c8fadb0ef015/download73c3f0461f8a6f44ddbef01451beffccMD55falseAnonymousREADTHUMBNAILROSALES_ERICK_IMPLEMENTACION_ITERACION_LANCZOS_ARQUITECTURA_CUDA.pdf.jpgROSALES_ERICK_IMPLEMENTACION_ITERACION_LANCZOS_ARQUITECTURA_CUDA.pdf.jpgIM Thumbnailimage/jpeg25907https://tesis.pucp.edu.pe/bitstreams/0bbad049-03a2-4ec3-96c1-dcf305e5d6bd/downloade43e4d5480c36e9813eb4a3dddab16e7MD56falseAnonymousREAD20.500.12404/6194oai:tesis.pucp.edu.pe:20.500.12404/61942025-03-12 17:46:08.475http://creativecommons.org/licenses/by-nc-nd/2.5/pe/info:eu-repo/semantics/openAccessopen.accesshttps://tesis.pucp.edu.peRepositorio de Tesis PUCPraul.sifuentes@pucp.peTk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=
score 13.987529
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).