Programación de GPU para procesamiento Paralelo en Tarjeta de Video NVIDIA

Resúmen: 

Los procesadores especializados de gráficos han evolucionado de manera sorprendente en nuestros días, en comparación a sus congéneres CPU. Uno los procesadores especializados para gráficos, La unidad de procesamiento gráfico (GPU: por sus siglas en ingles) vino a recoger la atención no sólo de los programadores de aplicaciones gráficas, sino también de los programadores de las aplicaciones de proposito general, donde es posible explotar la gran capacidad informática de este tipo de material en la resolución de problemas. En esta platica, pretendo ofrecer una visión introductoria sobre la manera de programar estos dispositivos, explorando las potencialidades e indicando las dificultades existentes, los lenguajes mas comunes utilizados para su programación son CUDA y CTM, interfaz de aplicaciones muy específicos de NVIDIA y ATI respectivamente .

Agenda: 
  • 1.- Que es un GPU
  • 2.- Procesamiento paralelo en tarjetas de video NVIDIA
  • 3.- Principales herramientas de programación
  • 4.- Modelo grafico de procesamiento GPU de NVIDIA
  • 5.- Modelo cuda de procesamiento GPU de NVIDIA
Metas: 

Mostrar la importancia de las actuales tarjetas de video NVIDIA
Mostrar el proceso de modelado grafico de un GPU
Mostrar ejemplos de porgramación cuda usando GPU's

Recursos: 

[NVI07]Página del fabricante NVIDIA:
http://developer.download.nvidia.com/compute/cuda/1_0/
NVIDIA_CUDA_Programming_Guide_1.0.pdf

[ATI07]Página del fabricante ATI:
http://ati.amd.com/companyinfo/researcher/documents/ATI_CTM_Guid
e.pdf

[GPU08]Proyecto general porpouse gpu:gpu http://www.gpgpu.org

[CSC07]Proyectos ATI:
http://ati.amd.com/developer/siggraph06/dpvm_sketch_siggraph.pdf

[LAT07] Lattice QCD as a video game,
Gyozo I. Egri a , Zolton Fodor abc , Christian Hoelbling,Institute for Theoretical Physics