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

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

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

Transcripción

1 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: 500 GFLOPS CAtedrático de Univ. de Málaga CUDA Nvidia Ancho de banda GPU 6x ancho de banda: 7 GHz x 48 bytes = 336 GB/s. 2 GHz x 32 bytes = 64 GB/s. 2 El ancho de banda en un viaje de Málaga a Madrid (500 km) GFLOPS frente a la velocidad de mi coche Máxima: Tiempo efectivo en tren: 250 km/h. Preliminares: 3 minutos. Viaje: 2 horas, 30 minutos. Salida: 2 minutos. TOTAL: 2 horas, 35 minutos. Media después de 10 años de uso: 50 km/h. 200 km/h Tiempo efectivo en avión: Regularmente utilizo mi coche al 20% de su rendimiento pico. Debería estar decepcionado? Preliminares: 90 minutos. Viaje: 50 minutos. Salida: 30 minutos. TOTAL: 2 horas, 50 minutos ( y aún estás muy lejos del centro!) km/h 4

2 El ritmo en la ejecución de instrucciones: Del SM de Femi al SMX de Kepler El multiprocesador SMX en detalle 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 5 6 Expresando todo el paralelismo 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 Ejecuta hasta 10 warp_instrs. instr. warp G80: Tarda 4 ciclos en ejecutar cada warp_instrs. G80: 16 U.F. Ejemplo: Kernel con bloques de 384 hilos (12 warps). Fermi: - Emite 2. - Ejecuta hasta 5. SM en Fermi: 100 U.F. paralelas. Bloque 0: Bloque 1: sub fmadd fdiv64 load sqrt Kepler: - Emite 4 warps x 2 instrs. - Ejecuta hasta 16 warp_instrs. (512 unidades funcionales). 6x32 = 192 ALUs 192 FPU SP 64 FPU DP SMX en Kepler: 512 U.F. paralelas. 32 SFU 32 LD/ST 7 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). 8

3 En las GPUs Kepler concurren todas las formas de paralelismo. Ejemplo: K40. Paralelismo dependiente del volumen de datos 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 hilos en un ciclo si éstos son del color adecuado. SMX 15 La K40 puede planificar y emitir hasta 64x15 warps en un ciclo: hilos en 1.14 ns. 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. 9 El programa paralelo más elemental: Los bucles son paralelizables. Conocemos a priori la carga de trabajo. for (j=0; j<m; j++) convolution (i, j); El programa imposible más elemental: Desconocemos la carga de trabajo. El reto es su distribución (partición de datos). for (j=0; j<elementsonrow[i]; j++) convolution (i, j); N N max(elementsonrow[i]) Una solución mala: Supercómputo. Una solución peor: Serialización. M 10 Un desafío para los programadores CUDA: Realizado en 8 países hasta la fecha Puedes probar diversos operandos y operadores Qué hace el programa? Iterar en paralelo sobre cada elemento de una matriz dispersa comprimida por columnas. La matriz dispersa puede tener N=100 o N=200 columnas, cada una con un número distinto de elementos no nulos. Se computan bucle i numops sobre cada elemento. for (j=colptr[i]; j<colptr[i+1]; j++) for (k=0;k<numops;k++) value[j] += value[j]; Todos los bucles son forall. La carga computacional se desconoce en tiempo de compilación. El desafío es la partición de datos: bucle j max(elementsoncol[i]) Desplegar streams, kernels, bloques e hilos astutamente. N 11 int float double 6x32 = 192 ALUs 192 FPU SP 64 FPU DP SMX en Kepler: 512 U.F. paralelas. Procesamiento de matrices dispersas 32 SFU 32 LD/ST int float double values[numelements]; for all elements assigned to each thread: for numops. to be done on each element values[i] *= values[i]; Cambiar el operador a más sencillo (suma) o más complejo (división) también afectará según la latencia de cada operación. 12

