Kepler. Contenidos de la charla. Kepler, Johannes ( ) 1. Presentación de la arquitectura

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Kepler. Contenidos de la charla. Kepler, Johannes ( ) 1. Presentación de la arquitectura"

Transcripción

1 Kepler RIO 2014 Río Cuarto, 20 de Febrero, 2014 Manuel Ujaldón Martínez Dpto. Arquitectura de Computadores. Univ. Málaga. NVIDIA CUDA Fellow. Contenidos de la charla 1. Presentación de la arquitectura [7 diapositivas] 2. La memoria y el transporte de datos [9] 3. Los cores SMX [9] 4. Desplegando todo el paralelismo en Kepler [12] 5. Mejoras funcionales [7] 1. Paralelismo dinámico. 2. Hyper-Q. 6. Optimizaciones futuras [] 1. Vectorización: El tamaño del warp. 2. Stacked-DRAM: Memoria apilada sobre el procesador Presentación de la arquitectura Kepler, Johannes ( ) Autor de las leyes del movimiento planetario. Primera ley: Las órbitas de los planetas son planas. El sol está en el plano de la órbita. La trayectoria del planeta respecto del sol es una elipse en la que el sol ocupa uno de los fotos. Segunda ley: El radio vector que une al sol y el planeta barre áreas iguales en tiempos iguales. Un planeta se mueve más rápidamente en su perihelio que en su afelio, y mientras más excéntrica sea su órbita, mayor será la diferencia de velocidad entre sus extremos. Tercera ley: Los cuadrados de los períodos de revolución en torno al sol son proporcionales a los cubos de los semiejes mayores de las órbitas. La velocidad media con que un planeta recorre su órbita disminuye a medida que el planeta está más lejos del sol. La influencia que el sol ejerce sobre los planetas disminuye con la distancia. 4

2 Nuestra Kepler también tiene tres leyes Y tres innovaciones principales SMX: Un multiprocesador con más recursos y menos consumo. Consumo Rendimiento Paralelismo dinámico: La GPU es más autónoma, puede lanzar kernels CUDA. Programabilidad Hyper-Q: Múltiples kernels pueden compartir los SMX. 5 6 Resumen de sus rasgos más sobresalientes Fabricación: 7100 Mt. integrados a 28 nm. por TSMC. Arquitectura: Entre 7 y 15 multiprocesadores SMX, dotados de 192 cores cada uno. Modelos más populares: K20 (con 13 SMX), K20X (14), K40 (15). Aritmética: Más de 1 TeraFLOP en punto flotante de doble precisión (formato IEEE-754 de 64 bits). Los valores concretos dependen de la frecuencia de cada modelo. Con sólo 10 racks de servidores, podemos alcanzar 1 PetaFLOP. Principales innovaciones en el diseño de los cores: Paralelismo dinámico. Planificación de hilos (Hyper-Q). Modelos comerciales de Kepler: GeForce y Tesla frente a frente GeForce GTX Titan Diseñada para jugar: El precio es prioritario (<500 ). Gran disponibilidad/popularidad. Poca memoria de vídeo (1-2 GB.). Relojes un poco más rápidos. Hyper-Q sólo para streams CUDA. Perfecta para desarrollar código que luego pueda disfrutar Tesla. Orientada a HPC: Fiabilidad (tres años de garantía). Pensada para conectar en clusters. Más memoria de vídeo (6-12 GB.). Ejecución sin descanso (24/7). Hyper-Q para procesos MPI. GPUDirect (RDMA) y otras coberturas para clusters de GPUs. 7 8

3 Kepler GK110: Disposición física de las UFs para la Tesla K40 dotada de 15 SMXs El multiprocesador SMX Planificación y emisión de instrucciones en warps Front-end Ejecución de instrucciones. 512 unidades funcionales: para aritmética entera para aritmética s.p para aritmética d.p para carga/almacen para SFUs (log,sqrt, ) Back-end Acceso a memoria Interfaz 9 10 La memoria en las Teslas: Fermi vs. Kepler 2. La memoria y el transporte de datos Tarjeta gráfica Tesla M2075 M2090 K20 K20X K40 Registros de 32 bits / multiprocesador Tamaño caché L1 + mem. compartida Anchura de los 32 bancos de m.c. Frecuencia de SRAM (la de la GPU) Ancho de banda L1 y mem. compartida Tamaño de la caché L2 Ancho de banda L2 (bytes por ciclo) L2 en ops. atómicas (dir. compartida) L2 en ops. atómicas (dirs. separadas) Anchura del bus de memoria DRAM Frecuencia de la memoria (MHz) Ancho de banda DRAM (no ECC) Tamaño DRAM (todas GDDR5) Bus externo de conexión con la CPU KB. 64 KB. 64 KB. 64 KB. 64 KB. 32 bits 32 bits 64 bits 64 bits 64 bits 575 MHz 650 MHz 706 MHz 732 MHz 745, 810, GB/s GB/s GB/s GB/s GB/s. 768 KB. 768 KB MB. 1.5 MB. 1.5 MB /9 por clk 1/9 por clk 1 por clk 1 por clk 1 per clk 24 por clk 24 por clk 64 por clk 64 por clk 64 per clk 384 bits 384 bits 320 bits 384 bits 384 bits 2x x x x x GB/s. 177 GB/s. 208 GB/s. 250 GB/s. 288 GB/s. 6 GB. 6 GB. 5 GB. 6 GB. 12 GB. PCI-e 2.0 PCI-e 2.0 PCI-e 3.0 PCI-e 3.0 PCI-e

4 Diferencias en la jerarquía de memoria: Fermi vs. Kepler Motivación para usar la nueva caché de datos 48 Kbytes extra para expandir el tamaño de la caché L1. Posee el mayor ancho de banda en caso de fallo a caché. Usa la caché de texturas, pero de forma transparente al programador, y elimina el tiempo de configuración de ésta. Permite que una dirección global pueda buscarse y ubicarse en esta caché, utilizando para ello un camino separado del que accede a caché L1 y memoria compartida. Es flexible, no requiere que los accesos estén alineados. Gestionada automáticamente por el compilador Cómo utilizar la nueva caché de datos Comparativa con la memoria de constantes Declarar los punteros con el prefijo "const restrict ". El compilador automáticamente mapeará la carga de esos valores en la caché para usar el nuevo camino de datos a través de la memoria de texturas. A comparar Memoria de constantes Caché de datos de sólo lectura Disponibilidad Desde CUDA Compute Capability 1.0 A partir de CCC 3.5 (aunque desde CCC 1.0 se podía usar la memoria de texturas manualmente) global void saxpy(float x, float y, const float * restrict input, float * output) { size_t offset = threadidx.x + (blockidx.x * blockdim.x); Tamaño Implementación hardware Acceso Mejor rasgo 64 Kbytes 48 Kbytes Una partición de la memoria global (DRAM) A través de una caché de 8 Kbytes que posee cada multiprocesador SM(X) Latencia muy baja Caché de texturas que expande la L1 (SRAM) Mediante un camino aparte en el cauce de segmentación gráfico Gran ancho de banda } // El compilador utilizará la nueva caché para "input" output[offset] = (input[offset] * x) + y; 15 Peor rasgo Mejor escenario de uso Menor ancho de banda Acceso con el mismo coeficiente (sin usar threadidx) a un pequeño conjunto de datos de sólo lectura Mayor latencia Cuando el kernel es memory-bound, aún después de haber saturado el ancho de banda con memoria compartida 16

5 Comunicación entre las memorias de las GPU En Fermi se puso en marcha GPU Direct 1.0 para permitir la comunicación entre GPUs dentro de clusters de CPUs. Kepler + CUDA 5 soportan GPUDirect-RDMA [Remote Direct Memory Access] Esto permite una transferencia más directa entre GPUs. Normalmente, el enlace es PCI-express o InfiniBand. Receptor Transmisor GPUDirect-RDMA en Maxwell Resultados preliminares de GPUDirect-RDMA (mejoran con CUDA 6.0 & OpenMPI) La situación será más compleja en la próxima generación de GPUs, pues tendrán un espacio de memoria unificado con la CPU. Latencia GPU-GPU (microsegundos) Tiempo de ejecución total (segundos) Tamaño del mensaje (bytes) Número lateral Latencia inter-nodo usando: Mejor escalado en MPI: GPUs Tesla K40m (no GeForces). Código: HSG (bioinformática). Librería MPI MVAPICH2. 2 nodos de GPU. 19 ConnectX-3, IVB 3GHz. 4 procesos MPI por nodo. 20

