Detalle del libro
Ver Í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 B'asico
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 B'asico
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 objetivo general de esta obra es ser capaz de crear y modificar piezas del programa de dibujo informático Autocad en 3D, conociendo los ficheros en tres dimensiones y las herramientas de trabajo más potentes y actuales en los procesos de diseño, una vez que ya se disponen nociones básicas de modelado en 2D.
Contenidos formativos:
1. Objetos en 3d
2. Mallas y superficies
3. Sistema de coordenadas
4. Vistas en 3d
5. Ventanas múltiples
6. Impresión del dibujo
7. Sólidos
8. Trabajando con sólidos
9. Cortar y seccionar
10. Modificación de caras
11. Modelizado de objetos
12. Materiales y escenas
13. Fondos y paisajes