4 Utilizar el CUDA Visual Profiler para conocer qué tal se adapta nuestra aplicación Y hay que elegir la estrategia de paralelización ganadora Procesamiento de matrices dispersas D 3: 2: De instrs. (ILP) 1: De tareas (TLP) e s to da D) M I (S Estrategia base: 13 La relación entre nuestro juego (SW) y el front-end y back-end de la GPU (HW) 4: Vectorial (warp = 32) Nuestro código recorre toda la matriz, realizando operaciones con cada elemento de forma independiente. Lanzaremos un kernel CUDA por cada columna de la matriz. Cada kernel tendrá el menor número posible de bloques. Cada bloque tendrá el mayor número posible de warps. 14 Las instrucciones para el concurso están en nuestra web:

5 Cómo crear los streams. Un ejemplo con 3 streams, cada uno compuesto de 3 kernels Cómo se representa una matriz dispersa en formato comprimido por columnas (CCS) stream 1 stream 2 stream 3 global kernel_a(pars) {body} // Same for BZ cudastream_t stream_1, stream_2, stream_3; cudastreamcreatewithflags(&stream_1, ); cudastreamcreatewithflags(&stream_2, ); cudastreamcreatewithflags(&stream_3, ); kernel_a <<< dimgrida, dimblocka, 0, stream_1 >>> (pars); kernel_b <<< dimgridb, dimblockb, 0, stream_1 >>> (pars); kernel_c <<< dimgridc, dimblockc, 0, stream_1 >>> (pars); kernel_p <<< dimgridp, dimblockp, 0, stream_2 >>> (pars); kernel_q <<< dimgridq, dimblockq, 0, stream_2 >>> (pars); kernel_r <<< dimgridr, dimblockr, 0, stream_2 >>> (pars); kernel_x <<< dimgridx, dimblockx, 0, stream_3 >>> (pars); kernel_y <<< dimgridy, dimblocky, 0, stream_3 >>> (pars); kernel_z <<< dimgridz, dimblockz, 0, stream_3 >>> (pars); stream_1 kernel_a kernel_b kernel_c stream_2 kernel_p kernel_q kernel_r stream_3 kernel_x kernel_y kernel_z Ejemplo para una matriz 5x5: Índices de fila colptr value 0 3 número de elementos en cada columna (acumulados) según se recorren verticalmente rowidx for (j=colptr[i]; j<colptr[i+1]; j++) value[j] += value[j]; posición horizontal de cada valor Para esta estructura de datos, así recorremos la matriz: Matrices dispersas que se pueden usar (tomadas de la colección Matrix Market) Área científica Filas de la matriz Columnas de la matriz Elementos no nulos Carga de trabajo Economía Demografía Oceanografía Física cuántica Álgebra lineal Procesamiento de imágenes Astrofísica Bioquímica Base x Base x Base x Base Base x Base x Base x Base Nombres usados para las matrices: mat-f-c-n.rua, donde F, C y N son el número de filas, columnas y no-nulos. Ejemplo: La primera matriz se llama mat k.rua

6 Las 10 mejores optimizaciones realizadas por los estudiantes 1. Incrementar el número de operaciones por elemento (1024). 2. Incrementar el tamaño de la matriz dispersa (máx. 69M). 3. Cambiar el operador (add/sub/mul/div). 4. Cambiar el operando (int/float/double). 5. Optimizar el tamaño de bloque (384 hilos por bloque). 6. Agrupar bloques en kernels y éstos en streams para expresar más paralelismo. 7. Optimizar los accesos a memoria usando registros y memoria compartida. 8. Guiar al compilador a través de directivas #pragma unroll. 9. Sacar provecho a la operación madd. 10. Usar instrucciones vectoriales para explotar (x,y,z,w) y (r,g,b,a). 21 Rendimiento logrado sobre GeForce GTX480 [techo: 1330 GFLOPS sobre floats (32-bit)] Punto de partida Optimización Acceler. Rendimiento 1. Incrementar el número de operaciones por elemento (<1024) 2. Usar una matriz más grande (hasta no-ceros) 3. Elegir el operador de suma (add) 4. Sustituir el operando double (64-bits) por float (32-bit) 5. Sintonizar el tamaño de bloque (384 hilos) 6. Agrupar los kernels en streams 7. Optimizar los accesos a memoria usando la compartida y regs. 8. Desenrollar el lazo con directivas de compilación #pragma 9. Habilitar el operador FMADD (fused multiply-add) 10. Activar el procesamiento vectorial en las operaciones (4 en 1) 1.2 Saturar el número de operaciones (hasta 1M) 8.2 Saturar el factor de desenrollado del lazo (hasta 4096) 2.2 Generar una matriz enorme que explote la escalabilidad 2.3 Adaptar la matriz a la estructura del paralelismo CUDA GFLOPS x 0.20 GFLOPS x GFLOPS 1.00 x GFLOPS 1.89 x GFLOPS 1.00 x GFLOPS 1.00 x GFLOPS 3.19 x GFLOPS 4.07 x GFLOPS 2.15 x GFLOPS 1.00 x GFLOPS 1.02 x GFLOPS 1.01 x GFLOPS 1.02 x GFLOPS 1.01 x GFLOPS 22 Observaciones finales Observaciones finales No empleamos contadores de rendimiento para medir los GFLOPS en el programa del concurso. Verás la fórmula: GFLOPS attained = (nops. performed) / (elapsed time) No obstante, bajo ciertas estrategias de optimización, se permite cambiar la fórmula para contabilizar tus logros. En caso de que creas que tienes derecho a modificar dicha fórmula, consúltame! 23 Conflicto: Las comunicaciones gastan más energía que la computación, pero necesitamos intensidad operacional para que los chips exploten los GFLOPS. No pierdas de vista las latencias, tienen un peso creciente (frente al ancho de banda). Las aplicaciones científicas han evolucionado históricamente tratando de minimizar la interacción con memoria. Los GFLOPS pico no son un estimador fiable del rendimiento. La GPU requiere un esfuerzo del programador para apurar el rendimiento pero éste se amortiza con los años gracias a su escalabiidad. 24

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

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

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

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

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

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

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

Arquitecturas y programación de procesadores gráficos. Nicolás Guil Mata Dpto. de Arquitectura de Computadores Universidad de Málaga

Arquitecturas y programación de procesadores gráficos. Nicolás Guil Mata Dpto. de Arquitectura de Computadores Universidad de Málaga Arquitecturas y programación de procesadores gráficos Dpto. de Arquitectura de Computadores Universidad de Málaga Indice Arquitectura de las GPUs Arquitectura unificada Nvidia: GT200 Diagrama de bloques

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

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

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria 1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo

Más detalles

Flaviu Vasile Buturca TRABAJO FINAL DE CARRERA. Dirigido por Carles Aliagas Castell. Grado de Ingeniería Informática

Flaviu Vasile Buturca TRABAJO FINAL DE CARRERA. Dirigido por Carles Aliagas Castell. Grado de Ingeniería Informática Flaviu Vasile Buturca Programación Algoritmos paralela CUDAen CUDA TRABAJO FINAL DE CARRERA Dirigido por Carles Aliagas Castell Grado de Ingeniería Informática Tarragona 2016 UNIVERSIDAD ROVIRA I VIRGILI

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

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

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

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

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

SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 3. PLANIFICACIÓN ESTÁTICA AVANZADA. TMS320C6713

SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 3. PLANIFICACIÓN ESTÁTICA AVANZADA. TMS320C6713 SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 3. PLANIFICACIÓN ESTÁTICA AVANZADA. TMS320C6713 OBJETIVOS. En esta práctica se trata de estudiar dos de las técnicas de planificación estática más importantes:

Más detalles

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina

Más detalles

Computación matricial dispersa con GPUs y su aplicación en Tomografía Electrónica

Computación matricial dispersa con GPUs y su aplicación en Tomografía Electrónica con GPUs y su aplicación en Tomografía Electrónica F. Vázquez, J. A. Martínez, E. M. Garzón, J. J. Fernández Portada Universidad de Almería Contenidos Computación matricial dispersa Introducción a SpMV

Más detalles

Estructura de Computadores Tema 1. Introducción a los computadores

Estructura de Computadores Tema 1. Introducción a los computadores Estructura de Computadores Tema 1. Introducción a los computadores Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido

Más detalles

Modelo de aplicaciones CUDA

Modelo de aplicaciones CUDA Modelo de aplicaciones CUDA Utilización de GPGPUs: las placas gráficas se utilizan en el contexto de una CPU: host (CPU) + uno o varios device o GPUs Procesadores masivamente paralelos equipados con muchas

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

LAS unidades de procesamiento gráfico (GPUs)

LAS unidades de procesamiento gráfico (GPUs) Uso del conocimiento de la arquitectura Fermi para mejorar el rendimiento en aplicaciones CUDA Yuri Torres, Arturo González-Escribano y Diego R. Llanos 1 Resumen Las unidades de procesamiento gráfico (GPUs)

Más detalles

TEMA III: OPERACIONES CON LOS DATOS

TEMA III: OPERACIONES CON LOS DATOS CUESTIONES A TRATAR: Cual es la función de la unidad operativa? Es necesaria? Qué tipos de circuitos implementan la unidad operativa? Unidad operativa frente a ALU Qué es una operación de múltiple precisión?

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

Paralelismo en monoprocesadores. Procesadores VLIW

Paralelismo en monoprocesadores. Procesadores VLIW Paralelismo en morocesadores Procesadores VLIW Profesor: Mag. Marcelo Tosini Cátedra: Arquitectura de Computadoras y técnicas Digitales Carrera: Ingeniería de Sistemas Ciclo: 4º año Arquitectura VLIW básica

Más detalles

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas El computador puede realizar cálculos además de mostrar datos por pantalla.

Más detalles

Introducción. Por último se presentarán las conclusiones y recomendaciones pertinentes.

Introducción. Por último se presentarán las conclusiones y recomendaciones pertinentes. Introducción En el presente documento se explicarán las consideraciones realizadas para implementar la convolución bidimensional en la arquitectura CUDA. En general se discutirá la metodología seguida

Más detalles

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales

Más detalles

Arquitecturas vectoriales, SIMD y extensiones multimedia

Arquitecturas vectoriales, SIMD y extensiones multimedia Arquitecturas vectoriales, SIMD y extensiones multimedia William Stallings, Organización y Arquitectura de Computadores, 5ta. ed., Capítulo 16: Procesamiento Paralelo. Andrew S. Tanenbaum, Organización

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

Ejercicios del tema 4. El procesador

Ejercicios del tema 4. El procesador jercicios del tema 4. l procesador jercicio 1. Considere un procesador de 32 bits con una frecuencia de reloj de 500 MHz con la estructura del mostrado en el jercicio 3. La memoria se direcciona por bytes

Más detalles

El nivel ISA (II)! Conjunto de Instrucciones

El nivel ISA (II)! Conjunto de Instrucciones El nivel ISA (II) Conjunto de Instrucciones EC-2721 Arquitectura del Computador I Que es un Conjunto de Instrucciones? Colección completa de instrucciones comprendida por un procesador Lenguaje de máquina

Más detalles

Programación de GPUs con CUDA

Programación de GPUs con CUDA Programación de GPUs con CUDA Alvaro Cuno 23/01/2010 1 Agenda GPUs Cuda Cuda + OpenGL 2 GPUs (Graphics Processing Units) 3 Supercomputadores Mapa de los 100 supercomputadores Sudamérica: posiciones 306

Más detalles

Herramientas para el estudio de prestaciones en clusters de computación científica, aplicación en el Laboratorio de Computación Paralela

Herramientas para el estudio de prestaciones en clusters de computación científica, aplicación en el Laboratorio de Computación Paralela Introducción Herramientas Estudio Conclusiones Herramientas para el estudio de prestaciones en clusters de computación científica, aplicación en el Laboratorio de Computación Paralela Ingeniería en Informática

Más detalles

6. PROCESADORES SUPERESCALARES Y VLIW

6. PROCESADORES SUPERESCALARES Y VLIW 6. PROCESADORES SUPERESCALARES Y VLIW 1 PROCESADORES SUPERESCALARES Y VLIW 1. Introducción 2. El modelo VLIW 3. El cauce superescalar 4. Superescalar con algoritmo de Tomasulo 2 PROCESADORES SUPERESCALARES

Más detalles

UNIDAD II Metodología de programación paralela. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM

UNIDAD II Metodología de programación paralela. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM UNIDAD II Metodología de programación paralela UNIDAD II: Metodología de programación paralela Metodología de programación paralela Algunos conceptos que nos ayudarán a entender mejor el tema. Modelos

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

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik Objetivos Objetivos Arquitecturas von Neumann Otras Unidad Central de Procesamiento (CPU) Responsabilidades Requisitos Partes de una CPU ALU Control & Decode Registros Electrónica y buses 2 Índice Capítulo

Más detalles

Unidad I: Organización del Computador. Ing. Marglorie Colina

Unidad I: Organización del Computador. Ing. Marglorie Colina Unidad I: Organización del Computador Ing. Marglorie Colina Arquitectura del Computador Atributos de un sistema que son visibles a un programador (Conjunto de Instrucciones, Cantidad de bits para representar

Más detalles

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos INDICE Parte I. La computadora digital: organización, operaciones, periféricos, lenguajes y sistemas operativos 1 Capitulo 1. La computadora digital 1.1. Introducción 3 1.2. Aplicaciones de las computadoras

Más detalles

HPC y GPUs. GPGPU y software libre. Emilio J. Padrón González DE UNIVERSIDADE DA CORUNA GAC.UDC.ES

HPC y GPUs. GPGPU y software libre. Emilio J. Padrón González DE UNIVERSIDADE DA CORUNA GAC.UDC.ES HPC y GPUs GPGPU y software libre Emilio J. Padrón González DE UNIVERSIDADE DA CORUNA GAC.UDC.ES Workshop HPC y Software Libre Ourense, Octubre 2011 Contenidos 1 Introducción Evolución CPUs Evolución GPUs

Más detalles

Prerrequisitos para este tutorial. I. Introducción

Prerrequisitos para este tutorial. I. Introducción Programando la GPU con CUDA Contenidos del tutorial [142 diapositivas] Cursos de Verano de la Universidad de Málaga Julio, 2015 1. Introducción. [24 diapositivas] 2. Arquitectura. [27] 1. El modelo hardware

Más detalles

Introducción a las Arquitecturas Paralelas. Arquitectura de Computadoras II Fac. Cs. Exactas UNCPBA Prof. Marcelo Tosini 2015

Introducción a las Arquitecturas Paralelas. Arquitectura de Computadoras II Fac. Cs. Exactas UNCPBA Prof. Marcelo Tosini 2015 Introducción a las Arquitecturas Paralelas Arquitectura de Computadoras II Fac. Cs. Exactas UNCPBA Prof. Marcelo Tosini 2015 Procesamiento Paralelo Uso de muchas unidades de proceso independientes para

Más detalles

Lusitania. Pensando en Paralelo. César Gómez Martín

Lusitania. Pensando en Paralelo. César Gómez Martín Lusitania Pensando en Paralelo César Gómez Martín cesar.gomez@cenits.es www.cenits.es Esquema Introducción a la programación paralela Por qué paralelizar? Tipos de computadoras paralelas Paradigmas de

Más detalles

Linear Algebra PACKage (LAPACK) Avances en la Generación de Bibliotecas de Álgebra Lineal Universidad Politécnica de Valencia Marzo, 2006

Linear Algebra PACKage (LAPACK) Avances en la Generación de Bibliotecas de Álgebra Lineal Universidad Politécnica de Valencia Marzo, 2006 Linear Algebra PACKage () Avances en la Generación de Bibliotecas de Álgebra Lineal Universidad Politécnica de Valencia Marzo, 2006 Estructura Qué es la biblioteca? Organización de Funcionalidad de Sistemas

Más detalles

Memorias RAM. Basilio B. Fraguela Rodríguez. Copyright Basilio B. Fraguela 2006

Memorias RAM. Basilio B. Fraguela Rodríguez. Copyright Basilio B. Fraguela 2006 Memorias RAM Basilio B. Fraguela Rodríguez Evolución de la velocidad del procesador y la memoria 1000 Ley de Moore CPU µproc 60%/año 100 10 1 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 DRAM 1990

Más detalles

Facultad De Ingeniería Programa de Ingeniería Industrial

Facultad De Ingeniería Programa de Ingeniería Industrial Facultad De Ingeniería Programa de Ingeniería Industrial Código Materia: 05252 Excel Nivel Intermedio Requisito: 09641 Habilidades Básicas en Hojas Electrónicas Programa Semestre: Ingeniería Industrial

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

Universidad de Córdoba. Trabajo de Fin de Máster

Universidad de Córdoba. Trabajo de Fin de Máster Universidad de Córdoba Máster en Sistemas Inteligentes Trabajo de Fin de Máster Minería de Reglas de Asociación en GPU Córdoba, Julio de 2013 Autor: Alberto Cano Rojas Director: Dr. Sebastián Ventura Soto

Más detalles

Fila: Es un conjunto de varias celdas dispuestas en sentido horizontal.

Fila: Es un conjunto de varias celdas dispuestas en sentido horizontal. Que Es Excel? Excel es un programa que permite la manipulación de libros y hojas de calculo. En Excel, un libro es el archivo en que se trabaja y donde se almacenan los datos. Como cada libro puede contener

Más detalles

Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU

Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU Computación de Propósito General en Unidades de Procesamiento Gráfico () R. Bayá, E. Dufrechou, P. Ezzattiy M. Pedemonte Clase 1 Introducción Contenido Un poco de historia El pipeline gráfico Tarjetas

Más detalles

Arquitectura de Computadores II Clase #7

Arquitectura de Computadores II Clase #7 Arquitectura de Computadores II Clase #7 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Memoria virtual 1 Recordemos: Jerarquía de Memoria Registros Instr.

Más detalles

Programación en Visual Basic Ricardo Rodríguez García

Programación en Visual Basic Ricardo Rodríguez García Manual Básico de Programación en Visual Basic 1.- Estructura de un proyecto Visual Basic Los programas o aplicaciones desarrolladas en Visual Basic van a constituir un único paquete que denominaremos proyecto.

Más detalles

Herramientas Informáticas I Software: Sistemas Operativos

Herramientas Informáticas I Software: Sistemas Operativos Herramientas Informáticas I Software: Sistemas Operativos Facultad de Ciencias Económicas y Jurídicas Universidad Nacional de La Pampa Sistemas Operativos. Es el software base que permite trabajar como

Más detalles

Computación heterogénea y su programación. 1. Introducción a la computación heterogénea. Indice de contenidos [38 diapositivas]

Computación heterogénea y su programación. 1. Introducción a la computación heterogénea. Indice de contenidos [38 diapositivas] Computación heterogénea y su programación Manuel Ujaldón Nvidia CUDA Fellow Departmento de Arquitectura de Computadores Universidad de Málaga (España) Indice de contenidos [38 diapositivas] 1. Introducción

Más detalles

Guia para examen de Sistemas Embebidos I Para primer parcial Febrero 2013 Revisión 2 Ing. Julio Cesar Gonzalez Cervantes

Guia para examen de Sistemas Embebidos I Para primer parcial Febrero 2013 Revisión 2 Ing. Julio Cesar Gonzalez Cervantes Qué significa ALU? Arithmetic Logic Unit Guia para examen de Sistemas Embebidos I Para primer parcial Febrero 2013 Revisión 2 Ing. Julio Cesar Gonzalez Cervantes que operaciones realiza un ALU? suma, resta,

Más detalles

Departamento de Arquitectura de computadores y electrónica Universidad de Almería. Tesis Doctoral

Departamento de Arquitectura de computadores y electrónica Universidad de Almería. Tesis Doctoral Departamento de Arquitectura de computadores y electrónica Universidad de Almería Tesis Doctoral Computación algebraica dispersa con procesadores grácos y su aplicación en tomografía electrónica Francisco

Más detalles

Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU

Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU Computación de Propósito General en Unidades de Procesamiento Gráfico () E. Dufrechou, P. Ezzatti, M. Pedemontey J.P. Silva Clases 4 Programación Contenido Modelo de programación Introducción Programación

Más detalles

Explotación del paralelismo a nivel de instrucción

Explotación del paralelismo a nivel de instrucción Explotación del paralelismo a nivel de instrucción Arquitectura de Computadores J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato

Más detalles

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN CUESTIONES A TRATAR: Existe un tipo único tipo de memoria en un determinado computador? Todas las memorias de un computador tienen la misma función?. Qué es la memoria interna de un computador? Por qué

Más detalles

Microsoft Excel 2010 Completo + Profesional

Microsoft Excel 2010 Completo + Profesional Microsoft Excel 2010 Completo + Profesional Duración: 80.00 horas Descripción La hoja de cálculo es una herramienta básica para realizar operaciones aritméticas de una forma rápida y sencilla. Asimismo

Más detalles

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los

Más detalles

ADMINISTRACION DE LA MEMORIA. En memoria 1 solo proceso Desventajas:

ADMINISTRACION DE LA MEMORIA. En memoria 1 solo proceso Desventajas: ADMINISTRACION DE LA MEMORIA Función del Administrador de Memoria Registra qué parte de memoria está libre y ocupada Asigna y libera espacio en memoria a los procesos Administra el intercambio entre la

Más detalles

Tema V Generación de Código

Tema V Generación de Código Tema V Generación de Código Una vez que se ha realizado la partición HW/SW y conocemos las operaciones que se van a implementar por hardware y software, debemos abordar el proceso de estas implementaciones.

Más detalles

índice MÓDULO 1: Introducción a Visual Basic 6.0 MÓDULO 2: Fundamentos de programación TEMA 1. Introducción a Visual Basic 6.0

índice MÓDULO 1: Introducción a Visual Basic 6.0 MÓDULO 2: Fundamentos de programación TEMA 1. Introducción a Visual Basic 6.0 MÓDULO 1: Introducción a Visual Basic 6.0 TEMA 1. Introducción a Visual Basic 6.0 1.1 Conceptos de programación...1-1 1.2 Introducción a Visual Basic...1-1 1.3 Iniciar una sesión de Visual Basic 6.0...1-2

Más detalles

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF ESCUELA POLITÉCNICA SUPERIOR GRADO EN DISEÑO IND. INFORMÁTICA CURSO 2012-13 PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF HASTA AHORA... En prácticas anteriores se ha aprendido: La estructura principal de un

Más detalles

Consigue las herramientas que necesitas Inicio: 20 Noviembre 2016

Consigue las herramientas que necesitas Inicio: 20 Noviembre 2016 formacion@galejobs.com ONLINE / 30H MACROS CON VBA PARA EXCEL Consigue las herramientas que necesitas Inicio: 20 Noviembre 2016 290 IVA inc. OBJETIVOS QUÉ APRENDERÁS EN EL CURSO En la actualidad, las empresas

Más detalles

Estudio de rendimiento en GPU

Estudio de rendimiento en GPU Proyecto Fin de Máster en Ingeniería de Computadores Curso académico 2009-2010 Estudio de rendimiento en GPU Autor: Carlos Juega Reimúndez Directores del proyecto: José Ignacio Gómez Pérez Christian Tenllado

Más detalles

TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP).

TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). ÍNDICE: 4.1. Introducción: Aplicaciones científicas y multimedia. 4.2. Arquitecturas vectoriales segmentadas clásicas. 4.3. Extensiones multimedia y núcleos