6 Un breve recordatorio de CUDA GPU Multiprocesador N Multiprocesador 2 Multiprocesador 1 Hilo Bloque de hilos 3. Los cores SMX Registros Procesador 1 Memoria compartida Registros Procesador 2 Registros Procesador M Memoria global Unidad de Control SIMD Caché para constantes Caché para texturas Memoria integrada en la GPU Memoria externa a la GPU (incluida dentro de la tarjeta gráfica) Malla 0 (grid) Malla 1 22 y de cómo va escalando la arquitectura Kepler en perspectiva: Recursos hardware y rendimiento pico Arquitectura Tesla G80 Tesla GT200 Fermi GF100 Fermi GF104 Kepler GK104 Kepler GK110 Tarjeta Tesla (modelo comercial) Modelo GeForce similar en cores Generación de GPU (y CCC) M2075 M2090 K20 K20X K40 GTX 470 GTX GTX Titan - Fermi GF100 (2.0) Kepler GK110 (3.5) Marco temporal CUDA Compute Capability (CCC) N (multiprocs.) Multiprocesadores x (cores/multipr.) Número total de cores Tipo de multiprocesador Distancia de integración de los trans. Frecuencia de la GPU (para gráficos) Frecuencia de los cores (para GPGPU) 14 x x x x x SM SMX con paralelismo dinámico y HyperQ 40 nm. 40 nm. 28 nm. 28 nm. 28 nm. 575 MHz 650 MHz 706 MHz 732 MHz 745,810,875 MHz 1150 MHz 1300 MHz 706 MHz 732 MHz 745,810,875 MHz M (cores/multip.) Número de cores Número de cores (simple precisión) GFLOPS (pico en simple precisión) Número de cores (doble precisión) GFLOPS (pico en doble precisión)

7 GPU Boost Permite acelerar hasta un 17% el reloj de la GPU si el consumo de una aplicación es bajo. Se retornará al reloj base si se sobrepasan los 235 W. Se puede configurar un modo persistente de vigencia permanente de un reloj, u otro para ejecuciones puntuales. Consumo sin apurar Maximiza los relojes gráficos sin salirse de los márgenes de consumo nominales Rendimiento Board Power (Watts) Cada aplicación tiene un comportamiento distinto en relación al consumo Aquí vemos el consumo medio (vatios) en la Tesla K20X de aplicaciones muy populares en el ámbito HPC: Reloj base Reloj a máxima frecuencia 745 MHz 810 MHz 875 MHz 0 AMBER ANSYS Black ScholesChroma GROMACS GTC LAMMPS LSMS NAMD Nbody QMCPACK RTM SPECFEM3D Aquellas aplicaciones que menos consumen pueden beneficiarse de una frecuencia mayor En el caso de la K40, se definen tres saltos de frecuencia con incrementos del 8.7%. GPU Boost frente a otras implementaciones Resulta mejor un régimen estacionario para la frecuencia desde el punto de vista del estrés térmico y la fiabilidad. Reloj acelerado #2 Reloj acelerado #1 875 MHz 810 MHz Reloj de la GPU Otros fabricantes Boost Clock # 2 Boost Clock # 1 Base Clock # 1 Tesla K40 Reloj base 745 MHz Conmutación automática de reloj Relojes deterministas 235W Consumo máximo. Referencia (peor caso). 235W Consumo moderado. Ej: AMBER 235W Consumo bajo. Ej: ANSYS Fluent A 875 MHz, la K40 mejora el rendimiento hasta en un 40% respecto a la K20X. Y no sólo mejoran los GFLOPS, también lo hace el ancho de banda con memoria (GDDR5). 27 Valor por defecto Opciones predefinidas Interfaz con el usuario Duración del reloj acelerado Otros fabricantes Reloj acelerado Bloquear a la frecuencia base Panel de control Aprox. 50% del tiempo de ejec. Tesla K40 Reloj base 3 niveles: Base, Boost1 o Boost2 Comandos en el shell: nv-smi 100% del tiempo de ejecución 28

8 Lista de comandos GPU Boost Ejemplo Comando Efecto nvidia-smi -q -d CLOCK id=0000:86:00.0 nvidia-smi -q -d SUPPORTED_CLOCKS Muestra los relojes que soporta nuestra GPU nvidia-smi -ac <MEM clock, Graphics clock> Activa uno de los relojes soportados nvidia-smi -pm 1 Habilita el modo persistente (el reloj sigue vigente tras el apagado) nvidia-smi -pm 0 Modo no persistente: El reloj vuelve a su configuración base tras apagar la máquina nvidia-smi -q -d CLOCK Consulta el reloj en uso nvidia-smi -rac Inicializa los relojes en su configuración base nvidia-smi -acp 0 Permite cambiar los relojes a los usuarios que no son root Del multiprocesador SM de Fermi GF100 al multiprocesador SMX de Kepler GK Desplegando todo el paralelismo en Kepler 32

9 Comparación entre la emisión y ejecución de instrucciones (front-end vs. back-end) Mejoras en concurrencia y paralelismo Fermi (GF100) Kepler (GK110) En Kepler, cada SMX puede emitir 8 warp-instrucciones por ciclo, pero debido a limitaciones por recursos y dependencias: 7 es el pico sostenible. Búsqueda y emisión (front-end) Puede emitir 2 warps, 1 instr. cada uno. Total: Máx. 2 warps por ciclo. Warps activos: 48 en cada SM, seleccionados de entre 8 bloques máx. En GTX580: 16*48= 768 warps activos. Puede emitir 4 warps, 2 instrs. cada uno. Total: Máx. 8 warps por ciclo. Warps activos: 64 en cada SMX, seleccionados de entre 16 bloques máx. En K40: 15 * 64 = 960 warps activos. Ejecución en SM-SMX (back-end) 32 cores (1 warp) para "int" y "float". 16 cores para "double" (1/2 warp). 16 unids. de carga/almacen. (1/2 warp). 4 unids. de funcs. especiales (1/8 warp). Total: Hasta 5 warps concurrentes. 192 cores (6 warps) para "int" y "float". 64 cores para "double" (2 warps). 32 unids. de carga/almacen. (1 warp). 32 unids. de funcs. especiales (1 warp). Total: Hasta 16 warps concurrentes. 4-5 es una buena cantidad para códigos limitados por instrucción. <4 en códigos limitados por memoria o latencia. 33 Generación de GPU Modelo hardware CUDA Compute Capability (CCC) Número de hilos / warp (tamaño del warp) Máximo número de warps / Multiprocesador Máximo número de bloques / Multiprocesador Máximo número de hilos / Bloque Máximo número de hilos / Multiprocesador Fermi Kepler GF100 GF104 GK104 GK Mejoras cruciales para ocultar latencias Máx. concurrencia en cada SMX 34 Gigathread, o cómo el programa es devorado por el procesador Cada malla (grid) contiene un número de bloques, que son asignados a los SMXs (hasta 16 en Kepler, 8 en Fermi). Los bloques se dividen en warps o grupos de 32 hilos. Los warps se ejecutan para cada instrucción de los hilos (hasta 64 warps activos en Kepler, 48 en Fermi). Ejemplo: Expresar todo el paralelismo posible: Los SMX son más anchos que los SM Tetris (baldosa = warp_instr.): - Emite 4 warp_instrs. - Ejecuta hasta 10 warps = 320 hilos. - Warp_instrs. son simétricos y se ejecutan todos en 1 ciclo. Correspondencia de colores: para instrucciones int. para instrs. float. double. Emite 4 warp_instrs. load/store. log/sqrt. El jugador planifica los warps! Se pueden rotar las fichas si no hay dependencias entre sus 4 warps instr. warp G80: Tarda 4 ciclos en ejecutar cada warp_instrs. Ejemplo: Kernel con bloques de 384 hilos (12 warps). Fermi: - Emite 2. - Ejecuta hasta 5. Bloque 0: Bloque 1: sub fmadd fdiv64 load sqrt Kepler: - Emite 4 warps x 2 instrs. - Ejecuta hasta 16 warp_instrs. (512 unidades funcionales). 64 FPU DP 32 SFU 32 LD/ST 35 Ejecuta hasta 10 warp_instrs. G80: 16 U.F. SM en Fermi: 100 U.F. paralelas. 6x32 = 192 ALUs 192 FPU SP SMX en Kepler: 512 U.F. paralelas. 36

