Escudo de la República de Colombia
Sistema Nacional de Biliotecas - Repositorio Institucional Universidad Nacional de Colombia Biblioteca Digital - Repositorio Institucional UN Sistema Nacional de Bibliotecas UN

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

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á.

Texto completo

[img]
Vista previa
PDF - Versión Aceptada
Available under License Creative Commons Attribution Non-commercial No Derivatives.

3MB
[img] Archivo (ZIP) - Versión Aceptada
Available under License Creative Commons Attribution Non-commercial No Derivatives.

23kB

Resumen

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.

Tipo de documento:Tesis/trabajos de grado - Thesis (Maestría)
Colaborador / Asesor:Eslava Garzón, Johan Sebastian
Información adicional:Magister en Ingeniería – Automatización Industrial. Línea de Investigación: Arquitectura de Computadores y Computación Paralela, Electrónica Digital, Optimización
Palabras clave: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
Temática:0 Generalidades / Computer science, information & general works
6 Tecnología (ciencias aplicadas) / Technology > 62 Ingeniería y operaciones afines / Engineering
Unidad administrativa:Sede Bogotá > Facultad de Ingeniería > Departamento de Ingeniería Eléctrica y Electrónica
Código ID:52460
Enviado por : Sr Yerman Jahir Avila Garzón
Enviado el día :08 Junio 2016 16:55
Ultima modificación:08 Junio 2016 16:55
Ultima modificación:08 Junio 2016 16:55
Exportar:Clic aquí
Estadísticas:Clic aquí
Compartir:

Solamente administradores del repositorio: página de control del ítem

Vicerrectoría de Investigación: Número uno en investigación
Indexado por:
Indexado por Scholar Google WorldCat DRIVER Metabiblioteca OAIster BASE BDCOL Registry of Open Access Repositories SNAAC Red de repositorios latinoamericanos eprints Open archives La referencia Tesis latinoamericanas OpenDOAR CLACSO
Este sitio web se ve mejor en Firefox