Alejandro Molina Zarca

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

Download "Alejandro Molina Zarca"

Transcripción

1 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 Zarca

2 Qué es CUDA? CUDA es una arquitectura de cálculo paralelo que hace referencia tanto a un compilador como a un conjunto de herramientas de desarrollo creadas por NVIDIA. Permite a los programadores usar una variación de C/C++ para codificar algoritmos en una GPU de NVIDIA. Mediante wrappers se puede utilizar Python, Fortran, Java, OpenGL y Direct3D.

3 Por qué CUDA? Hoy en día, el mercado demanda aplicaciones en tiempo real, alta definición y 3D que obtienen un alto rendimiento únicamente mediante el paralelismo. CUDA intenta explotar las ventajas de las GPU frente a las CPU de propósito general utilizando el paralelismo que ofrecen sus múltiples nucleos. En aplicaciones que utilicen numerosos hilos que relicen tareas independientes (que es lo que hacen las GPU al procesar gráficos de manera natural), una GPU podrá ofrecer un gran rendimiento.

4 Por qué CUDA?

5 Por qué CUDA?

6 Donde se usa CUDA? En prácticamente todas las aplicaciones de video actuales. AMBER, simulador de dinámica molecular. Numerix y CompatibL en el mercado financiero. En la actualidad existen más de 700 clusters de GPUs instalados en compañias Fortune 500 de todo el mundo, lo que incluye empresas como Schlumberger y Chevron en el sector energético o BNP Pariba en el sector bancario.

7 El Modelo CUDA CUDA intenta aprovechar el gran paralelismo, y el alto ancho de banda de la memoria en las GPU en aplicaciones con un gran coste aritmético frente a realizar numerosos accesos a memoria principal.

8 Escalabilidad El objetivo es que se desarrolle software con paralelismo escalable que aproveche el número de nucleos disponibles de forma transparente. Un programa multitarea se particiona automáticamente en bloques de hilos independientes, acorde al número de nucleos disponibles.

9 Escalabilidad Los mismos bloques, se dividen de forma óptima según el número de nucleos del sistema.

10 Modelo de programación CUDA extiende C, permitiendo al programador definir funciones denominadas kernel que son ejecutadas por N hilos diferentes en paralelo. Un kernel es ejecutado por uno o más bloques de hilos. Hay un límite de hilos por bloque que depende de los recursos del sistema. Actualmente es de Un hilo tiene un identificador único, accesible dentro del kernel mediante la variable threadidx.

11 Modelo de programación: - Kernel Mediante la sentencia global definimos el kernel Identificador de hilo Un bloque de N hilos Llamada al Kernel

12 Modelo de programacion Para mayor comodidad del programador, la variable threadidx es un vector de tres componentes gracias a la cual los hilos pueden ser identificados por su indice en una, dos y tres dimensiones. Los bloques de hilos también poseen una variable blockidx con el mismo propósito. La dimensión de un bloque es accesible mediante la variable blockdim.

13 Modelo de programación Las compoenentes x e y indican la posicion dentro del bloque en caso del thread, o del grid en caso del bloque.

14 Modelo de programación La cantidad de hilos por bloque y la cantidad de bloques pueden establecerse utilizando: Int dim3 Los hilos de un mismo bloque pueden coordinarse mediante la sentencia syncthreads().

15 Jerarquía de memoria Cada hilo posee una memoria local privada. Cada bloque de hilos tiene una memoria compartida visible a todos los hilos del bloque. Todos los hilos tienen acceso a la memoria global del sistema.

16 Jerarquía de memoria

17 Programación Heterogenea El modelo de programación de CUDA asume que los bloques que ejecutan los kernel se ejecutarán en la GPU mientras que el resto se ejecutará en la CPU. Tanto la GPU como la CPU mantienen su propio espacio de memoria DRAM, con lo que en tiempo de ejecución se deben gestionar las transferencias entre los dos espacios de memoria.

18 Programación Heterogenea

19 Memoria Compartida CUDA recomienda en la medida de lo posible, trabajar con memoria compartida, evitando así la sobrecarga sobre los accesos a memoria global. En el ejemplo de la multiplicación de matrices, sin memoria compartida, cada hilo leería una fila y columna de las matrices y calcularía el elemento de la matriz resultante. Partiendo la matriz en bloques, podemos mantener ocupado un bloque de hilos utilizando la memoria compartida.

20 Memoria Compartida

21 Memoria Compartida La sentencia device permite construir una submatriz, asi como obtener y establecer elementos a partir de una matriz.

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

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

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

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

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

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

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

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

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 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