10 Paralelismo en SMX: A nivel de hilo (TLP) y a nivel de instrucción (ILP) Incrementar paralelismo verticalmente con ILP: Si las instrs. son más independientes Incrementar el paralelismo horizontalmente a través del TLP: Más warps concurrentes (bloques más grandes y/o más bloques activos en cada SMX). Los SMX pueden potenciar el ILP disponible de forma intercambiable con el TLP: Es mucho mejor que Fermi para esto. Algunas veces es más fácil incrementar el ILP que el TLP (por ejemplo, desenrrollar un lazo en un pequeño factor): El número de hilos puede estar limitado por el algoritmo o los límites HW. Necesitamos el ILP para lograr un elevado IPC (Instrs. Per Cycle). 37 En las GPUs Kepler concurren todas las formas de paralelismo. Ejemplo: K40. 2: De instrs. (ILP) 1: De tareas (TLP) 3: De datos (SIMD) 4: Vectorial (warp = 32) (todo este volumen representa menos, 60x15 warps) SMX 0 La K40 puede ejecutar hasta 512x15 = 7680 SMX 15 La K40 puede planificar y emitir hasta 64x15 warps en un ciclo: hilos en 1.14 ns. hilos en un ciclo si éstos son del color adecuado. Imagina un tetris 3D con 15 cubiletes y hasta 64 baldosas cayendo simultáneamente en cada uno de ellos, porque así funciona la K40 planificando warps con el máx. paralelismo. 38 Cómo trabaja el front-end de la GPU: (1) Planificación de warps La conexión entre front-end y back-end: (2) Emisión de warps En los 5 ciclos ilustrados, hemos podido ejecutar hasta aquí. En Fermi hay déficit en las SFUs (azul), mientras que en Kepler lo hay en las unidades de carga/almacenamiento (verde). Kepler equilibra la doble precisión (rojo) y tiene gran superávit en computación int y float, señal de que los códigos reales tienen mayor presencia de instrs. naranjas, y sobre todo, amarillas. SM (Fermi) SMX (Kepler) 39 SM (Fermi) SMX (Kepler) 40

11 Cómo trabaja el back-end de la GPU: (2) Ejecución de warps Caso estudio: Polinomios de Zernike Suponemos que en el momento en que comenzamos a monitorizar la ejecución quedaban pendientes de ejecutar: Un par de warps de punto flotante en simple precisión (naranjas). Otro par de warps en doble precisión (rojos). Parece conveniente que el front-end vaya un poco adelantado respecto al back-end (prebúsquedas) con objeto de maximizar el throughput. Recursos GPU Fermi Kepler Kernel de los polinomios de Zernike Mejor ALU FPU 32 bits FPU 64 bits Carga/ almacen. SFU 32% 32% 16% 16% 4% 37.5% 37.5% 12.5% 6.25% 6.25% 54% 21% 0% 25% 0% Kepler Fermi Kepler Fermi Fermi Fermi se encuentra más equilibrada para este caso. SM (Fermi) SMX (Kepler) 41 La distribución de recursos en Kepler mejora la ejecución de la aritmética entera, pero empeora la de punto flotante y carga/almacenamiento. El resto no se utilizan. 42 Utilizar el CUDA Visual Profiler para conocer qué tal se adapta nuestra aplicación 5. Mejoras funcionales: Paralelismo dinámico y Hyper-Q 43

12 Principales mejoras hardware Qué es el paralelismo dinámico? Computación a gran escala (grandes tamaños de problema) Generación de GPU Modelo hardware Compute Capability (CCC) Fermi Novedades funcionales: Kepler GF100 GF104 GK104 GK110 Limitación Impacto Máxima dimensión X de la malla 2^16-1 2^16-1 2^32-1 2^32-1 Software Generación de GPU Modelo hardware Compute Capability (CCC) Paralelismo dinámico Hyper-Q Fermi Kepler Tamaño del problema GF100 GF104 GK104 GK110 Limitación Impacto No No No Sí Hardware No No No Sí Hardware Estructura del problema Planificación de hilos 45 La habilidad para lanzar nuevos procesos (mallas de bloques de hilos) desde la GPU de forma: Dinámica: Basándonos en datos obtenidos en tiempo de ejecución. Simultánea: Desde múltiples hilos a la vez. Independiente: Cada hilo puede lanzar una malla diferente. CPU GPU CPU GPU Fermi: Sólo la CPU puede generar trabajo en GPU. Kepler: La GPU puede generar trabajo por sí sola. 46 Así se hacían las cosas en la era pre-kepler: La GPU era un mero esclavo del host o CPU Gran ancho de banda en las comunicaciones: Externas: Superior a 10 GB/s (PCI-express 3). Internas: Superior a 100 GB/s (memoria de vídeo GDDR5 y anchura de bus en torno a 384 bits, que es como un séxtuple canal en CPU). Y así se pueden hacer con Kepler: Las GPUs lanzan sus propios kernels Antes la GPU era un co-procesador Con Kepler, la GPU is más autónoma: Entra en escena el paralelismo dinámico CPU GPU CPU GPU Función Lib Lib Función Función Init Alloc GPU CPU Operación 1 Operación 2 Operación 3 47 Ahora los programas van más rápido y se expresan de una forma más natural. 48

13 % utilización de la GPU % utilización de la GPU El comportamiento de los warps nos enseña que la GPU no es un procesador regular Factores impredecibles en tiempo de ejecución dificultan un reparto equilibrado de la carga computacional entre los multiprocesadores. Aquí vemos un ejemplo de la varianza existente entre los 8 últimos warps ejecutados en cada SM: Hyper-Q En Fermi, diversos procesos de CPU ya podían enviar sus mallas de bloques de hilos sobre una misma GPU, pero un kernel no podía comenzar hasta que no acabase el anterior. En Kepler, pueden ejecutarse simultáneamente hasta 32 kernels procedentes de: Varios procesos de MPI, hilos de CPU o streams de CUDA. Esto incrementa el porcentaje de ocupación temporal de la GPU. FERMI 1 sola tarea MPI activa KEPLER 32 tareas MPI simultáneas Sin Hyper-Q: Multiproceso por división temporal 100 Síntesis final A B C D E F 50 0 A B C D E F Tiempo Con Hyper-Q: Multiproceso simultáneo C B A E D A Tiempo ganado Procesos en CPU mapeados sobre GPU 51 F 0 D C B D C F E B A F E Kepler simboliza la generación de GPUs de Nvidia para , más adecuada para miles de cores. Habilita todas las formas de paralelismo a gran escala: De tareas, de instrucciones, de datos y vectorial. Hace énfasis en la eficiencia energética y en ampliar la programabilidad del modelo CUDA. La GPU es más autónoma, pero a la vez admite mayor interacción con la CPU. También se mejora la jerarquía de memoria y las conexiones entre las memorias de las GPUs. La conexión SMX-DRAM será determinante en el futuro. 52

14 Bibliografía recomendada Muchas gracias por vuestra atención Descripciones y especificaciones técnicas de los modelos Tesla vigentes en la actualidad: Documentación sobre CUDA para Kepler: Best Practices Guide: Kepler Tuning Guide: Webinars [de GTC'12 a GTC'13, continua actualización]: Especialmente recomendables: "CUDA 5 and beyond" [por Mark Harris]. "New features in the CUDA programming model" [Stephen Jones & Lars Nyland]. "Introduction to dynamic parallelism" [Stephen Jones]. "Inside the Kepler Tesla K20 family" [Julia Levites & Stephen Jones]. 53 Siempre a vuestra disposición en el Dpto. de Arquitectura de Computadores de la Universidad de Málaga: ujaldon@uma.es Teléfono: Página Web: (versiones disponibles en español e inglés). 54

Inside Kepler. I. Presentación de la arquitectura. Índice de contenidos [25 diapositivas] Kepler, Johannes ( )

Inside Kepler. I. Presentación de la arquitectura. Índice de contenidos [25 diapositivas] Kepler, Johannes ( ) Índice de contenidos [25 diapositivas] Inside Manuel Ujaldón Nvidia CUDA Fellow Dpto. Arquitectura de Computadores Universidad de Málaga 1. Presentación de la arquitectura [3 diapositivas] 2. Los cores

Más detalles

Kepler. 1. Presentación de la arquitectura. Contenidos de la charla. Kepler, Johannes (1571-1630)

Kepler. 1. Presentación de la arquitectura. Contenidos de la charla. Kepler, Johannes (1571-1630) Contenidos de la charla Manuel Ujaldón Nvidia CUDA Fellow Dpto. Arquitectura de Computadores Universidad de Málaga 1. Presentación de la arquitectura [7 diapositivas] 2. La memoria y el transporte de datos

