Por favor, use este identificador para citar o enlazar este ítem:http://uvadoc.uva.es/handle/10324/33216
Título
Modelo de ejecución asíncrono para sistemas heterogéneos con OpenCL
Autor
Director o Tutor
Año del Documento
2018
Titulación
Grado en Ingeniería Informática
Resumo
La computación de alto rendimiento HPC está en auge en multitud de campos de la ciencia
como la simulación experimental, la meteorología, la inteligencia artificial, el Big Data o el minado de cripto-monedas. Utilizan algoritmos paralelos que se ejecutan en los grandes centros de computación, como los presentes en la lista TOP500 que contiene el top 500 de los mayores supercomputadores del mundo, actualizada mensualmente.
Estos centros de computación son enormemente heterogéneos, con multitud de arquitecturas, dispositivos, co-procesadores, plataformas y tecnologías diferentes. Conseguir aprovechar las capacidades de esos sistemas heterogéneos requiere de conocimiento experto en cada una de esas arquitecturas, además de conocer la configuración exacta del sistema sobre el que se ejecuta. De este modo, el auge de los dispositivos GPGPU (General-Purpose Graphics Processing Units) y sus cada vez mayores capacidades de cómputo han hecho que muchos de los grandes centros de computación utilicen estos dispositivos como principal fuente de potencia de cálculo.
OpenCL es un estándar que provee de una arquitectura y unos mecanismos de rogramación
comunes a diversos tipos de dispositivos, entre ellos GPUs. OpenCL proporciona una portabilidad de código, pero no tiene por qué proveer, en todos los casos, portabilidad de rendimiento, como en el caso de las GPUs de NVIDIA.
Controllers es una librería creada por el Grupo de Investigación Trasgo del Departamento de
Informática de la Universidad de Valladolid que ofrece portabilidad de código y portabilidad de
rendimiento sobre diferentes tipos de dispositivos (multi-core CPUs, co-procesadores Intel Xeon-Phi, GPUs de NVIDIA). Sin embargo, para sistemas heterogéneos basados en GPUs tiene una portabilidad muy limitada, al no admitir más arquitecturas que las GPUs de NVIDIA.
Este trabajo implementa soporte para OpenCL a la librería de Controllers, mejorando su portabilidad de código y su portabilidad de rendimiento, para GPUs de distintas arquitecturas, equiparándose al rendimiento de las tecnologías nativas de las mismas. Además revisa el modelo de ejecución asíncrono que permite el solapamiento de tareas en este tipo de dispositivos, y lo actualiza con una nueva propuesta que mejora el solapamiento conseguido por la librería, aumentando su rendimiento en todo tipo de GPUs.
Palabras Clave
OpenCL
Sistemas heterogéneos
GPUs
Idioma
spa
Derechos
openAccess
Aparece en las colecciones
- Trabajos Fin de Grado UVa [30764]
Arquivos deste item
