PROGRAMACION DE GPUS USANDO COMPUTE UNIFIED DEVICE ARCHITECTURE (CUDA)

Disponibilidad:

  • Casa del lectorDisponible apróx. en 10 días
  • Libro Técnico SurDisponible apróx. en 10 días

PROGRAMACION DE GPUS USANDO COMPUTE UNIFIED DEVICE ARCHITECTURE (CUDA)

GARCIA / ORTS / CECILIA / GARCIA

19,13 €

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... Leer más

19,13 €
Editorial:
RAMA, EDITORIAL
Año de edición:
2020
Materia
Programacion
ISBN:
978-84-9964-855-2
Páginas:
172
Encuadernación:
Otros
Colección:
SIN COLECCION

Í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

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.

Artículos relacionados

  • REACT. CURSO PRÁCTICO
    AGUIRRE, SANTIAGO
    React es una herramienta considerada, por o GitHub y Stack Overflow. React es una librería poderosa que permite a los desarrolladores trabajar con versatilidad y flexibilidad. A pesar de no ser un framework completo sino una librería, resulta una herramienta a la altura de cualquier entorno para el desarrollo de interfaces de usuario dentro de JavaScript. En esta obra aprende...

    23,94 €

  • PHP AVANZADO. EDICIÓN 2023
    AGUIRRE, SANTIAGO
    PHP es uno de los lenguajes más conocidos en el mundo del desarrollo orientado a la Web. Creado como un lenguaje del lado del servidor para programar sitios dinámicos las distintas mejoras que obtuvo, lo popularizaron en el mundo entero le dieron una inmensa difusión y generaron una enorme comunidad que lo utiliza. En esta obra aprenderás todos los aspectos avanzados del desar...

    28,75 €

  • CURSO INTENSIVO DE PYTHON. INTRODUCCION PRACTICA A LA PROGRAMACION BASADA EN PROYECTOS
    MATTHES, ERIC
    Este superventas mundial es una guía al lenguaje de programación Python. Gracias a esta trepidante y completa introducción a Python, no tardará en empezar a escribir programas, resolver problemas y desarrollar aplicaciones que funcionen.Esta tercera edición actualizada se ha revisado en profundidad con el fin de reflejar las últimas novedades en Python. Se incluye la incorporac...

    50,48 €

  • JAVASCRIPT ELOCUENTE. UNA INTRODUCCION MODERNA A LA PROGRAMACION
    HAVERBEKE, MARIJN
    Con este libro tiene la posibilidad de aprender JavaScript de manera efectiva y clara. Esta obra está repleta de explicaciones estupendas sobre conceptos de programación y cómo se aplican en JavaScript. Para ayudar a la comprensión, las explicaciones teóricas se ilustran con ejemplos prácticos muy interesantes, de mayor o menor complejidad en función del tema. Así, veremos desd...

    40,34 €