Preparación y Adaptación de Códigos Científicos para su Ejecución Paralela TICAL 2018

Preparación y Adaptación de Códigos Científicos para su Ejecución Paralela TICAL 2018 Preparación y Adaptación de Códigos Científicos para su Ejecución Paralela TICAL 2018 Gilberto Díaz gilberto.diaz@uis.edu.co Universidad Industrial de Santander Centro de Súper Computación y Cálculo Científico

Más detalles

Segunda Parte: TECNOLOGÍA CUDA

Segunda Parte: TECNOLOGÍA CUDA Segunda Parte: (compute unified device architecture) 12 I. CUDA CUDA es una arquitectura de cálculo paralelo de NVIDIA que aprovecha la potencia de la GPU (unidad de procesamiento gráfico) para proporcionar

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

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

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

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

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

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

Aplicaciones Concurrentes

Aplicaciones Concurrentes PROGRAMACIÓN CONCURRENTE TEMA 6 Aplicaciones Concurrentes ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN PROGRAMACIÓN CONCURRENTE Aplicaciones Concurrentes

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

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

CDI Arquitecturas que soportan la concurrencia. granularidad

CDI Arquitecturas que soportan la concurrencia. granularidad granularidad Se suele distinguir concurrencia de grano fino es decir, se aprovecha de la ejecución de operaciones concurrentes a nivel del procesador (hardware) a grano grueso es decir, se aprovecha 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

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

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

Universidad Rey Juan Carlos. Reconstrucción de PET mediante CUDA: una aproximación paralela

Universidad Rey Juan Carlos. Reconstrucción de PET mediante CUDA: una aproximación paralela Universidad Rey Juan Carlos Escuela Técnica Superior de Ingeniería Informática Departamento de Ciencias de la Computación Reconstrucción de PET mediante CUDA: una aproximación paralela Trabajo Fin de Carrera

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

Uso eficiente de tarjetas gráficas para la visualización volumétrica de campos escalares

Uso eficiente de tarjetas gráficas para la visualización volumétrica de campos escalares Uso eficiente de tarjetas gráficas para la visualización volumétrica de campos escalares Responsables M. en I. Oscar Yañez Suárez (yaso@xanum.uam.mx) Dr. Jorge Garza Olguín (jgo@xanum.uam.mx) Perfil deseable

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

Computación en procesadores gráficos

Computación en procesadores gráficos Programación con CUDA Ejercicio 8 José Antonio Martínez García Francisco M. Vázquez López Manuel Ujaldón Martínez Portada Ester Martín Garzón Universidad de Almería Arquitectura de las GPUs Contenidos

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

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

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

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

Guía y fundamentos de la programación en paralelo

Guía y fundamentos de la programación en paralelo Revista en Telecomunicaciones Guía y fundamentos e Informática, de la programación Vol. 2, No. en 4 p. paralelo 81-97 Medellín - Colombia. Julio - Diciembre de 2012, ISSN 2215-8200 Guía y fundamentos de

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

Trabajo de Fin de Master

Trabajo de Fin de Master UNIVERSIDAD POLITECNICA DE MADRID Escuela Técnica Superior de Ingeniería de Sistemas Informáticos Trabajo de Fin de Master Máster Universitario en Ciencias y Tecnologías de la Computación Comparativa del

Más detalles

Hilos. Módulo 4. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco. Hilos

Hilos. Módulo 4. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco. Hilos Hilos Módulo 4 Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Hilos Revisión Modelos Multihilados Librerías de Hilos Aspectos sobre Hilos Ejemplos

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

Caracterización de las aplicaciones paralelas en cuanto a la petición de recursos