Más detalles

PASOS PARA CREAR FUNCIONES CON VBA

PASOS PARA CREAR FUNCIONES CON VBA PASOS PARA CREAR FUNCIONES CON VBA Una función es un conjunto de instrucciones que permiten predefinir una fórmula que será utilizada en la hoja de cálculo y que mostrará su resultado en una celda. La

Más detalles

Optimización de Rutinas Multinivel de Álgebra Lineal en Sistemas Multicore

Optimización de Rutinas Multinivel de Álgebra Lineal en Sistemas Multicore Máster en Nuevas Tecnologías en Informática Facultad de Informática Universidad de Murcia Optimización de Rutinas Multinivel de Álgebra Lineal en Sistemas Multicore Autor: Jesús Cámara Moreno Directores:

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

Tema 4. Operadores y Expresiones

Tema 4. Operadores y Expresiones Tema 4 Operadores y Expresiones Contenidos 1. Conceptos Básicos. 2. Operadores Aritméticos. 3. Operadores de Relación, de Igualdad y Lógicos. 4. Operadores de Incremento y Decremento. 5. Operadores y Expresiones

Más detalles

Computación II. Introducción a Visual Basic

Computación II. Introducción a Visual Basic Computación II Introducción a Visual Basic Introducción a Visual Basic Microsoft Visual Basic es un conjunto de herramientas que posibilitan el desarrollo de aplicaciones para Windows de una manera rápida

