Mejoramiento del tiempo de ejecución de un núcleo Lattice-Boltzmann utilizando la arquitectura NVIDIA G80

Improving the execution time of a lattice-boltzmann kernel using the NVIDIA G80 architecture

Autores/as

  • Snaider Jose Carrillo Lindado Universidad del Norte
  • Jakob Siegel University of Applied Science (Essligen - Germany)
  • Xiaoming Li University of Delaware (Newark - USA).

Descargas

Resumen (es)

Las sentencias de control utilizadas en el entorno de programación de las tarjetas gráficas de video (GPUs), tales como sentencias condicionales e iterativas, presentan problemas de concurrencia al momentos de ser ejecutadas debido a que tienden a minimizar el nivel de ocupación, el cual es una medida que nos permite establecer el número de procesos que se están ejecutando de forma concurrente en las GPUs. A diferencia de las unidades de procesamiento de datos tradicionales presentes en un microprocesador de propósito general, una GPU no puede ceder el control de flujo de datos a la CPU debido a que actualmente no existe un mecanismo que permita dicho control de flujo sin comprometer la integridad de los datos procesados en dichas arquitecturas.

En este artículo se proponen y evalúan dos nuevas técnicas de optimización a nivel de instrucciones enfocadas a hacer un mejor uso de los recursos de tipo hardware de las GPUs, en la arquitectura NV-DIA G80. Estás técnicas llamadas Loop splitting and branch splitting incrementan de forma controlada la redundancia de código, lo cual puede ser considerado como "no óptimo" en una arquitectura convencional como la CPU; sin embargo en la arquitectura multiprocesador NVIDIA G80 dicha redundancia se ve reflejada en el incremento de la ocupación de sus multiprocesadores y en un aumento del paralelismo de los programas ejecutados en este tipo de arquitectura. Los resultados obtenidos a partir del banco de pruebas, basados en el algoritmo del método de Lattice Boltzmann (LBM), muestra que estas técnicas incrementan la ocupación y el paralelismo de la arquitectura NVIDIA G80 comparado con la ejecución de la versión non-splitting del mismo algoritmo.

Resumen (en)

Control statements such as loops and branches poseserious challenges for their efficient utilization onGraphic Processing Units (GPUs) as those controlstatements will lead to a serialization of threads andconsequently ruin the occupancy and parallelism on GPUs. Unlike traditional central processingunits (CPUs), the GPU cannot leave the controlstatements to the CPU because fine-grain statementscheduling between GPU and CPU cannot begranted, as the GPU acts as a co-processing device.This paper analyzes the impact for using two leveltransformation techniques, namely loop/branchsplitting, which improves the register utilizationto manage the control statements on GPUs, inorder to implement the Lattice Boltzmann Method(LBM) benchmark application. Results executed inthe NVIDIA G80 architecture illustrate that thesetechniques are very efficient in term of parallelismand can lead to an increase in occupancy and adrastic improvement in performance, compared tonon-split version of the programs.

Biografía del autor/a

Snaider Jose Carrillo Lindado, Universidad del Norte

Ingeniero Electrónico. Miembro del Grupo de Robótica ySistemas Inteligentes de la Universidad del Norte. Bogotá.

Jakob Siegel, University of Applied Science (Essligen - Germany)

Software Engineer from the HS Essligen: University of Applied Science (Essligen - Germany). PhDCandidacy in Electrical and Computer Engineering at the University of Delaware (Newark - USA).

Xiaoming Li, University of Delaware (Newark - USA).

B.S. and M.E. in Computer Science from Nanjing University, Shanghai, China. Ph.D.in Computer Science from the University of Illinois at Urbana-Champaign, Urbana, USA. Assistant Professor in the Department of Electrical and Computer Engineering at the Universityof Delaware, Newark.

Cómo citar

APA

Carrillo Lindado, S. J., Siegel, J., y Li, X. (2009). Mejoramiento del tiempo de ejecución de un núcleo Lattice-Boltzmann utilizando la arquitectura NVIDIA G80. Tecnura, 13(25), 5–13. https://doi.org/10.14483/22487638.6665

ACM

[1]
Carrillo Lindado, S.J. et al. 2009. Mejoramiento del tiempo de ejecución de un núcleo Lattice-Boltzmann utilizando la arquitectura NVIDIA G80. Tecnura. 13, 25 (jul. 2009), 5–13. DOI:https://doi.org/10.14483/22487638.6665.

ACS

(1)
Carrillo Lindado, S. J.; Siegel, J.; Li, X. Mejoramiento del tiempo de ejecución de un núcleo Lattice-Boltzmann utilizando la arquitectura NVIDIA G80. Tecnura 2009, 13, 5-13.

ABNT

CARRILLO LINDADO, Snaider Jose; SIEGEL, Jakob; LI, Xiaoming. Mejoramiento del tiempo de ejecución de un núcleo Lattice-Boltzmann utilizando la arquitectura NVIDIA G80. Tecnura, [S. l.], v. 13, n. 25, p. 5–13, 2009. DOI: 10.14483/22487638.6665. Disponível em: https://revistas.udistrital.edu.co/index.php/Tecnura/article/view/6665. Acesso em: 24 abr. 2024.

Chicago

Carrillo Lindado, Snaider Jose, Jakob Siegel, y Xiaoming Li. 2009. «Mejoramiento del tiempo de ejecución de un núcleo Lattice-Boltzmann utilizando la arquitectura NVIDIA G80». Tecnura 13 (25):5-13. https://doi.org/10.14483/22487638.6665.

Harvard

Carrillo Lindado, S. J., Siegel, J. y Li, X. (2009) «Mejoramiento del tiempo de ejecución de un núcleo Lattice-Boltzmann utilizando la arquitectura NVIDIA G80», Tecnura, 13(25), pp. 5–13. doi: 10.14483/22487638.6665.

IEEE

[1]
S. J. Carrillo Lindado, J. Siegel, y X. Li, «Mejoramiento del tiempo de ejecución de un núcleo Lattice-Boltzmann utilizando la arquitectura NVIDIA G80», Tecnura, vol. 13, n.º 25, pp. 5–13, jul. 2009.

MLA

Carrillo Lindado, Snaider Jose, et al. «Mejoramiento del tiempo de ejecución de un núcleo Lattice-Boltzmann utilizando la arquitectura NVIDIA G80». Tecnura, vol. 13, n.º 25, julio de 2009, pp. 5-13, doi:10.14483/22487638.6665.

Turabian

Carrillo Lindado, Snaider Jose, Jakob Siegel, y Xiaoming Li. «Mejoramiento del tiempo de ejecución de un núcleo Lattice-Boltzmann utilizando la arquitectura NVIDIA G80». Tecnura 13, no. 25 (julio 1, 2009): 5–13. Accedido abril 24, 2024. https://revistas.udistrital.edu.co/index.php/Tecnura/article/view/6665.

Vancouver

1.
Carrillo Lindado SJ, Siegel J, Li X. Mejoramiento del tiempo de ejecución de un núcleo Lattice-Boltzmann utilizando la arquitectura NVIDIA G80. Tecnura [Internet]. 1 de julio de 2009 [citado 24 de abril de 2024];13(25):5-13. Disponible en: https://revistas.udistrital.edu.co/index.php/Tecnura/article/view/6665

Descargar cita

Visitas

97

Dimensions


PlumX


Descargas

Los datos de descargas todavía no están disponibles.
Loading...