Más detalles

Kepler. 1. Presentación de la arquitectura. Índice de contenidos [25 diapositivas] Kepler, Johannes (1571-1630)

Kepler. 1. Presentación de la arquitectura. Índice de contenidos [25 diapositivas] Kepler, Johannes (1571-1630) Índice de contenidos [25 diapositivas] Manuel Ujaldón Nvidia CUDA Fellow Dpto. Arquitectura de Computadores Universidad de Málaga 1. Presentación de la arquitectura [3] 2. Los cores y su organización [7]

Más detalles

Contenidos [62 diapositivas] Málaga, del 15 al 24 de Julio, 2015

Contenidos [62 diapositivas] Málaga, del 15 al 24 de Julio, 2015 Nuevas prestaciones hardware en Kepler IX Curso de verano de la UMA Programación de GPUs con CUDA Contenidos [62 diapositivas] Málaga, del 15 al 24 de Julio, 2015 1. 2. 3. 4. 5. Presentación de la arquitectura

Más detalles

Explotando el rendimiento de la GPU FLOPS pico en doble precisión

Explotando el rendimiento de la GPU FLOPS pico en doble precisión Rendimiento pico en GPU vs. CPU Explotando el rendimiento de la GPU FLOPS pico en doble precisión Curso de CUDA Málaga, 13 de Julio de 2017 GPU 6x mejor en double : Manuel Ujaldón GPU: 3000 GFLOPS CPU:

Más detalles

La GPU. I. La tarjeta gráfica y su GPU. Indice de contenidos [36 diapositivas] El diagrama de bloques de la tarjeta gráfica

La GPU. I. La tarjeta gráfica y su GPU. Indice de contenidos [36 diapositivas] El diagrama de bloques de la tarjeta gráfica Indice de contenidos [36 diapositivas] 1. La tarjeta gráfica y su GPU [7]. Perfiles de usuario [5] 3. Generaciones y modelos comerciales [4] La GPU 1. Pascal [7]. Volta [6] 3. Resumen de modelos comerciales

Más detalles

Descubriendo Kepler. 1. Presentación de la arquitectura. Agradecimientos. Indice de contenidos [46 diapositivas]

Descubriendo Kepler. 1. Presentación de la arquitectura. Agradecimientos. Indice de contenidos [46 diapositivas] Agradecimientos Descubriendo Kepler Manuel Ujaldón Nvidia CUDA Fellow Dpto. Arquitectura de Computadores Universidad de Málaga A los ingenieros de Nvidia, por compartir ideas, material, diagramas, presentaciones,...

Más detalles

Introducción a la Arquitectura y Plataforma de Programación de Cómputo Paralelo CUDA (36 hrs) Instructor M. en C. Cristhian Alejandro Ávila-Sánchez

Introducción a la Arquitectura y Plataforma de Programación de Cómputo Paralelo CUDA (36 hrs) Instructor M. en C. Cristhian Alejandro Ávila-Sánchez Introducción a la Arquitectura y Plataforma de Programación de Cómputo Paralelo CUDA (36 hrs) I Presentación: Instructor M. en C. Cristhian Alejandro Ávila-Sánchez CUDA (Compute Unified Device Architecture)

Más detalles

Arquitectura de aceleradores. Carlos Bederián IFEG CONICET GPGPU Computing Group FaMAF UNC bc@famaf.unc.edu.ar

Arquitectura de aceleradores. Carlos Bederián IFEG CONICET GPGPU Computing Group FaMAF UNC bc@famaf.unc.edu.ar Arquitectura de aceleradores Carlos Bederián IFEG CONICET GPGPU Computing Group FaMAF UNC bc@famaf.unc.edu.ar Contenidos Cómo llegamos hasta acá Qué hay ahora Qué hace Cómo lo uso Hacia dónde parece que

Más detalles

GPGPU ( GENERAL PURPOSE COMPUTING ON GRAPHICS PROCESSING UNITS)

GPGPU ( GENERAL PURPOSE COMPUTING ON GRAPHICS PROCESSING UNITS) 26 GPGPU ( GENERAL PURPOSE COMPUTING ON GRAPHICS PROCESSING UNITS) Técnica GPGPU consiste en el uso de las GPU para resolver problemas computacionales de todo tipo aparte de los relacionados con el procesamiento

Más detalles

Tema 3 GPUs: Introducción

Tema 3 GPUs: Introducción Tema 3 GPUs: Introducción Alberto Ros Bardisa Tema 3 GPUs Alberto Ros Bardisa 1 / 15 Agenda 1 GPUs: Introducción 2 GP-GPU 3 Ejemplos comerciales 4 Conclusiones Tema 3 GPUs Alberto Ros Bardisa 2 / 15 Agenda

Más detalles

Alejandro Molina Zarca

Alejandro Molina Zarca Compute Unified Device Architecture (CUDA) Que es CUDA? Por qué CUDA? Dónde se usa CUDA? El Modelo CUDA Escalabilidad Modelo de programación Programación Heterogenea Memoria Compartida Alejandro Molina

Más detalles

INTRODUCCIÓN A LA COMPUTACIÓN PARALELA CON GPUS

INTRODUCCIÓN A LA COMPUTACIÓN PARALELA CON GPUS INTRODUCCIÓN A LA COMPUTACIÓN PARALELA CON GPUS Sergio Orts Escolano sorts@dtic.ua.es Vicente Morell Giménez vmorell@dccia.ua.es Universidad de Alicante Departamento de tecnología informática y computación

Más detalles

Ejemplos de optimización para Kepler Contenidos de la charla [18 diapositivas]

Ejemplos de optimización para Kepler Contenidos de la charla [18 diapositivas] Ejemplos de optimización para Kepler Contenidos de la charla [18 diapositivas] RIO 2014 Río Cuarto (Argentina), 20 de Febrero, 2014 1. 2. 3. 4. 5. 6. Balanceo dinámico de la carga. [2] Mejorando el paralelismo

Más detalles

FUNDAMENTOS DE COMPUTACION INVESTIGACION PROCESADORES DIANA CARRIÓN DEL VALLE DOCENTE: JOHANNA NAVARRO ESPINOSA TRIMESTRE II

FUNDAMENTOS DE COMPUTACION INVESTIGACION PROCESADORES DIANA CARRIÓN DEL VALLE DOCENTE: JOHANNA NAVARRO ESPINOSA TRIMESTRE II FUNDAMENTOS DE COMPUTACION INVESTIGACION PROCESADORES DIANA CARRIÓN DEL VALLE DOCENTE: JOHANNA NAVARRO ESPINOSA TRIMESTRE II 2013 Características principales de la arquitectura del procesador AMD Phenom

Más detalles

Modelos de computadores paralelos

Modelos de computadores paralelos Modelos de computadores paralelos Domingo Giménez Departamento de Informática y Sistemas Universidad de Murcia, Spain dis.um.es/~domingo Universidad de Murcia 1 Contenido Programación paralela Modelos

Más detalles

Francisco J. Hernández López

Francisco J. Hernández López Francisco J. Hernández López fcoj23@cimat.mx 2 Procesadores flexibles de procesamiento general Se pueden resolver problemas de diversas áreas: Finanzas, Gráficos, Procesamiento de Imágenes y Video, Algebra

Más detalles

Arquitecturas GPU v. 2015

Arquitecturas GPU v. 2015 v. 2015 http://en.wikipedia.org/wiki/graphics_processing_unit http://en.wikipedia.org/wiki/stream_processing http://en.wikipedia.org/wiki/general-purpose_computing_on_graphics_processing_ units http://www.nvidia.com/object/what-is-gpu-computing.html

Más detalles

GPU-Ejemplo CUDA. Carlos García Sánchez