Más detalles

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior.

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior. 6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior. 6.1. El subsistema de E/S Qué es E/S en un sistema computador? Aspectos en el diseño del subsistema de E/S: localización

Más detalles

Multiplicación de Matrices en Sistemas cc-numa Multicore. Autor: Jesús Cámara Moreno Director: Domingo Giménez Cánovas

Multiplicación de Matrices en Sistemas cc-numa Multicore. Autor: Jesús Cámara Moreno Director: Domingo Giménez Cánovas Multiplicación de Matrices en Sistemas cc-numa Multicore Autor: Jesús Cámara Moreno Director: Domingo Giménez Cánovas Índice de Contenido 1. Introducción 2. Línea de Investigación 3. Sistemas Empleados

Más detalles

Síntesis arquitectónica y de alto nivel

Síntesis arquitectónica y de alto nivel Síntesis arquitectónica y de alto nivel Módulo 1. Concepto y fases de la Síntesis de Alto Nivel 1 Diseño de circuitos: la complejidad Tratamiento de problemas de complejidad creciente Rápido desarrollo

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

Algoritmos. Intro. Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison

Algoritmos. Intro. Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison Algoritmos Intro Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison La Computadora Las computadoras trabajan con una base de 0 y 1 llamado sistema binario. En principio todo lo que sucede en un dispositivo

