Saltar al contenido principal
Programacion de Gpus Usando Compute Unified Device Architecture (Cuda)

Programacion de Gpus Usando Compute Unified Device Architecture (Cuda)

Garcia / Orts / Cecilia / Garcia

El gran aumento en el rendimiento del hardware gráfico, junto con mejoras recientes en su programabilidad, han hecho de dicho hardware un referente como plataforma para las tareas de cómputo exigentes en una gran variedad de dominios de uso. Los últimos años ha crecido el interés en los conocidos colectivamente como GPGPU (Unidades de procesamiento gráfico de propósito general)...

Editorial:
Rama, Editorial
Año de edición:
2020
Materia:
Informatica
ISBN:
978-84-9964-855-2
Páginas:
172
Encuadernación:
Otros
Colección:
SIN COLECCION
19,13 €
Añadir a favoritos Consulta disponibilidad

Sinopsis

El gran aumento en el rendimiento del hardware gráfico, junto con mejoras recientes en su programabilidad, han hecho de dicho hardware un referente como plataforma para las tareas de cómputo exigentes en una gran variedad de dominios de uso. Los últimos años ha crecido el interés en los conocidos colectivamente como GPGPU (Unidades de procesamiento gráfico de propósito general).
La formación de especialistas en el uso de GPUs (Unidades de Procesamiento Gráfico) es importante no sólo para la aceleración de juegos por ordenador y aplicaciones multimedia; sino para la aceleración de aplicaciones científicas de todo tipo (inteligencia y visión artificial, robótica, medicina, física, química, matemáticas, biología, computación gráfica y muchos otros.
El objetivo de este libro es iniciar a la programación de GPUs dando una visión general de los principales conceptos, pero también de aspectos avanzados y aplicaciones científicas.

Índice

Índice general
Resumen I
Prólogo III
Agradecimientos V
1. El Nacimiento del Paradigma GPGPU 1
1.1. Hacia la Unidad de Procesamiento Gráfico
1.1.1. El Pipeline Gráfico de Función Fija
1.1.2. La Unidad de Procesamiento Gráfico
1.1.3. La Llegada de los Gráficos Programables
1.2. Primeros Pasos en Computaci´on sobre GPUs
1.3. Evolución y Estancamiento de las CPUs
1.4. El Ascenso de la Computaci´on sobre GPUs
2. Introducción a CUDA
2.1. Arquitectura Hardware
2.1.1. Situación Física e Interconexión .
2.1.2. Single Instruction Multiple Threads (SIMT)
2.1.3. Streaming Multiprocessors (SMs)
2.2. Arquitectura Software
2.2.1. Capas .
2.2.2. Compilación (NVCC y PTX)
2.2.3. Conceptos básicos
2.2.4. Flujo de Ejecución
2.3. Evolución Generacional
2.3.1. Microarquitecturas
2.3.2. CUDA Toolkit
2.3.3. NVIDIA-SMI
2.3.4. Device Query
2.3.5. CUDA Compute Capability
3. Modelo de Procesamiento
3.1. Lanzamiento de Kernels
3.2. Mallas, Bloques, Hilos, Warps y Lanes
3.3. Limitaciones de Memoria
3.4. Limitaciones de Tiempo
3.5. Escalabilidad Transparente y Planificación
3.6. Métodos de Sincronización
3.7. Control de flujo
4. Memorias CUDA
4.1. Jerarquías de Memorias
4.2. Memoria en el Host (CPU)
4.2.1. Pinned memory
4.3. Memoria en el Device (GPU)
4.3.1. Memoria Global
4.3.2. Cantidad de Memoria Global Disponible
4.3.3. Transferencia de Datos de Memoria CPU a GPU
4.3.4. Reserva Estática de Memoria Global
4.3.5. Memoria Local
4.3.6. Registros
4.3.7. Memoria de Constantes
4.3.8. Memoria de texturas
4.3.9. Memoria compartida
4.3.10. Ejemplo de Convolución 1D con Memoria Compartida
4.4. Consideraciones de Rendimiento
4.5. Exprimiendo el Ancho de Banda de la Memoria Global
5. Patrones Paralelos
5.1. Reducción de un vector
5.1.1. Implementación CPU
5.1.2. Implementación GPU Basico
5.1.3. Optimización con Acceso Coalescente
5.1.4. Optimización con Memoria Compartida
5.2. Histograma
5.2.1. Implementación CPU
5.2.2. Implementación GPU Basico
5.2.3. Implementación para un Tamaño Arbitrario
5.2.4. Implementación con Histograma Privatizado
5.3. Scan
5.3.1. Implementación CPU
5.3.2. Scan de Hillis-Steele
5.3.3. Scan de Blelloch
6. Aspectos Avanzados
6.1. CUDA Streams y uso de múltiples GPUs
6.2. Medición de Tiempos y Eventos
6.3. Paralelismo Dinámico (CUDA 5.0)
6.4. Memoria Unificada (CUDA 6.0)
6.5. Precisión Mixta (CUDA 8.0)
6.6. Primitivas de Warps (CUDA 9.0)
6.7. Interoperabilidad con OpenGL
7. Estrategias de Paralelización para el Algoritmo de la Colonia
de Hormigas en la GPU
7.1. Ant Colony Optimization para el Travelling Salesman Problem
7.2. Estrategias de paralelización
7.2.1. Construcción de los caminos (Tour construction)
7.2.2. Actualización de feromonas
7.2.3. Fusión de las fases principales
7.3. Experimentos
7.3.1. Hardware
7.3.2. Conjuntos de datos y configuración del algoritmo
7.3.3. Evaluación de la etapa de construcción de los caminos
7.3.4. Evaluación de Actualización de Feromonas
7.3.5. Comparación Global de ACO
7.4. Conclusiones y Trabajo Futuro
8. rCUDA (remote CUDA)
8.1. ¿Por qué rCUDA?
8.2. ¿Qué es rCUDA?
8.3. Otras soluciones similares a rCUDA
8.4. ¿Còmo funciona rCUDA?
8.4.1. Configuración del servidor de licencias de rCUDA
8.4.2. Configuración del servidor rCUDA
8.4.3. Configuración del cliente rCUDA
8.5. Beneficios proporcionados por rCUDA
A. Cuestiones
Bibliografía

Artículos relacionados

Esto no Es Inteligencia

Esto no Es Inteligencia

Floridi,Luciano

La inteligencia artificial no piensa, no es inteligente: actúa. Comprender esta diferencia fundamental es la clave para afrontar con conciencia los desafíos de una tecnología que está transformando nuestro presente y nuestras vidas, y para imaginar el futuro de nuestras sociedades. Esta es la tesis que defiende Luciano Floridi, uno de los principales filósofos contemporáneos y...

23,94 €

Lo que Preguntamos a Google

Lo que Preguntamos a Google

Rogers, Simon

¿Alguna vez te has preguntado qué pasa por la mente de otras personas, como preguntas absurdas, inquietudes muy íntimas, esperanzas y sueños?En 'Lo que preguntamos a Google', Simon Rogers analiza las conclusiones extraídas del mayor conjunto de datos del mundo. Es una instantánea épica de nuestro cerebro colectivo con dos décadas de historia que sigue creciendo. Lo que revela s...

23,99 €

El Reto de Ser Humanos

El Reto de Ser Humanos

Bona García, César

"Nunca habíamos vivido una revolución tecnológica tan acelerada y, sin embargo, el gran desafío de nuestro tiempo no está en las máquinas, está en nosotros. Mientras la inteligencia artificial avanza, corremos el riesgo de perder aquello que nos hace únicos: la capacidad de prestar atención, pensar con criterio, crear, comunicarnos, convivir y liderar nuestras propias vidas. ...

22,02 €

Tsunami

Tsunami

Vázquez, Pablo

En los últimos años, más de 10.000 personas han pasado por los cursos de inteligencia artificial de Pablo Vázquez. Personas con perfiles muy diversos, e inquietudes muy similares: «No sé por dónde empezar». «No sé si mi trabajo está en riesgo». «Sé que debería estar haciendo algo, pero no sé el qué». «Tengo hijos, equipo, familia debería poder orientarlos, y no puedo». Es norma...

21,06 €

Generacion Ia

Generacion Ia

Lazaro Avila, Maria

Al debate sobre cómo, cuándo y por qué dar acceso (o no) a niños y adolescentes a las pantallas, móviles y redes sociales, se añade ahora otro ingrediente digital: la inteligencia artificial. En realidad, la IA no es un fenómeno nuevo: llevamos conviviendo con ella desde hace años, muchas veces de forma invisible. Ahora, la «democratización» de aplicaciones y herrami...

22,07 €

Level Up! Guia para Ser un Gran Diseñador de Videojuegos

Level Up! Guia para Ser un Gran Diseñador de Videojuegos

Rogers, Scott

¿Quieres aprender a diseñar lo último en videojuegos? ¿Necesitas consejos para mejorar el diseño de tu juego? ¡Prepárate para subir de nivel con Level Up! Scott Rogers, el diseñador de videojuegos de éxito como Pac-Man World TM, God of War TM, y las series de Maximo y de Bob Esponja, comparte con nosotros el conocimiento y la experiencia que ha acumulado durante años sobre cómo...

43,27 €