Caracterización de las aplicaciones paralelas en cuanto a la petición de recursos Caracterización de las aplicaciones paralelas en cuanto a la petición de recursos Marisa Gil (marisa@ac.upc.es) ENtornos Operativos para la Gestión de Recursos de Aplicaciones Paralelas CURSO 1.998-99

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. Pedemonte Práctico Programación con CUDA Práctica 0: Ejecución del ejemplo visto en teórico (suma de

Más detalles

Sistemas Operativos. Procesos

Sistemas Operativos. Procesos Sistemas Operativos Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor de proceso

Más detalles

Aspectos avanzados de arquitectura de computadoras Multithreading. Facultad de Ingeniería - Universidad de la República Curso 2017

Aspectos avanzados de arquitectura de computadoras Multithreading. Facultad de Ingeniería - Universidad de la República Curso 2017 Aspectos avanzados de arquitectura de computadoras Multithreading Facultad de Ingeniería - Universidad de la República Curso 2017 Introducción En este capítulo se explorará la posibilidad de ejecutar múltiples

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

Prof. María Alejandra Quintero. Informática Año

Prof. María Alejandra Quintero. Informática Año Prof. María Alejandra Quintero Informática Año 2014-2015 Es la acción de escribir programas de computación con el objetivo de resolver un determinado problema. Implica escribir instrucciones para indicarle

Más detalles

Programación Concurrente Recopilación de teoría referente a la materia

Programación Concurrente Recopilación de teoría referente a la materia UNIVERSIDAD AMERICANA Programación Concurrente Recopilación de teoría referente a la materia Ing. Luis Müller Esta es una recopilación de la teoría referente a la asignatura Programación Concurrente, a

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

Necesidad de Protección

Necesidad de Protección Necesidad de Protección Por qué necesitamos protección? Para mejorar la utilización del sistema, el Sistema de Operación empezó a compartir recursos del sistema entre varios programas de manera simultánea.

Más detalles

Introducción a la Programación Paralela

Introducción a la Programación Paralela Proyecto Universidad-Secundaria Incorporación de contenidos de programación paralela en la rama de tecnologías informáticas Facultad Informática, Universidad de Murcia e Instituto de Enseñanza Secundaria

Más detalles

UNIDAD II. Software del Computador. Ing. Yesika Medina Ing. Yesika Medina

UNIDAD II. Software del Computador. Ing. Yesika Medina Ing. Yesika Medina UNIDAD II Software del Computador SOFTWARE Se denomina software a todos los componentes intangibles de una computadora, formados por el conjunto de programas y procedimientos necesarios para hacer posible

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

15 de Octubre Crowne Plaza Ciudad de México. Simposio Técnico de Medición y Automatización. ni.com/mexico

15 de Octubre Crowne Plaza Ciudad de México. Simposio Técnico de Medición y Automatización. ni.com/mexico 15 de Octubre Crowne Plaza Ciudad de México Simposio Técnico de Medición y Automatización ni.com/mexico Arquitecturas de Programación para Sistemas Multinúcleo Financiero Embebido Médico Científico Industrial

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

III-LIDI Facultad de Informática UNLP La Plata, Argentina 2. CONICET, Argentina

III-LIDI Facultad de Informática UNLP La Plata, Argentina 2. CONICET, Argentina Comparación de rendimiento de algoritmos de cómputo intensivo y de acceso intensivo a memoria sobre arquitecturas multicore. Aplicación al algoritmo de criptografía AES. Adrian Pousa 1, Victoria María

Más detalles

Hilos. Módulo 4. Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur

Hilos. Módulo 4. Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Hilos Módulo 4 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Chapter 4: Threads Revisión Modelos Multihilados Librerías de Hilos Aspectos sobre Hilos Ejemplos de

Más detalles

TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS.

TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS. 1 TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS. 1- Cuáles son las principales funciones de un sistema operativo? Los Sistemas Operativos tienen como objetivos o funciones principales lo siguiente; Comodidad;

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

IMPLEMENTACIÓN Y EVALUACIÓN DE UN ALGORITMO ABC EN GPU

IMPLEMENTACIÓN Y EVALUACIÓN DE UN ALGORITMO ABC EN GPU PONTIFICIA UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA INFORMÁTICA IMPLEMENTACIÓN Y EVALUACIÓN DE UN ALGORITMO ABC EN GPU MARIO ANDRÉS HERRERA LETELIER MARCELO ALEJANDRO

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

IMPLEMENTACIÓN DE MOVING LEAST SQUARES USANDO LA GPU

IMPLEMENTACIÓN DE MOVING LEAST SQUARES USANDO LA GPU UNVERSIDAD DE CARABOBO FACULTAD EXPERIMENTAL DE CIENCIAS Y TECNOLOGÍA DEPARTAMENTO DE COMPUTACIÓN INFORME FINAL DE PASANTÍAS: IMPLEMENTACIÓN DE MOVING LEAST SQUARES USANDO LA GPU Elaborado por: Daniela

Más detalles

MULTIPROGRAMACIÓN. Introducción a al Multitarea

MULTIPROGRAMACIÓN. Introducción a al Multitarea MULTIPROGRAMACIÓN Introducción a al Multitarea Introducción a la Multitarea Conceptos básicos Se refiere a la capacidad de un sistema operativo de ejecutar múltiples procesos, también llamados tareas,

Más detalles

48 ContactoS 84, (2012)

48 ContactoS 84, (2012) 48 ContactoS 84, 47 55 (2012) Recibido: 31 de enero de 2012. Aceptado: 03 de mayo de 2012. Resumen En los últimos años la tecnología de las unidades de procesamiento de gráficos (GPU-Graphics Processsing

Más detalles

Paralelización de algoritmos para el procesado de imágenes de teledetección

Paralelización de algoritmos para el procesado de imágenes de teledetección UNIVERSIDAD DE ALCALÁ Escuela Politécnica Superior INGENIERÍA DE TELECOMUNICACIÓN Trabajo Fin de Carrera Paralelización de algoritmos para el procesado de imágenes de teledetección Alberto Monescillo Álvarez

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

TEMA 4 PROCESAMIENTO PARALELO

TEMA 4 PROCESAMIENTO PARALELO TEMA 4 PROCESAMIENTO PARALELO Tipos de plataformas de computación paralela Organización lógica Organización física Sistemas de memoria compartida Sistemas de memoria distribuida Tipos de plataformas de

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

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo rcoppo@uns.edu.ar Qué es un Objeto? Un objeto es una instancia de una clase Las clases actuán como modelos que permiten la creación

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

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

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

HPC: Aplicaciones y Software

HPC: Aplicaciones y Software HPC: Aplicaciones y Software Heredado HPC: Aplicaciones y Software Fernando G. Tinetti III-LIDI, Fac. de Informática, UNLP Comisión de Inv. Científicas, Bs. As. fernando@info.unlp.edu.ar Aplicaciones y

Más detalles

Introducción a los Sistemas Operativos

Introducción a los Sistemas Operativos Introducción a los Sistemas Operativos Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es 1 Índice General Conceptos sobre ordenadores Concepto

Más detalles

Introducción al Computo Distribuido

Introducción al Computo Distribuido Introducción al Computo Distribuido Facultad de Cs. de la Computación Juan Carlos Conde Ramírez Distributed Computing Contenido 1 Introducción 2 Importancia del Hardware 3 Importancia del Software 1 /

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 Computación Paralela

Introducción a la Computación Paralela Metodología de la Programación Paralela Facultad Informática, Universidad de Murcia Introducción a la Computación Paralela Bibliografía básica Introducción Del curso, capítulos 1 a 6 De esta sesión, capítulos

Más detalles

Arquitecturas Híbridas o Heterogéneas

Arquitecturas Híbridas o Heterogéneas Arquitecturas Híbridas o Heterogéneas Paralelo entre NVIDIA CUDA y Parallel Studio XE para Intel Xeon Phi Laura Marcela Ramírez Patiño 2130064 Lenin Eduardo Guerrero Hernández 2092028 Universidad Industrial

Más detalles

Procesos y Threads Procesos y Threads. Rendimiento Rendimiento (paralelismo) (paralelismo) Productividad Productividad

Procesos y Threads Procesos y Threads. Rendimiento Rendimiento (paralelismo) (paralelismo) Productividad Productividad Procesos y Threads Procesos y Threads Procesos Procesos Threads Threads Concurrencia Concurrencia Ventajas Ventajas Modelos Modelos Información Información adicional (PCB) adicional (PCB) Preparado Preparado

Más detalles

Variables, expresiones y sentencias

Variables, expresiones y sentencias Introducción a la Programación Pontificia Universidad Javeriana Generado con LAT E X Febrero de 2010 Recorderis Recorderis Algoritmo Colección de instrucciones junto con un orden en el cual deben ser ejecutados.

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

TEMA 2: PROGRAMACIÓN PARALELA (I)

TEMA 2: PROGRAMACIÓN PARALELA (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

6.1 Base De Datos Centralizada

6.1 Base De Datos Centralizada 6. Infraestructura El tipo de infraestructura o bien arquitectura, se debe de elegir pensando en el sistema a ejecutar, las necesidades que este tendrá, el tipo de usuario que lo utilizará, la seguridad

Más detalles

RECONOCIMIENTO DE OBJETOS PARA APOYO A PERSONAS INVIDENTES BASADO EN DEEP LEARNING

RECONOCIMIENTO DE OBJETOS PARA APOYO A PERSONAS INVIDENTES BASADO EN DEEP LEARNING RECONOCIMIENTO DE OBJETOS PARA APOYO A PERSONAS INVIDENTES BASADO EN DEEP LEARNING Israel Rivera Zárate Instituto Politécnico Nacional-CIDETEC irivera@ipn.mx Miguel Hernández Bolaños Instituto Politécnico

Más detalles

Concurrencia de Procesos

Concurrencia de Procesos Concurrencia de Procesos Dos o mas procesos, se dice que son concurrentes o paralelos, cuando se ejecutan al mismo tiempo. Esta concurrencia puede darse en un sistema con un solo procesador (pseudo paralelismo)

Más detalles

CUDA 5.5 y Visual Studio Express 2012 para Escritorio. Primeros pasos.

CUDA 5.5 y Visual Studio Express 2012 para Escritorio. Primeros pasos. CUDA 5.5 y Visual Studio Express 2012 para Escritorio. Primeros pasos. La nueva versión de CUDA 5.5 es completamente compatible con la plataforma de desarrollo Visual Studio Express 2012 para escritorio

Más detalles

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE. Programación Concurrente

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE. Programación Concurrente CENTRO UNIVERSITARIO DE TECNOLOGÍA Y ARTE DIGITAL PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE Programación Concurrente 1. DATOS DE IDENTIFICACIÓN DE LA ASIGNATURA. Título: Facultad: Máster

Más detalles

Java para no Programadores

Java para no Programadores Java para no Programadores Programa de Estudio Java para no Programadores Aprende a programar con una de las tecnologías más utilizadas en el mercado de IT. Este curso está orientado a quienes no tienen

Más detalles

COLEGIO DE ESTUDIOS DE POSGRADO DE LA CIUDAD DE MÉXICO

COLEGIO DE ESTUDIOS DE POSGRADO DE LA CIUDAD DE MÉXICO COLEGIO DE ESTUDIOS DE POSGRADO DE LA CIUDAD DE MÉXICO ELABORO: ALEJANDRA FUERTES FRANCISCO TEMA: LENGUAJES DE PROGRAMACIÓN INTRODUCCIÓN Un lenguaje de programación es un conjunto de instrucciones que

Más detalles

PROGRAMA DE ESTUDIO Área de Formación : Fecha de elaboración: 28 de mayo de 2010 Fecha de última actualización:

PROGRAMA DE ESTUDIO Área de Formación : Fecha de elaboración: 28 de mayo de 2010 Fecha de última actualización: PROGRAMA DE ESTUDIO Programa Educativo: Área de Formación : Licenciatura en Sistemas Computacionales Integral profesional Horas teóricas: 2 Horas prácticas: 2 Total de Horas: 4 Cómputo paralelo Total de

Más detalles

Tema III. Multihilo. Desarrollo de Aplicaciones para Internet Curso 12 13

Tema III. Multihilo. Desarrollo de Aplicaciones para Internet Curso 12 13 Tema III. Multihilo Desarrollo de Aplicaciones para Internet Curso 12 13 Índice 1.Introducción 2.Tipos de Concurrencia 3.Hilos en Java 4.Implementación de un SNB i. Sin Hilos ii. Con Hilos iii.con Pool

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 para la Academia y Cómputo de alto desempeño Elaboran: Revisión: Ing.

Más detalles

Contenidos: Definiciones:

Contenidos: Definiciones: Contenidos: Definiciones. Esquema de un ordenador. Codificación de la información. Parámetros básicos de un ordenador. Programas e instrucciones. Proceso de ejecución de una instrucción. Tipos de instrucciones.

Más detalles

Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU. Clase 1 Introducción

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

Más detalles

Cómputo Paralelo en Redes Locales de Computadoras

Cómputo Paralelo en Redes Locales de Computadoras Cómputo Paralelo en Redes Locales de Computadoras Departament d Informàtica Unitat d Arquitectura d Ordinadors i Sistemes Operatius Memoria presentada por Fernando G. Tinetti para optar al grado de Doctor

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

Java para no Programadores

Java para no Programadores Java para no Programadores Programa de Estudio Java para no Programadores Aprende a programar con una de las tecnologías más utilizadas en el mercado de IT y comienza tu camino como desarrollador Java.

Más detalles

CAPITULO 12: SISTEMAS DE FICHEROS DISTRIBUIDOS Un sistema bien diseñado permite el acceso a un servidor de ficheros (remoto) con eficiencia y

CAPITULO 12: SISTEMAS DE FICHEROS DISTRIBUIDOS Un sistema bien diseñado permite el acceso a un servidor de ficheros (remoto) con eficiencia y CAPITULO 12: SISTEMAS DE FICHEROS DISTRIBUIDOS Un sistema bien diseñado permite el acceso a un servidor de ficheros (remoto) con eficiencia y fiabilidad comparables a las del acceso a los ficheros locales

Más detalles

Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas

Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas Introducción y Conceptos Básicos Prof. Gilberto Díaz gilberto@ula.ve Departamento de Computación, Escuela de Sistemas, Facultad de Ingeniería

Más detalles