Más detalles

Febrero 2012. Departamento de Electrónica e Sistemas Universidade da Coruña. Introducción a las Extensiones Multimedia

Febrero 2012. Departamento de Electrónica e Sistemas Universidade da Coruña. Introducción a las Extensiones Multimedia a a Departamento de Electrónica e Sistemas Universidade da Coruña Febrero 2012 3 a Índice a 3 1 2 3 4 5 6 3 a Qué son extensiones multimedia? a Son nuevas instrucciones añadidas al repertorio de instrucciones

Más detalles

Utilización de la programación paralela en procesadores gráficos para el cálculo científico.

Utilización de la programación paralela en procesadores gráficos para el cálculo científico. Utilización de la programación paralela en procesadores gráficos para el cálculo científico. EMNO 2013 Rolando E. Rodríguez Fernández Medicina Computacional, Instituto de Nefrología. y Facultad de Física,

Más detalles

Oracle Database: Programación con PL/SQL

Oracle Database: Programación con PL/SQL Oracle University Contact Us: 0800-100-4183 & 0800-100-6854 Oracle Database: Programación con PL/SQL Duration: 5 Days What you will learn Este curso ofrece una introducción sobre PL/SQL y enumera la lista

Más detalles

FUNDAMENTOS DE INFORMÁTICA

