Comparación y análisis de desempeño de unidades de procesamiento gráfico como alternativa de computación paralela para procesos de simulación en ingeniería

La computación de propósito general en las unidades de procesamiento gráfico GPU es una área de en continuo crecimiento. Las arquitecturas actuales de las GPU permiten la optimización, a través de diferentes lenguajes de programación (p. ej. CUDA C, CUDA Fortran, OpenCL, entre otros) aplicaciones ex...

Full description

Autores:
Avila Garzón, Yerman Jahir
Tipo de recurso:
Fecha de publicación:
2015
Institución:
Universidad Nacional de Colombia
Repositorio:
Universidad Nacional de Colombia
Idioma:
spa
OAI Identifier:
oai:repositorio.unal.edu.co:unal/56614
Acceso en línea:
https://repositorio.unal.edu.co/handle/unal/56614
http://bdigital.unal.edu.co/52460/
Palabra clave:
0 Generalidades / Computer science, information and general works
62 Ingeniería y operaciones afines / Engineering
Computación GPU
Computación paralela
CUDA
Diseño digital
HDL
NVIDIA
Simulación
Verificación funcional
GPU
Verificación
Digital Design
GPU Computing
Parallel computing
Functional Verification
Rights
openAccess
License
Atribución-NoComercial 4.0 Internacional
id UNACIONAL2_7c91c509bf2e5f067f35125fd8088b93
oai_identifier_str oai:repositorio.unal.edu.co:unal/56614
network_acronym_str UNACIONAL2
network_name_str Universidad Nacional de Colombia
repository_id_str
dc.title.spa.fl_str_mv Comparación y análisis de desempeño de unidades de procesamiento gráfico como alternativa de computación paralela para procesos de simulación en ingeniería
title Comparación y análisis de desempeño de unidades de procesamiento gráfico como alternativa de computación paralela para procesos de simulación en ingeniería
spellingShingle Comparación y análisis de desempeño de unidades de procesamiento gráfico como alternativa de computación paralela para procesos de simulación en ingeniería
0 Generalidades / Computer science, information and general works
62 Ingeniería y operaciones afines / Engineering
Computación GPU
Computación paralela
CUDA
Diseño digital
HDL
NVIDIA
Simulación
Verificación funcional
GPU
Verificación
Digital Design
GPU Computing
Parallel computing
Functional Verification
title_short Comparación y análisis de desempeño de unidades de procesamiento gráfico como alternativa de computación paralela para procesos de simulación en ingeniería
title_full Comparación y análisis de desempeño de unidades de procesamiento gráfico como alternativa de computación paralela para procesos de simulación en ingeniería
title_fullStr Comparación y análisis de desempeño de unidades de procesamiento gráfico como alternativa de computación paralela para procesos de simulación en ingeniería
title_full_unstemmed Comparación y análisis de desempeño de unidades de procesamiento gráfico como alternativa de computación paralela para procesos de simulación en ingeniería
title_sort Comparación y análisis de desempeño de unidades de procesamiento gráfico como alternativa de computación paralela para procesos de simulación en ingeniería
dc.creator.fl_str_mv Avila Garzón, Yerman Jahir
dc.contributor.author.spa.fl_str_mv Avila Garzón, Yerman Jahir
dc.contributor.spa.fl_str_mv Eslava Garzón, Johan Sebastian
dc.subject.ddc.spa.fl_str_mv 0 Generalidades / Computer science, information and general works
62 Ingeniería y operaciones afines / Engineering
topic 0 Generalidades / Computer science, information and general works
62 Ingeniería y operaciones afines / Engineering
Computación GPU
Computación paralela
CUDA
Diseño digital
HDL
NVIDIA
Simulación
Verificación funcional
GPU
Verificación
Digital Design
GPU Computing
Parallel computing
Functional Verification
dc.subject.proposal.spa.fl_str_mv Computación GPU
Computación paralela
CUDA
Diseño digital
HDL
NVIDIA
Simulación
Verificación funcional
GPU
Verificación
Digital Design
GPU Computing
Parallel computing
Functional Verification
description La computación de propósito general en las unidades de procesamiento gráfico GPU es una área de en continuo crecimiento. Las arquitecturas actuales de las GPU permiten la optimización, a través de diferentes lenguajes de programación (p. ej. CUDA C, CUDA Fortran, OpenCL, entre otros) aplicaciones existentes o crear nuevas aplicaciones que permitan aprovechar el paralelismo natural de GPU. Se busca mejorar el tiempo de ejecución algoritmos complejos, un mejor uso de los recursos computacionales y mayor acceso a plataformas de computación de alto rendimiento. A través del uso de GPUs como procesadores SIMD (Single Instruction Multiple Data) se buscan mejoras en la metodología de diseño, modelo y proceso de simulación. Se busca comparar diferentes GPU que permitan ejecución de tareas en paralelo e incluirlas como coprocesadores en una tarea de diseño digital. Para tal fin se realizaron dos tareas principales: comparación de desempeño de tres GPUs mediante benchmark y una implementación de software paralelo y ejecución del mismo en GPU dentro de un proceso de diseño digital. En la comparación de desempeño de las GPU, se utiliza un benchmark llamado SHOC el cual permite realizar una serie de pruebas de manera iterativa sobre las tarjetas seleccionadas. Para la implementación en el proceso de diseño digital se seleccionó una parte del proceso conocida como Verificación funcional de hardware en el cual se implementaron diferentes combinaciones de ejecución de código tanto en CPU y GPU. La verificación funcional de hardware por simulación es un factor determinante en los tiempos de ejecución en el proceso de diseño digital. La verificación funcional se realiza aplicando estímulos o vectores de prueba al dispositivo bajo verificación (DUV) que generalmente es un sistema escrito en HDL y a un modelo de referencia que hace la misma tarea, pero que se codifica en un lenguaje de alto nivel de programación. Se crea un entorno de verificación funcional de hardware por simulación compuesto por:  Un generador de estímulos aleatorios (C++)  Un hardware a verificar que para este trabajo está escrito en Verilog. Este hardware es un sumador de 8 bits.  Dos modelos de referencia o Golden Model escritos uno en C++ y otro en CUDA pero que cumplen con la misma función dispositivo bajo verificación  Dos comparadores escritos uno en C++ y otro en CUDA con el fin de comparar los desempeños de CPU y GPU al cumplir con la misma tarea. Las unidades NVIDIA analizadas son: NVIDIA® GeForce GT 520M, NVIDIA® Quadro 600 y NVIDIA® Tesla C2075 y lasCPUs analizadas Intel® Core i5, Intel® Xeon.Como principal resultado se tiene que la mejor aplicación del proceso de verificación se da cuando el modelo de referencia está escrito en CUDA C y el comparador en C ++. Los tiempos de ejecución del proceso de verificación para la configuración mencionada son: 0,05 [s], 0,0308 [s] y 0,0270 [s] para GeForce, Quadro y Tesla, respectivamente, frente a 1,3 [s] y 1,17 [s] de Intel® Core i5 y del Intel® Xeon.Processor respectivamente.
publishDate 2015
dc.date.issued.spa.fl_str_mv 2015
dc.date.accessioned.spa.fl_str_mv 2019-07-02T11:59:07Z
dc.date.available.spa.fl_str_mv 2019-07-02T11:59:07Z
dc.type.spa.fl_str_mv Trabajo de grado - Maestría
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/masterThesis
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/acceptedVersion
dc.type.content.spa.fl_str_mv Text
dc.type.redcol.spa.fl_str_mv http://purl.org/redcol/resource_type/TM
status_str acceptedVersion
dc.identifier.uri.none.fl_str_mv https://repositorio.unal.edu.co/handle/unal/56614
dc.identifier.eprints.spa.fl_str_mv http://bdigital.unal.edu.co/52460/
url https://repositorio.unal.edu.co/handle/unal/56614
http://bdigital.unal.edu.co/52460/
dc.language.iso.spa.fl_str_mv spa
language spa
dc.relation.ispartof.spa.fl_str_mv Universidad Nacional de Colombia Sede Bogotá Facultad de Ingeniería Departamento de Ingeniería Eléctrica y Electrónica
Departamento de Ingeniería Eléctrica y Electrónica
dc.relation.references.spa.fl_str_mv Avila Garzón, Yerman Jahir (2015) Comparación y análisis de desempeño de unidades de procesamiento gráfico como alternativa de computación paralela para procesos de simulación en ingeniería. Maestría thesis, Universidad Nacional de Colombia - Sede Bogotá.
dc.rights.spa.fl_str_mv Derechos reservados - Universidad Nacional de Colombia
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.license.spa.fl_str_mv Atribución-NoComercial 4.0 Internacional
dc.rights.uri.spa.fl_str_mv http://creativecommons.org/licenses/by-nc/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv Atribución-NoComercial 4.0 Internacional
Derechos reservados - Universidad Nacional de Colombia
http://creativecommons.org/licenses/by-nc/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.mimetype.spa.fl_str_mv application/pdf
institution Universidad Nacional de Colombia
bitstream.url.fl_str_mv https://repositorio.unal.edu.co/bitstream/unal/56614/1/Software.1052387518.2016.zip
https://repositorio.unal.edu.co/bitstream/unal/56614/2/1052387518.2016.pdf
https://repositorio.unal.edu.co/bitstream/unal/56614/3/1052387518.2016.pdf.jpg
bitstream.checksum.fl_str_mv fc423e4b995dfdac2909ff707636ab57
13fa65882ce11844173eccea04bba7e2
7587e2d1d567f6feb20a9c0627c1c9ae
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad Nacional de Colombia
repository.mail.fl_str_mv repositorio_nal@unal.edu.co
_version_ 1806885964135530496
spelling Atribución-NoComercial 4.0 InternacionalDerechos reservados - Universidad Nacional de Colombiahttp://creativecommons.org/licenses/by-nc/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Eslava Garzón, Johan SebastianAvila Garzón, Yerman Jahir3ed6d5fb-8ec3-4dde-8d7e-4593536c1d543002019-07-02T11:59:07Z2019-07-02T11:59:07Z2015https://repositorio.unal.edu.co/handle/unal/56614http://bdigital.unal.edu.co/52460/La computación de propósito general en las unidades de procesamiento gráfico GPU es una área de en continuo crecimiento. Las arquitecturas actuales de las GPU permiten la optimización, a través de diferentes lenguajes de programación (p. ej. CUDA C, CUDA Fortran, OpenCL, entre otros) aplicaciones existentes o crear nuevas aplicaciones que permitan aprovechar el paralelismo natural de GPU. Se busca mejorar el tiempo de ejecución algoritmos complejos, un mejor uso de los recursos computacionales y mayor acceso a plataformas de computación de alto rendimiento. A través del uso de GPUs como procesadores SIMD (Single Instruction Multiple Data) se buscan mejoras en la metodología de diseño, modelo y proceso de simulación. Se busca comparar diferentes GPU que permitan ejecución de tareas en paralelo e incluirlas como coprocesadores en una tarea de diseño digital. Para tal fin se realizaron dos tareas principales: comparación de desempeño de tres GPUs mediante benchmark y una implementación de software paralelo y ejecución del mismo en GPU dentro de un proceso de diseño digital. En la comparación de desempeño de las GPU, se utiliza un benchmark llamado SHOC el cual permite realizar una serie de pruebas de manera iterativa sobre las tarjetas seleccionadas. Para la implementación en el proceso de diseño digital se seleccionó una parte del proceso conocida como Verificación funcional de hardware en el cual se implementaron diferentes combinaciones de ejecución de código tanto en CPU y GPU. La verificación funcional de hardware por simulación es un factor determinante en los tiempos de ejecución en el proceso de diseño digital. La verificación funcional se realiza aplicando estímulos o vectores de prueba al dispositivo bajo verificación (DUV) que generalmente es un sistema escrito en HDL y a un modelo de referencia que hace la misma tarea, pero que se codifica en un lenguaje de alto nivel de programación. Se crea un entorno de verificación funcional de hardware por simulación compuesto por:  Un generador de estímulos aleatorios (C++)  Un hardware a verificar que para este trabajo está escrito en Verilog. Este hardware es un sumador de 8 bits.  Dos modelos de referencia o Golden Model escritos uno en C++ y otro en CUDA pero que cumplen con la misma función dispositivo bajo verificación  Dos comparadores escritos uno en C++ y otro en CUDA con el fin de comparar los desempeños de CPU y GPU al cumplir con la misma tarea. Las unidades NVIDIA analizadas son: NVIDIA® GeForce GT 520M, NVIDIA® Quadro 600 y NVIDIA® Tesla C2075 y lasCPUs analizadas Intel® Core i5, Intel® Xeon.Como principal resultado se tiene que la mejor aplicación del proceso de verificación se da cuando el modelo de referencia está escrito en CUDA C y el comparador en C ++. Los tiempos de ejecución del proceso de verificación para la configuración mencionada son: 0,05 [s], 0,0308 [s] y 0,0270 [s] para GeForce, Quadro y Tesla, respectivamente, frente a 1,3 [s] y 1,17 [s] de Intel® Core i5 y del Intel® Xeon.Processor respectivamente.Abstract. General Purpose Computing on graphics processing units is a wide area which is continually growing up. The actual architectures of GPU let the optimization, through many different programing languages (e.g. CUDA C, CUDA Fortran, OpenCL, among others), previous applications or made new ones that allow take an advantage of the native parallelism of GPU. It seeks to improve execution time of complex algorithm, better use of computational resources and bigger Access to platforms of high performance computing. Through the use of GPUs as SIMD (Single Instruction Multiple data) processors it has sought improvements in methodology of design, model and simulation process. This work looks for a comparison of different GPUs that allow the parallel execution and include them as co-processors in a task of the process of digital electronics design.. Two principal tasks were developed: a comparison of the performance for tree GPUs by the use of a benchmark and a hybrid implementation of task in CPU-GPU In the comparison of performance in the GPUs, a benchmark called SHOC is used. This benchmark allows doing various iterative tests on chosen GPUs. A part of the digital design process was chosen for the implementation, this part is known as Functional Verification of Hardware. In this part of the process different combinations of execution on GPU or CPU were implemented. Functional verification of Hardware by simulation is a determinant in the execution times in the process of digital design. Functional verification is done applying stimuli or vector test to the device under verification (DUV) that generally is a system in HDL and pass it to a golden model that do the same task but this model is coded on a high level language of programming. The parts of an environment of functional verification of hardware by simulation are:  A random stimuli generator (C++)A Verilog module as a hardware for verification. In this case an 8 bit adder.  Two golden models: first in C++ and the other in CUDA. Both of them have the same function.  Two comparators: first in C++ and the other in CUDA. Two comparators because the performance of CPU vs. GPU need to be tested. NVIDIA GPU for the test: GeForce GT 520M, Quadro 600 and Tesla C2075; CPU for compare Intel® Core i5 e Intel® Xeon Processor. Principal results are: better implementation of verification process when the reference model is coded in CUDA C and the comparator is coded in C++. Results: 0.05 [s], 0,0308 [s] y 0.0270 [s] for GeForce, Quadro y Tesla respectively in front of 1.3 [s] of the Intel® Core i5 and 1.17[s] of the Intel® Xeon Processor.Maestríaapplication/pdfspaUniversidad Nacional de Colombia Sede Bogotá Facultad de Ingeniería Departamento de Ingeniería Eléctrica y ElectrónicaDepartamento de Ingeniería Eléctrica y ElectrónicaAvila Garzón, Yerman Jahir (2015) Comparación y análisis de desempeño de unidades de procesamiento gráfico como alternativa de computación paralela para procesos de simulación en ingeniería. Maestría thesis, Universidad Nacional de Colombia - Sede Bogotá.0 Generalidades / Computer science, information and general works62 Ingeniería y operaciones afines / EngineeringComputación GPUComputación paralelaCUDADiseño digitalHDLNVIDIASimulaciónVerificación funcionalGPUVerificaciónDigital DesignGPU ComputingParallel computingFunctional VerificationComparación y análisis de desempeño de unidades de procesamiento gráfico como alternativa de computación paralela para procesos de simulación en ingenieríaTrabajo de grado - Maestríainfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/acceptedVersionTexthttp://purl.org/redcol/resource_type/TMORIGINALSoftware.1052387518.2016.zipapplication/octet-stream23092https://repositorio.unal.edu.co/bitstream/unal/56614/1/Software.1052387518.2016.zipfc423e4b995dfdac2909ff707636ab57MD511052387518.2016.pdfapplication/pdf3143760https://repositorio.unal.edu.co/bitstream/unal/56614/2/1052387518.2016.pdf13fa65882ce11844173eccea04bba7e2MD52THUMBNAIL1052387518.2016.pdf.jpg1052387518.2016.pdf.jpgGenerated Thumbnailimage/jpeg5202https://repositorio.unal.edu.co/bitstream/unal/56614/3/1052387518.2016.pdf.jpg7587e2d1d567f6feb20a9c0627c1c9aeMD53unal/56614oai:repositorio.unal.edu.co:unal/566142024-03-23 23:09:03.283Repositorio Institucional Universidad Nacional de Colombiarepositorio_nal@unal.edu.co