GPU-Ejemplo CUDA. Carlos García Sánchez Carlos García Sánchez 1 2 Contenidos Motivación GPU vs. CPU GPU vs. Vectoriales CUDA Sintaxis Ejemplo 2 3 Motivación Computación altas prestaciones: www.top500.org 1º: Titan (300mil AMD-Opteron + 19mil

Más detalles

V. OPTIMIZACIÓN PARA COMPUTACIÓN GPU EN CUDA

V. OPTIMIZACIÓN PARA COMPUTACIÓN GPU EN CUDA V. OPTIMIZACIÓN PARA COMPUTACIÓN GPU EN CUDA La arquitectura de una GPU es básicamente distinta a la de una CPU. Las GPUs están estructuradas de manera paralela y disponen de un acceso a memoria interna

Más detalles

CUDA: MODELO DE PROGRAMACIÓN

CUDA: MODELO DE PROGRAMACIÓN CUDA: MODELO DE PROGRAMACIÓN Autor: Andrés Rondán Tema: GPUGP: nvidia CUDA. Introducción En Noviembre de 2006, NVIDIA crea CUDA, una arquitectura de procesamiento paralelo de propósito general, con un

Más detalles

Arquitectura de Computadoras. Clase 9 Procesamiento paralelo

Arquitectura de Computadoras. Clase 9 Procesamiento paralelo Arquitectura de Computadoras Clase 9 Procesamiento paralelo Introducción al procesamiento paralelo Sea cual sea el nivel de prestaciones, la demanda de máquinas de mayor rendimiento seguirá existiendo.

Más detalles

MAGMA. Matrix Algebra on GPU and Multicore Architecture. Ginés David Guerrero Hernández

MAGMA. Matrix Algebra on GPU and Multicore Architecture. Ginés David Guerrero Hernández PLASMA GPU MAGMA Rendimiento Trabajo Futuro MAGMA Matrix Algebra on GPU and Multicore Architecture Ginés David Guerrero Hernández gines.guerrero@ditec.um.es Grupo de Arquitecturas y Computación Paralela

Más detalles

Arquitecturas y Computación de Alto Rendimiento SISTEMAS PARA COMPUTACIÓN DE ALTO RENDIMIENTO. Índice

Arquitecturas y Computación de Alto Rendimiento SISTEMAS PARA COMPUTACIÓN DE ALTO RENDIMIENTO. Índice Arquitecturas y Computación de Alto Rendimiento SISTEMAS PARA COMPUTACIÓN DE ALTO RENDIMIENTO 1 Índice 1. Necesidades de cómputo. Exascale. Arquitecturas de altas prestaciones. Top 500. Green 500 2. Memoria

Más detalles

Primeros pasos con CUDA. Clase 1

Primeros pasos con CUDA. Clase 1 Primeros pasos con CUDA Clase 1 Ejemplo: suma de vectores Comencemos con un ejemplo sencillo: suma de vectores. Sean A, B y C vectores de dimensión N, la suma se define como: C = A + B donde C i = A i

Más detalles

cuevogenet Paralelización en CUDA de la Dinámica Evolutiva de Redes Génicas Dirigido por: Fernando Díaz del Río José Luis Guisado Lizar

cuevogenet Paralelización en CUDA de la Dinámica Evolutiva de Redes Génicas Dirigido por: Fernando Díaz del Río José Luis Guisado Lizar cuevogenet Paralelización en CUDA de la Dinámica Evolutiva de Redes Génicas Realizado por: Raúl García Calvo Dirigido por: Fernando Díaz del Río José Luis Guisado Lizar Objetivos Implementar un algoritmo

Más detalles

INTRODUCCIÓN A LA PROGRAMACIÓN DE GPUS CON CUDA

INTRODUCCIÓN A LA PROGRAMACIÓN DE GPUS CON CUDA INTRODUCCIÓN A LA PROGRAMACIÓN DE GPUS CON CUDA Francisco Igual Peña León, 10 de mayo de 2011 PLANIFICACIÓN 1. Miércoles: Conceptos introductorios 1. Breve presentación de conceptos básicos 2. Ejercicios

Más detalles

INTRODUCCIÓN A LA PROGRAMACIÓN EN CUDA. Francisco Javier Hernández López

INTRODUCCIÓN A LA PROGRAMACIÓN EN CUDA. Francisco Javier Hernández López INTRODUCCIÓN A LA PROGRAMACIÓN EN CUDA Francisco Javier Hernández López http://www.cimat.mx/~fcoj23 Guanajuato, Gto. Noviembre de 2012 Introducción a la Programación en CUDA 2 Qué es el Cómputo Paralelo

Más detalles

Plan 95 Adecuado DEPARTAMENTO: ELECTRÓNICA CLASE: ELECTIVA DE ESPECIALIDAD ÁREA: TÉCNICAS DIGITALES HORAS SEM.: 4 HS. HORAS / AÑO: 64 HS.

Plan 95 Adecuado DEPARTAMENTO: ELECTRÓNICA CLASE: ELECTIVA DE ESPECIALIDAD ÁREA: TÉCNICAS DIGITALES HORAS SEM.: 4 HS. HORAS / AÑO: 64 HS. Plan 95 Adecuado ASIGNATURA: COMPUTACIÓN PARALELA CON PROCESADORES GRÁFICOS CODIGO: 95-0409 DEPARTAMENTO: ELECTRÓNICA CLASE: ELECTIVA DE ESPECIALIDAD ÁREA: TÉCNICAS DIGITALES HORAS SEM.: 4 HS. HORAS /

Más detalles

Ejemplos de optimización para Kepler. 1. Balanceo dinámico de la carga. Contenidos de la charla [18 diapositivas]

Ejemplos de optimización para Kepler. 1. Balanceo dinámico de la carga. Contenidos de la charla [18 diapositivas] Ejemplos de optimización para Kepler Manuel Ujaldón Nvidia CUDA Fellow Dpto. Arquitectura de Computadores Universidad de Málaga Contenidos de la charla [18 diapositivas] 1. Balanceo dinámico de la carga.

Más detalles

TEMA 10 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS DISTRIBUIDOS. Introducción Hardware Software Aspectos de diseño

TEMA 10 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS DISTRIBUIDOS. Introducción Hardware Software Aspectos de diseño TEMA 10 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS DISTRIBUIDOS Introducción Hardware Software Aspectos de diseño 1 Introducción Aparecen en los 80 Desarrollo de Microprocesadores LAN Sistemas Distribuidos:

Más detalles

DESARROLLO DE APLICACIONES EN CUDA

DESARROLLO DE APLICACIONES EN CUDA DESARROLLO DE APLICACIONES EN CUDA Curso 2014 / 15 Procesadores Gráficos y Aplicaciones en Tiempo Real Alberto Sánchez GMRV 2005-2015 1/30 Contenidos Introducción Debugging Profiling Streams Diseño de

Más detalles

Tile64 Many-Core. vs. Intel Xeon Multi-Core

Tile64 Many-Core. vs. Intel Xeon Multi-Core Tile64 Many-Core vs. Intel Xeon Multi-Core Comparación del Rendimiento en Bioinformática Myriam Kurtz Francisco J. Esteban Pilar Hernández Juan Antonio Caballero Antonio Guevara Gabriel Dorado Sergio Gálvez

Más detalles

TEMA 9. SISTEMAS OPERATIVOS DISTRIBUIDOS

TEMA 9. SISTEMAS OPERATIVOS DISTRIBUIDOS TEMA 9. SISTEMAS OPERATIVOS DISTRIBUIDOS Introducción Hardware Software Aspectos de diseño 1 Introducción Aparecen en los 80 Desarrollo de Microprocesadores LAN Sistemas Distribuidos: Gran nº de procesadores

Más detalles

Innovaciones y futuro de la GPU. Contenidos de la charla [30 diapositivas] Estados Unidos construirá dos supercomputadores insignia

Innovaciones y futuro de la GPU. Contenidos de la charla [30 diapositivas] Estados Unidos construirá dos supercomputadores insignia Innovaciones y futuro de la GPU Curso de Verano de la UMA Programación de GPUs con CUDA Contenidos de la charla [30 diapositivas] Málaga, del 15 al de Julio, 015 1.. 3.. 5. 6. 7. Proyectos con Volta [3]

Más detalles

Arquitectura de Computadores Problemas (hoja 4). Curso

Arquitectura de Computadores Problemas (hoja 4). Curso Arquitectura de Computadores Problemas (hoja 4). Curso 2006-07 1. Sea un computador superescalar similar a la versión Tomasulo del DLX capaz de lanzar a ejecución dos instrucciones independientes por ciclo

Más detalles

CAR. Responsable : María del Carmen Heras Sánchez. Asesores Técnicos : Daniel Mendoza Camacho Yessica Vidal Quintanar.

CAR. Responsable : María del Carmen Heras Sánchez. Asesores Técnicos : Daniel Mendoza Camacho Yessica Vidal Quintanar. CAR Responsable : María del Carmen Heras Sánchez Asesores Técnicos : Daniel Mendoza Camacho Yessica Vidal Quintanar http://acarus2.uson.mx Infraestructura de Hardware Software Conexiones remotas http://acarus2.uson.mx

Más detalles

PROCESAMIENTO DISTRIBUIDO

PROCESAMIENTO DISTRIBUIDO Pág. 1 INTRODUCCIÓN PROCESAMIENTO DISTRIBUIDO Arquitectura de comunicaciones: Software básico de una red de computadoras Brinda soporte para aplicaciones distribuidas Permite diferentes Sistemas Operativos

Más detalles

Múltiples GPU (y otras chauchas)

Múltiples GPU (y otras chauchas) Múltiples GPU (y otras chauchas) Clase 16, 21/11/2013 http://fisica.cab.cnea.gov.ar/gpgpu/index.php/en/icnpg/clases Carlos Bederián bc@famaf.unc.edu.ar IFEG-CONICET, FaMAF-UNC Motivación No desperdiciar

Más detalles

Tema 7. Mejora del rendimiento: introducción a la segmentación y a las arquitecturas paralelas

Tema 7. Mejora del rendimiento: introducción a la segmentación y a las arquitecturas paralelas Tema 7. Mejora del rendimiento: introducción a la segmentación y a las arquitecturas paralelas Arquitectura de Computadores Curso 2009-2010 Transparencia: 2 / 21 Índice Introducción Taxonomía de Flynn

Más detalles

Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU. Clase 0 Lanzamiento del Curso. Motivación

Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU. Clase 0 Lanzamiento del Curso. Motivación Computación de Propósito General en Unidades de Procesamiento Gráfico () Pablo Ezzatti, Martín Pedemonte Clase 0 Lanzamiento del Curso Contenido Evolución histórica en Fing Infraestructura disponible en

Más detalles

CÓMPUTO DE ALTO RENDIMIENTO EN MEMORIA COMPARTIDA Y PROCESADORES GRÁFICOS

CÓMPUTO DE ALTO RENDIMIENTO EN MEMORIA COMPARTIDA Y PROCESADORES GRÁFICOS CÓMPUTO DE ALTO RENDIMIENTO EN MEMORIA COMPARTIDA Y PROCESADORES GRÁFICOS Leopoldo N. Gaxiola, Juan J. Tapia Centro de Investigación y Desarrollo de Tecnología Digital Instituto Politécnico Nacional Avenida

Más detalles

Introducción a Cómputo Paralelo con CUDA C/C++

Introducción a Cómputo Paralelo con CUDA C/C++ UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO Facultad de Ingeniería Introducción a Cómputo Paralelo con CUDA C/C++ Laboratorio de Intel y Cómputo de alto desempeño Elaboran: Revisión: Ing. Laura Sandoval Montaño

Más detalles

Francisco Javier Hernández López

Francisco Javier Hernández López Francisco Javier Hernández López fcoj23@cimat.mx http://www.cimat.mx/~fcoj23 Ejecución de más de un cómputo (cálculo) al mismo tiempo o en paralelo, utilizando más de un procesador. Arquitecturas que hay

Más detalles

La memoria del PC. 1. La saga DDR. Índice de contenidos [25 diapositivas] Comparativa frente a otras tecnologías de almacenamiento de datos

La memoria del PC. 1. La saga DDR. Índice de contenidos [25 diapositivas] Comparativa frente a otras tecnologías de almacenamiento de datos Índice de contenidos [25 diapositivas] 1. La saga DDR [6] 2. Memorias DDR4 [4] 3. Consejos de compra [6] 4. Directrices de montaje [4] 5. Etiquetado [5] La memoria del PC Manuel Ujaldón Martínez Dpto.

Más detalles

CUDA (Compute Unified Device Architecture)

CUDA (Compute Unified Device Architecture) CUDA (Compute Unified Device Architecture) Alvaro Cuno 23/01/2010 1 CUDA Arquitectura de computación paralela de propósito general La programación para la arquitectura CUDA puede hacerse usando lenguaje

Más detalles

ARQUITECTURA DEL COMPUTADOR

ARQUITECTURA DEL COMPUTADOR 1-11 Marzo de 2017 FACET -UNT ARQUITECTURA DEL COMPUTADOR Graciela Molina gmolina@herrera.unt.edu.ar m.graciela.molina@gmail.com 1 MODELO VON NEUMANN RAM J. Von Neumann frente a la computadora IAS, 1952.

Más detalles

PARADIGMA y LENGUAJES DE PROGRAMACIÓN

PARADIGMA y LENGUAJES DE PROGRAMACIÓN CATEDRA CARRERA: PARADIGMA y LENGUAJES DE PROGRAMACIÓN LICENCIATURA EN SISTEMAS DE INFORMACION FACULTAD DE CIENCIAS EXACTAS QUIMICAS Y NATURALES UNIVERSIDAD NACIONAL DE MISIONES Año 2017 2do Cuatrimestre

Más detalles

FLAG/C. Una API para computación matricial sobre GPUs. M. Jesús Zafont Alberto Martín Francisco Igual Enrique S. Quintana-Ortí

FLAG/C. Una API para computación matricial sobre GPUs. M. Jesús Zafont Alberto Martín Francisco Igual Enrique S. Quintana-Ortí FLAG/C Una API para computación matricial sobre GPUs M. Jesús Zafont Alberto Martín Francisco Igual Enrique S. Quintana-Ortí High Performance Computing & Architectures Group Universitat Jaume I de Castellón

Más detalles

Apellidos Nombre Grupo. Arquitectura e Ingeniería de Computadores. Examen Final (Teoría parte primer cuatrimestre). 18/06/2012

Apellidos Nombre Grupo. Arquitectura e Ingeniería de Computadores. Examen Final (Teoría parte primer cuatrimestre). 18/06/2012 Apellidos Nombre Grupo Arquitectura e Ingeniería de Computadores. Examen Final (Teoría parte primer cuatrimestre). 18/06/2012 Instrucciones.- Cada pregunta consta de cinco afirmaciones, y cada una de las

Más detalles

Programando la GPU con CUDA

Programando la GPU con CUDA Programando la GPU con CUDA Curso en el Dpto. de Matemáticas e Informática. UIB. 23 al 25 de Junio, 2014. Manuel Ujaldon Nvidia CUDA Fellow Profesor Titular del Dpto. de Arquitectura de Computadores. Universidad

Más detalles

Práctica 1 - Rendimiento *

Práctica 1 - Rendimiento * Práctica 1 - Rendimiento * Organización del Computador 1 Verano 2014 Subconjunto mínimo de ejercicios recomendado: 1 a 11 Ejercicio 1 Considere tres procesadores distintos P 1, P 2 y P 3 que ejecutan el

Más detalles

Organización del Computador I. Introducción e Historia

Organización del Computador I. Introducción e Historia Organización del Computador I Introducción e Historia Introducción Qué es una computadora? Stallings: Máquina digital electrónica programable para el tratamiento automático de la información, capaz de

Más detalles

Multiprocesadores de Memoria Compartida

Multiprocesadores de Memoria Compartida Arquitectura (10/11) Multiprocesadores Memoria Compartida Características MMC Res Interconexión para MMC Programación MMC Tipos MMC 1 Arquitectura (10/11) Características MMC Prestaciones (MMC) = f (coste

Más detalles

GRADO EN INGENIERÍA DE COMPUTADORES

GRADO EN INGENIERÍA DE COMPUTADORES GRADO EN INGENIERÍA DE COMPUTADORES Tema 1 Departamento Introducción al de paralelismo Automática Prof. Dr. José Antonio de Frutos Redondo Curso 2015-2016 Tema 1: Introducción Necesidad del procesamiento

Más detalles

FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS. CNCA Abril 2013

FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS. CNCA Abril 2013 FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS CNCA Abril 2013 6. COMPUTACIÓN DE ALTO RENDIMIENTO Ricardo Román DEFINICIÓN High Performance Computing - Computación de Alto Rendimiento Técnicas, investigación

Más detalles

Computación de Altas Prestaciones Sistemas computacionales

Computación de Altas Prestaciones Sistemas computacionales Computación de Altas Prestaciones Sistemas computacionales Domingo Giménez Departamento de Informática y Sistemas Universidad de Murcia, Spain dis.um.es/~domingo Universidad de Murcia 1 Motivación Problemas

Más detalles

Arquitecturas de Altas Prestaciones y Supercomputación

Arquitecturas de Altas Prestaciones y Supercomputación Arquitecturas de Altas Prestaciones y Supercomputación Presentación del itinerario Julio de 2014 Arquitecturas de Altas Prestaciones y Supercomputación Julio de 2014 1 / 15 Agenda Introducción 1 Introducción

Más detalles

Agradecimientos. Contenidos [60 diapositivas] Recursos avanzados de CUDA

Agradecimientos. Contenidos [60 diapositivas] Recursos avanzados de CUDA Recursos avanzados de CUDA Agradecimientos Curso de Extensión Universitaria Titulaciones Propias. Universidad de Málaga. Curso 2016/17 Al personal de Nvidia, por compartir conmigo ideas, material, diagramas,

Más detalles

MULTIPROCESADORES COMERCIALES. José M. Cámara v. 2.0

MULTIPROCESADORES COMERCIALES. José M. Cámara v. 2.0 MULTIPROCESADORES COMERCIALES José M. Cámara (checam@ubu.es) v. 2.0 ARQUITECTURA SMP AlphaServer 8400 Características generales Multiprocesador simétrico de acceso uniforme a memoria Hasta 12 CPU Alpha

Más detalles

La elección de la CPU. 1. Introducción. Indice de contenidos [23 diapositivas] El procesador central o CPU

La elección de la CPU. 1. Introducción. Indice de contenidos [23 diapositivas] El procesador central o CPU Indice de contenidos [3 diapositivas] 1. Introducción [ diapositivas]. Modelos comerciales e innovaciones en Intel 1] 3. Modelos comerciales en AMD [3] 4. Comparativa Intel-AMD [3] 5. El mejor procesador

Más detalles

UNIVERSIDAD DE GUADALAJARA

UNIVERSIDAD DE GUADALAJARA UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE LOS ALTOS DIVISIÓN DE ESTUDIOS EN FORMACIONES SOCIALES LICENCIATURA: INGENIERÍA EN COMPUTACIÓN UNIDAD DE APRENDIZAJE POR OBJETIVOS ARQUITECTURA DE COMPUTADORAS

Más detalles

Arquitectura y Tecnología de Computadores (09/10) Organización. Jerarquía de Memoria

Arquitectura y Tecnología de Computadores (09/10) Organización. Jerarquía de Memoria Arquitectura (09/10) Area Arquitectura Organización. Jerarquía Memoria Motivación: Cómo clasificamos las técnicas basadas en organización l hardware? Cuáles son las principales técnicas relativas al sistema

Más detalles

Arquitectura de Computadoras

Arquitectura de Computadoras Arquitectura de Computadoras Clase 7 Memoria Sistema de Memoria Los programadores desean acceder a cantidades ilimitadas de memoria rápida!! Solución práctica: Jerarquía de memoria organizada en niveles

Más detalles

PROGRAMACIÓN EN EL ENTORNO CUDA EN APLICACIONES DE MECÁNICA COMPUTACIONAL. PRUEBAS, RESULTADOS Y CONCLUSIONES CONCLUSIONES:

PROGRAMACIÓN EN EL ENTORNO CUDA EN APLICACIONES DE MECÁNICA COMPUTACIONAL. PRUEBAS, RESULTADOS Y CONCLUSIONES CONCLUSIONES: III. CONCLUSIONES: VELOCIDAD: La velocidad de la aplicación es elevada y satisfactoria. Para el mallado D se obtuvo una aceleración máxima de x200. Esta aceleración es especialmente debida al ahorro de

Más detalles

Desarrollo de Software Numérico de Simulación de Flujos Geofísicos Basado en Volúmenes Finitos Usando Hardware Gráfico

Desarrollo de Software Numérico de Simulación de Flujos Geofísicos Basado en Volúmenes Finitos Usando Hardware Gráfico Desarrollo de Software Numérico de Simulación de Flujos Geofísicos Basado en Volúmenes Finitos Usando Hardware Gráfico TESIS DOCTORAL Marc de la Asunción Hernández Departamento de Lenguajes y Sistemas

Más detalles

Francisco J. Hernández López

Francisco J. Hernández López Francisco J. Hernández López fcoj23@cimat.mx Ejecución de más de un cómputo (cálculo) al mismo tiempo o en paralelo, utilizando más de un procesador. Sistema de Cómputo Paralelo Hardware Parallel programming:

Más detalles

CARACTERIZACION DE PROBLEMAS A SOLUCIONAR MEDIANTE PROGRAMACIÓN MULTIPROCESO DE MEMORIA COMPARTIDA. Autor ERIKA VIVIANA RIAÑO BEJAR

CARACTERIZACION DE PROBLEMAS A SOLUCIONAR MEDIANTE PROGRAMACIÓN MULTIPROCESO DE MEMORIA COMPARTIDA. Autor ERIKA VIVIANA RIAÑO BEJAR CARACTERIZACION DE PROBLEMAS A SOLUCIONAR MEDIANTE PROGRAMACIÓN MULTIPROCESO DE MEMORIA COMPARTIDA Autor ERIKA VIVIANA RIAÑO BEJAR Director JOSE ORLANDO MALDONADO BAUTISTA DEPARTAMENTO DE INGENIERÍAS ELÉCTRICA

Más detalles

Trabajo Práctico Número 6

Trabajo Práctico Número 6 Página 1 de 6 Trabajo Práctico Número 6 Arquitectura de Computadoras 24/05/2014 Instrucciones Los problemas de ejercitación propuestos en el presente trabajo práctico pueden ser resueltos en forma individual

Más detalles

Entornos de programación paralela basados en modelos/paradigmas

Entornos de programación paralela basados en modelos/paradigmas Program. paralela/distribuida Entornos de programación paralela basados en modelos/paradigmas Sobre la programación paralela 1 Índice Reflexiones sobre la programación paralela MapReduce Propuesta original

Más detalles

Programación Gráfica de Altas Prestaciones

Programación Gráfica de Altas Prestaciones rogramación Gráfica de Altas restaciones lataformas de altas prestaciones para Infomática Gráfica. Máster de Desarrollo de Software Depto. de Lenguajes y Sistemas Informáticos lsi.ugr.es/~jmantas/ga 1.

Más detalles

CAR. http://acarus.uson.mx/cursos2013/car.htm

CAR. http://acarus.uson.mx/cursos2013/car.htm CAR http://acarus.uson.mx/cursos2013/car.htm Sistemas de CAR en la UNISON Responsable : María del Carmen Heras Sánchez Asesores Técnicos : Aracely Dzul Campos Daniel Mendoza Camacho Yessica Vidal Quintanar

Más detalles

1. Partes del ordenador. Nuevas Tecnologías y Sociedad de la Información

1. Partes del ordenador. Nuevas Tecnologías y Sociedad de la Información 1 1. Conceptos básicos 2 Qué hacen los ordenadores? Un ordenador trabaja únicamente con información. Cuatro funciones básicas: Recibe información (entrada). Procesa la información recibida. Almacena la

Más detalles

Arquitectura de GPUs

Arquitectura de GPUs Arquitectura de GPUs Carlos Bederián, Nicolás Wolovick FaMAF, Universidad Nacional de Córdoba, Argentina 1 de Agosto de 2012 ECAR12@DC.UBA Revisión 3739, 2012-08-02 Introducción Organización GPU: cálculo

Más detalles

TEMA 1: EJECUCIÓN PARALELA: FUNDAMENTOS(I)

TEMA 1: EJECUCIÓN PARALELA: FUNDAMENTOS(I) Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas ARQUITECTURA DE COMPUTADORES II AUTORES: David Expósito Singh Florin Isaila Daniel Higuero Alonso-Mardones Javier García Blas Borja Bergua

Más detalles

Programa Educativo: Licenciatura en Sistemas PROGRAMA DE ESTUDIO

Programa Educativo: Licenciatura en Sistemas PROGRAMA DE ESTUDIO Programa Educativo: Licenciatura en Sistemas PROGRAMA DE ESTUDIO Computacionales Área de Formación : Sustantiva Profesional Horas teóricas: 4 Horas prácticas: 0 Total de Horas: 4 Arquitectura de computadoras

Más detalles

Quinta tarea: Existen varias versiones del 80486:

Quinta tarea: Existen varias versiones del 80486: Quinta tarea: Los primeros procesadores utilizados en los PC fueron los procesadores 8088 y 8086. Sus principales diferencias con el 80286 es que el segundo permite multitarea, tenía una velocidad de reloj

Más detalles

PROGRAMACIÓN AVANZADA DE GPUs PARA APLICACIONES CIENTÍFICAS

PROGRAMACIÓN AVANZADA DE GPUs PARA APLICACIONES CIENTÍFICAS Grupo de Ing. Electrónica aplicada a Espacios INteligentes y TRAnsporte Área Audio-Visual PROGRAMACIÓN AVANZADA DE GPUs PARA APLICACIONES CIENTÍFICAS Torrevieja (Alicante) Del 19 al 22 de Julio Álvaro

Más detalles

Arquitecturas GPU v. 2013

Arquitecturas GPU v. 2013 v. 2013 Stream Processing Similar al concepto de SIMD. Data stream procesado por kernel functions (pipelined) (no control) (local memory, no cache OJO). Data-centric model: adecuado para DSP o GPU (image,

Más detalles

Arquitectura de Computadoras para Ingeniería

Arquitectura de Computadoras para Ingeniería Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Arquitectura de Computadoras para Ingeniería Ejercicios Trabajo Práctico N 7 Jerarquía de Memoria Primer Cuatrimestre de

Más detalles

Intel lanza su procesador Caballero Medieval habilitado para Inteligencia Artificial

Intel lanza su procesador Caballero Medieval habilitado para Inteligencia Artificial Intel lanza su procesador Caballero Medieval habilitado para Inteligencia Artificial Intel ha lanzado su procesador Xeon Phi en la Conferencia Internacional de Supercomputación de Alemania. El procesador

Más detalles

8 abril 2014 IFEMA Madrid spain.ni.com/nidays. spain.ni.com

8 abril 2014 IFEMA Madrid spain.ni.com/nidays. spain.ni.com 8 abril 2014 IFEMA Madrid /nidays 1 Diseño de Sistemas de alto rendimiento para pruebas, medidas y control Covadonga Villalba Aplicaciones de Altas Prestaciones Test de producción de volumen elevado Creciente

Más detalles

RECONOCIMIENTO DE SUS COMPONENTES - LA PC POR DENTRO:

RECONOCIMIENTO DE SUS COMPONENTES - LA PC POR DENTRO: RECONOCIMIENTO DE SUS COMPONENTES - LA PC POR DENTRO: La placa base, placa madre, tarjeta madre (en ingles motherboard o mainboard) es una tarjeta de circuito a la que se conectan las demás partes de la

Más detalles

CAPACIDAD COMPUTACIONAL: Tabla 1: Resumen de algunas características de GPUs CUDA.

CAPACIDAD COMPUTACIONAL: Tabla 1: Resumen de algunas características de GPUs CUDA. IV. CAPACIDAD COMPUTACIONAL: Debido al uso de la tecnología CUDA en computación numérica, se han definido una serie de capacidades que ofrecen más información acerca del rendimiento de los dispositivos

Más detalles

Tema: Microprocesadores

Tema: Microprocesadores Universidad Nacional de Ingeniería Arquitectura de Maquinas I Unidad I: Introducción a los Microprocesadores y Microcontroladores. Tema: Microprocesadores Arq. de Computadora I Ing. Carlos Ortega H. 1

Más detalles

MPP. MIMD Computador Masivamente Paralelo

MPP. MIMD Computador Masivamente Paralelo MPP MIMD Computador Masivamente Paralelo BLUE GENE/Q Introducción Se trata del tercer representante de una serie que comenzó con el Blue Gene/L y continuó con el Blue Gene/P. Son máquinas desarrolladas

Más detalles

Arquitectura de Computadores Problemas (hoja 2). Curso

Arquitectura de Computadores Problemas (hoja 2). Curso Arquitectura de Computadores Problemas (hoja 2). Curso 2012-13 1. Sea la siguiente secuencia de código de instrucciones en punto flotante para un computador similar al DLX que aplica gestión dinámica de

Más detalles

Paralelismo _Arquitectura de Computadoras IS603

Paralelismo _Arquitectura de Computadoras IS603 Paralelismo _Arquitectura de Computadoras IS603 INTRODUCCION El objetivo de esta investigación, es conceptualizar las diferentes tipos de paralelismo referente al área de Arquitectura de Computadoras,

Más detalles

La compra del PC modelo para un ingeniero. Manuel Ujaldón Martínez Departamento de Arquitectura de Computadores Universidad de Málaga

La compra del PC modelo para un ingeniero. Manuel Ujaldón Martínez Departamento de Arquitectura de Computadores Universidad de Málaga La compra del PC modelo para un ingeniero Manuel Ujaldón Martínez Departamento de Arquitectura de Computadores Universidad de Málaga Datos de la muestra Población: Estudiantes de ingeniería técnica y superior,

Más detalles

También denominada adaptador de vídeo, es uno de los componentes más básicos e importantes del ordenador, ya que nos va a permitir visualizar toda la

También denominada adaptador de vídeo, es uno de los componentes más básicos e importantes del ordenador, ya que nos va a permitir visualizar toda la Conrado Perea También denominada adaptador de vídeo, es uno de los componentes más básicos e importantes del ordenador, ya que nos va a permitir visualizar toda la información con la que se trabaja. Antiguamente

Más detalles

TEMA 2: Organización de computadores

TEMA 2: Organización de computadores TEMA 2: Organización de computadores Procesadores Memorias Dispositivos de E/S 1 Computador Procesador, memoria, dispositivos de E/S CPU Unidad de control Unidad aritmética y lógica Registros Dispositivos

Más detalles

ARQUITECTURA DE VON NEUMANN Y HARVARD

ARQUITECTURA DE VON NEUMANN Y HARVARD ARQUITECTURA DE VON NEUMANN Y HARVARD ARQUITECTURA VON NEUMANN En esta arquitectura se observa que las computadoras utilizan el mismo dispositivo de almacenamiento para datos e instrucciones conectados

Más detalles

Arquitectura e Ingeniería de Computadores. Examen Parcial. 7/02/2012

Arquitectura e Ingeniería de Computadores. Examen Parcial. 7/02/2012 Apellidos Nombre Grupo: Arquitectura e Ingeniería de Computadores. Examen Parcial. 7/02/2012 Instrucciones.- Cada pregunta consta de cinco afirmaciones, y cada una de las afirmaciones puede ser cierta

Más detalles

Organización lógica Identificación de bloque

Organización lógica Identificación de bloque Cómo se encuentra un bloque si está en el nivel superior? La dirección se descompone en varios campos: Etiqueta (tag): se utiliza para comparar la dirección requerida por la CPU con aquellos bloques que

Más detalles

Procesamiento de imágenes en GPUs mediante CUDA. I. Introducción. Indice de contenidos

Procesamiento de imágenes en GPUs mediante CUDA. I. Introducción. Indice de contenidos Procesamiento de imágenes en GPUs mediante CUDA Manuel Ujaldón Martínez Nvidia CUDA Fellow Departamento de Arquitectura de Computadores Universidad de Málaga Indice de contenidos 1. Introducción. [2] 2.

Más detalles

SISTEMAS OPERATIVOS Arquitectura de computadores

SISTEMAS OPERATIVOS Arquitectura de computadores SISTEMAS OPERATIVOS Arquitectura de computadores Erwin Meza Vega emezav@unicauca.edu.co Esta presentación tiene por objetivo mostrar los conceptos generales de la arquitectura de los computadores, necesarios

Más detalles

Programación Concurrente y Paralela. Unidad 1 Introducción

Programación Concurrente y Paralela. Unidad 1 Introducción Programación Concurrente y Paralela Unidad 1 Introducción Contenido 1.1 Concepto de Concurrencia 1.2 Exclusión Mutua y Sincronización 1.3 Corrección en Sistemas Concurrentes 1.4 Consideraciones sobre el

Más detalles

Requisitos Técnicos de actualización de Cluster Heterogéneo

Requisitos Técnicos de actualización de Cluster Heterogéneo PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA LA CONTRATACIÓN, POR PROCEDIMIENTO NEGOCIADO CON PUBLICIDAD, DEL SUMINISTRO DE AMPLIACIÓN DEL SISTEMA DE SUPERCOMPUTACIÓN HETEROGÉNEO QUE ADQUIRIÓ EL BSC-CNS EN EL

Más detalles

Introducción a la programación de códigos paralelos con CUDA y su ejecución en un GPU multi-hilos

Introducción a la programación de códigos paralelos con CUDA y su ejecución en un GPU multi-hilos Introducción a la programación de códigos paralelos con CUDA y su ejecución en un GPU multi-hilos Gerardo A. Laguna-Sánchez *, Mauricio Olguín-Carbajal **, Ricardo Barrón-Fernández *** Recibido: 02 de

Más detalles