FUNDAMENTOS DE INFORMÁTICA FUNDAMENTOS DE INFORMÁTICA Tema 2 Expresiones, operadores y estructuras de control Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo Fundamentos de Informática. Departamento de Ingeniería

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

Sistemas Operativos. Introducción. Tema 6

Sistemas Operativos. Introducción. Tema 6 Sistemas Operativos Introducción Qué es un sistema operativo? Ubicación de un sistema operativo en un computador Descripción de un sistema operativo: Funcional Estructural Realización Funciones de los

Más detalles

Fundamentos del Diseño de Computadores

Fundamentos del Diseño de Computadores Fundamentos del Diseño de Computadores Arquitectura de Computadores J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato Grupo ARCOS

Más detalles

ENTRADAS DE CONTADOR DE ALTA VELOCIDAD

ENTRADAS DE CONTADOR DE ALTA VELOCIDAD ENTRADAS DE CONTADOR DE ALTA VELOCIDAD Esta función cuenta las entradas de señales de impulsos en los terminales de entrada incorporada Configuración La configuración del contador de alta velocidad se

Más detalles

Descripción y Contenido del Curso. Programación C++ Capacity Academy.

Descripción y Contenido del Curso. Programación C++ Capacity Academy. Descripción y Contenido del Curso Programación C++ Capacity Academy Educación en Tecnología de la Información Online, Efectiva y Garantizada Qué aprenderá si toma este Curso? En este curso aprenderás todo

