Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
TEMA: División de Memoria, Programación Multidimensional. ING. ROQUE PIZANGO TAPULLIMA División de Memoria Docente: Ing. Roque F. Pizango Tapullima División de Memoria Docente: Ing. Roque F. Pizango Tapullima División de Memoria • Memoria Global: Docente: Ing. Roque F. Pizango Tapullima División de Memoria • Memoria Registros: Docente: Ing. Roque F. Pizango Tapullima División de Memoria • Memoria Registros: Docente: Ing. Roque F. Pizango Tapullima División de Memoria • Memoria Local: Docente: Ing. Roque F. Pizango Tapullima División de Memoria • Memoria Compartida: Docente: Ing. Roque F. Pizango Tapullima División de Memoria • Memoria Compartida: Docente: Ing. Roque F. Pizango Tapullima Programación Multidimensional • Flujo de Datos: Docente: Ing. Roque F. Pizango Tapullima Programación Multidimensional • CPU dirige al GPU: Docente: Ing. Roque F. Pizango Tapullima CPU GPU Memoria GPUMemoria CPU Reservar memoria A A Programación Multidimensional • CPU dirige al GPU: Docente: Ing. Roque F. Pizango Tapullima CPU GPU Memoria GPUMemoria CPU Transferir algoritmo A A Programación Multidimensional • CPU dirige al GPU: Docente: Ing. Roque F. Pizango Tapullima CPU GPU Memoria GPUMemoria CPU Ejecutar algoritmo A A R Programación Multidimensional • CPU dirige al GPU: Docente: Ing. Roque F. Pizango Tapullima CPU GPU Memoria GPUMemoria CPU Leer la memoria R A A RR Programación Multidimensional • Dimensiones (Arquitectura Configurable): Docente: Ing. Roque F. Pizango Tapullima Programación Multidimensional • Organización bloques-thread (1D): Docente: Ing. Roque F. Pizango Tapullima 1 2 3 4 5 6 7 8 Valor del índice "X" Bloque/Workgroup Hilos/Workitems Datos de tipo Vector/Array Programación Multidimensional • Organización bloques-thread (2D): Docente: Ing. Roque F. Pizango Tapullima 11 12 13 14 5 6 7 821 22 23 24 31 32 33 34 41 42 43 44 Datos de tipo Matriz/Imágenes Valor del índice “x,y” Bloque/Workgroup Hilos/Workitems Programación Multidimensional • Organización grillas-bloques (1D): Docente: Ing. Roque F. Pizango Tapullima 87654321 Valor del índice “x” Grilla/Range Bloques/Workigroups Programación Multidimensional • Organización grillas-bloques (2D): Docente: Ing. Roque F. Pizango Tapullima 24232221 14131211 34333231 44434241 Valor del índice “x,y” Grilla/Range Bloque/Workgroup Programación Multidimensional • Organización grillas-bloques (3D): Docente: Ing. Roque F. Pizango Tapullima 24232221 14131211 34333231 44434241 24232221 14131211 34333231 44434241 124123122121 114113112111 134133132131 144143142141 Valor del índice “x,y,z” Grilla/RangeBloque/Workgroup Programación Multidimensional • Dimensiones: OpenCL / CUDA Docente: Ing. Roque F. Pizango Tapullima Programación Multidimensional • Dimensiones ejemplo: Cuantos threads hay? Docente: Ing. Roque F. Pizango Tapullima 124123122121 114113112111 134133132131 144143142141 24232221 14131211 34333231 44434241 24232221 14131211 34333231 44434241 124123122121 114113112111 134133132131 144143142141 DIM X 4 DIM Y 4 DIM Z 4 111 112 113 114 121 122 123 124 131 132 133 134 141 142 143 144 111 112 113 114 5 6 7 8121 122 123 124 131 132 133 134 141 142 143 144 111 112 113 114 5 6 7 8121 122 123 124 131 132 133 134 141 142 143 144 111 112 113 114 5 6 7 8121 122 123 124 131 132 133 134 141 142 143 144 DIM X 4 DIM Y 4 DIM Z 4 Programación Multidimensional • Dimensiones ejemplo: Cuantos thread hay? Si cada dimensión tiene 4… Docente: Ing. Roque F. Pizango Tapullima Programación Multidimensional • Dimensiones ejemplo: Nobody (dim = 1) Docente: Ing. Roque F. Pizango Tapullima CONSULTAS: roquer.pizango@unapiquitos.edu.pe Docente: Ing. Roque F. Pizango Tapullima Google DriveGmail Hangouts Google Meet
Compartir