Más detalles

Computación Gráfica = CG = Computer Graphics

Computación Gráfica = CG = Computer Graphics Computación Gráfica = CG = Computer Graphics Porqué computación gráfica? Para qué sirve? Cómo se utiliza? Cuáles son las principales áreas? Necesidad contemporanea Visualizar/Analizar lo imposible Una

Más detalles

La GPU como arquitectura emergente para supercomputación. Nicolás Guil y Manuel Ujaldón Dpto. Arquitectura de Computadores Universidad de Málaga

La GPU como arquitectura emergente para supercomputación. Nicolás Guil y Manuel Ujaldón Dpto. Arquitectura de Computadores Universidad de Málaga La GPU como arquitectura emergente para supercomputación Nicolás Guil y Manuel Ujaldón Dpto. Arquitectura de Computadores Universidad de Málaga Sumario I. El proceso de renderización [7] II. El nacimiento

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

Gestión de Entrada-salida

Gestión de Entrada-salida Gestión de Entrada-salida E. Campo M. Knoblauch Ó. López J. Clemente Departamento de Automática Universidad de Alcalá Sistemas Operativos Avanzados Gestión de Entrada-salida 1 / 18 Índice Introducción

Más detalles

Clasificación n de los Sistemas Operativos. Clasificación de los SO Estructuras de los SO Modos de procesamiento

Clasificación n de los Sistemas Operativos. Clasificación de los SO Estructuras de los SO Modos de procesamiento Clasificación n de los Sistemas Operativos Contenidos Clasificación de los SO Estructuras de los SO Modos de procesamiento Se pueden clasificar en Sistemas monolíticos Sistemas por capas Sistemas cliente/servidor

Más detalles

Procesadores superescalares. Introducción

Procesadores superescalares. Introducción Procesadores superescalares Introducción Introducción El término superescalar (superscalar) fue acuñado a fines de los 80s. Todas las CPUs modernas son superescalares. Es un desarrollo de la arquitectura

Más detalles

QUANTUM COMPUTACION CURSO DE PLANILLA ELECTRONICA MICROSOFT EXCEL 2013

QUANTUM COMPUTACION CURSO DE PLANILLA ELECTRONICA MICROSOFT EXCEL 2013 00088 CURSO QDE PLANILLA ELECTRONICAMICROSOFT EXCEL 2007 CAPÍTULO 1: INTRODUCCIÓN PLANILLAS ELECTRÓNICAS Qué es Excel? Orígenes de las Hojas de Cálculo Propiedades de las Planillas Electrónicas CAPÍTULO

Más detalles

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

Más detalles