Computación en Manycores

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

Download "Computación en Manycores"

Transcripción

1 Computación en Manycores Metodología de la Programación Paralela

2 Contenidos 1 Sistemas 2 GPGPU 3 Intel Xeon Phi 4 Prácticas

3 GPU: Graphic Processing Units Inicialmente para procesamiento de gráficos. También se puede hacer GPGPU: General Processing GPU MIC: Many Integrated Cores Alternativa de Intel a GPU: Xeon Phi. Programación más cercana a la paralela estándar. FPGA: Field Programmable Gate Array Bloques lógicos reprogramables. Son similares a circuitos integrados pero de propósito general. DSP: digital signal processor Hardware y software especializados para hacer operaciones numéricas a gran velocidad. Para procesado de señales.

4 GPU: Graphic Processing Units Inicialmente para procesamiento de gráficos. También se puede hacer GPGPU: General Processing GPU MIC: Many Integrated Cores Alternativa de Intel a GPU: Xeon Phi. Programación más cercana a la paralela estándar. FPGA: Field Programmable Gate Array Bloques lógicos reprogramables. Son similares a circuitos integrados pero de propósito general. DSP: digital signal processor Hardware y software especializados para hacer operaciones numéricas a gran velocidad. Para procesado de señales.

5 GPU: Graphic Processing Units Inicialmente para procesamiento de gráficos. También se puede hacer GPGPU: General Processing GPU MIC: Many Integrated Cores Alternativa de Intel a GPU: Xeon Phi. Programación más cercana a la paralela estándar. FPGA: Field Programmable Gate Array Bloques lógicos reprogramables. Son similares a circuitos integrados pero de propósito general. DSP: digital signal processor Hardware y software especializados para hacer operaciones numéricas a gran velocidad. Para procesado de señales.

6 GPU: Graphic Processing Units Inicialmente para procesamiento de gráficos. También se puede hacer GPGPU: General Processing GPU MIC: Many Integrated Cores Alternativa de Intel a GPU: Xeon Phi. Programación más cercana a la paralela estándar. FPGA: Field Programmable Gate Array Bloques lógicos reprogramables. Son similares a circuitos integrados pero de propósito general. DSP: digital signal processor Hardware y software especializados para hacer operaciones numéricas a gran velocidad. Para procesado de señales.

7 General-Purpose Computation on Graphics Processing Units Procesadores gráficos en todos los sistemas computacionales. Muchas veces para juegos, pero también se pueden usar para computación. Disponen de muchos cores pequeños. Son baratos, y se puede conseguir mayores aceleraciones a un coste bajo. Pero la programación es más compleja. En algunos centros de supercomputación se incluyen GPU en los sistemas (consultar TOP 500).

8 Software para GPU 2006: NVIDIA introduce la arquitectura unificada (CUDA) con la presentación de la NVIDIA GeForce GPUs de NVIDIA compatibles con CUDA Modelos: GeForce, Tesla, Quadro 2009: OpenCL (Open Computing Language) Intenta convertirse en un estándar para programación CPU y GPU. 2012: OpenACC (for open accelerators) Para sistemas heterogéneos CPU+GPU. Hay disponibles librerías optimizadas para GPU (álgebra lineal, ordenación, transformada de Fourier...)

9 CUDA Arquitectura hardware y software: Uso de GPU, construida a partir de la replicación de un bloque constructivo básico, como acelerador con memoria integrada Estructura jerárquica de threads mapeada sobre el hardware Gestión de memoria expĺıcita Creación, planificación y ejecución transparente de miles de threads de manera concurrente Extensiones del lenguaje C/C++ junto con CUDA Runtime API

10 Arquitectura Hardware y Software GPU = N * Streaming Multiprocessors (SMs) SM = 8 * Streaming Processors (SPs)

11 Arquitectura Hardware y Software Los procesadores (SPs) Realizan operaciones escalares sobre enteros/reales 32 bits Ejecutan threads independientes pero todos deberían ejecutar la instrucción leída por la Instruction Unit (IU) en cada instante: Single Instruction Multiple Thread (SIMT), explotación de paralelismo de datos y, en menor medida, de tareas Los threads son gestionados por el hardware en cada SM: Creación y cambios de contexto con coste despreciable Se libera al programador de realizar estas tareas

12 Arquitectura Hardware y Software Las partes del código paralelizadas para ejecutarse en la GPU se denominan kernels Un kernel descompone un problema en un conjunto de subproblemas y lo mapea sobre un grid Grid: vector 1D o 2D de thread blocks. Cada thread block tiene su BID (X,Y) dentro del grid Thread blocks: vector 1D, 2D o 3D de threads. Cada thread tiene su TID (X,Y,Z) dentro de su thread block Los threads utilizan su BID y TID para determinar el trabajo que tienen que hacer (SPMD)

13 Modelo de memoria

14 Ejemplo Cálculo de y = αx +y (saxpy): void saxpy serial(int n,float *y,float alpha,float *x) { for(int i=0;i<n;i++) y[i]=alpha*x[i]+y[i]; } /* Llamada código secuencial */ saxpy serial(n,y,2.0,x); global /* Código GPU */ void saxpy parallel(int n,float *y,float alpha,float *x) { int i=blockidx.x*blockdim.x+threadidx.x; if (i<n) y[i]=alpha*x[i]+y[i]; } /* Llamada código paralelo desde código CPU */ int nblocks=(n+255)/256; saxpy parallel<<<nblocks,256>>>(n,y,2.0,x);

15 Otros ejemplos En el concurso basico en Mooshak en Heterosolar (conectarse a través de con los datos de la cuenta que se os proporcionó con vuestros apellidos), problemas E (ordenación) y F (multiplicación de matrices). En las tablas de Records y Records2017 en Ejemplos de uso en Heterosolar en el directorio /public/examples de luna.inf.um.es. Conectar con ssh usuario@luna.inf.um.es, con el usuario mpp17-xx y el password (no cambiarlo) proporcionado.

16 Ejecución

17 Resultados experimentales En Murilo Boratto, Pedro Alonso, Domingo Giménez, Alexey L. Lastovetsky: Automatic tuning to performance modelling of matrix polynomials on multicore and multi-gpu systems. The Journal of Supercomputing 73(1): (2017) Gregorio Bernabé, Javier Cuenca, Luis-Pedro García, Domingo Giménez: Auto-tuning techniques for linear algebra routines on hybrid platforms. J. Comput. Science 10: (2015) Gregorio Bernabé, Javier Cuenca, Domingo Giménez: An Autotuning Engine for the 3D Fast Wavelet Transform on Clusters with Hybrid CPU + GPU Platforms. International Journal of Parallel Programming 43(6): (2015)

18 Resultados experimentales En investigacion: Proyectos de Tomás Ramírez y Carlos Pérez, sobre cálculo de funciones de Green, 2011 y Tesis de Máster de Baldomero Imbernón, Técnicas heurísticas paralelas en acoplamiento de compuestos bioactivos, UMU, Tesis doctoral de Murilo do Carmo Boratto, Modelos paralelos para la resolución de problemas de ingeniería agrícola, UPV, 2015.

19 Características Hasta 61 cores (1.0/1.3 GHz), basados en x86 (Pentium) direccionamiento de 64 bits. Cores con una VPU con 32 registros de 512 bits (SIMD). Cada core soporta 4 threads por hardware. Interconexión de bus en anillo bidireccional. Hasta 6 GBytes GDDR5.

20 Software Intel MPSS (Manycore Platform Software Stack): permite que los programas se ejecuten y se comuniquen con el coprocesador Intel Xeon Phi. Compiladores Offload: Intel C/C++ y Fortran 2013 Capaces de generar código que se ejecuta sólo en el host o en el coprocesador, o parejas de binarios que se ejecutan tanto en el host como en el coprocesador y se comunican entre ellos. Entornos de programación paralela, los mismos que en el host: Intel Threading Building Blocks, Pthreads, OpenMP, MPI.

21 Funcionamiento El coprocesador tiene memoria flash y SMC para almacenar la BIOS, el bootloader, el firmware y un pequeño kernel embebido para el coprocesador. El coprocesador ejecuta un microkernel de Linux. El kernel embebido se carga desde la flash cuando el coprocesador se inicializa. El microkernel de Linux se carga desde el host cuando el coprocesador se arranca. El coprocesador no dispone de acceso a un sistema de archivos permanente. Los sistemas de archivos son RAM (residente en la memoria del coprocesador) o sistemas de archivos en red (montado vía NFS desde el host).

22 Ejecución Modos de ejecución: Código offload: Ejecución en el host y lanza trabajos al coprocesador. No se necesita que el usuario esté dado de alta en el coprocesador. Código nativo: Se lanza la ejecución desde el coprocesador. En OpenMP código idéntico al de multicore.

23 Ejemplo de código offload Secuencial: double reduction(double *data, int size) { double ret = 0.0; #pragma offload target(mic) in(data:length(size)) for (int i = 0; i < size; i++) { ret += data[i]; } return ret; } En OpenMP: double omp_reduction(double *data, int size) { double ret = 0.0; #pragma offload target(mic) in(data:length(size)) { #pragma omp parallel for reduction(+:ret) for (int i = 0; i < size; i++) { ret += data[i]; } }

24 Otros ejemplos Se acompaña código de una suma de matrices. En el concurso warmup+registration en mooshak/cesga.es hay una multiplicación de matrices básica (problema D).

25 MPI Modos de ejecución: Nativo: El rango de procesos MPI reside únicamente en el coproceador. La aplicación se puede lanzar desde el host o el coprocesador. Simétrico: El rango de procesos MPI reside en el host y en el coprocesador. Offload: El rango de procesos MPI reside en el host. MPI utiliza las capacidades offload de los compiladores de Intel para la descarga de trabajo al coprocesador. No disponible en venus

26 Resultados experimentales De la presentación de Luis Pedro García (el resto de transparencias también) en

27 Resultados experimentales José M. Cecilia, José-Matías Cutillas-Lozano, Domingo Giménez, Baldomero Imbernón: Exploiting Multi-level Parallelism on a Many-core System for the Application of Hyperheuristics to a Molecular Docking Problem. Journal of Supercomputing. Published online March 2017 de ejecución de distintas metaheurísticas en un Xeon Phi con 57 cores (228 virtuales)

28 Entornos de programación: De CUDA, sobre algún código de los disponibles en las tablas de records o en los concursos del Concurso de Programación Paralela. En XeonPhi, trabajo con algún ejemplo con OpenMP en modo offload. Sistemas computacionales: En Mooshak de Heterosolar. En luna.inf.um.es lanzando al sistema de colas. Se puede ver el manual básico de usuario en investigacion y ejemplos en el directorio /public/examples de luna

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

Computación Híbrida, Heterogénea y Jerárquica

Computación Híbrida, Heterogénea y Jerárquica Computación Híbrida, Heterogénea y Jerárquica http://www.ditec.um.es/ javiercm/curso psba/ Curso de Programación en el Supercomputador Ben-Arabí, febrero-marzo 2012 Organización aproximada de la sesión,

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

Programación en Intel Xeon Phi

Programación en Intel Xeon Phi Programación en Intel Xeon Phi David Corbalán Navarro Máster en Nuevas Tecnologías de la Informática Índice Introducción al paralelismo Niveles de paralelismo Paradigmas de programación paralela Manycores

Más detalles

Nociones básicas de computación paralela

Nociones básicas de computación paralela Nociones básicas de computación paralela Javier Cuenca 1, Domingo Giménez 2 1 Departamento de Ingeniería y Tecnología de Computadores Universidad de Murcia 2 Departamento de Informática y Sistemas Universidad

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

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

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

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

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

Librerías de Álgebra Lineal en sistema Multicore, GPUs y MIC

Librerías de Álgebra Lineal en sistema Multicore, GPUs y MIC Librerías de Álgebra Lineal en sistema Multicore, GPUs y MIC Luis P. García González Servicio de Apoyo a la Investigación Tecnológica Universidad Politécnica de Cartagena UPCT Noviembre de 2013 Luis-Pedro

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

Rutinas y Librerías de Álgebra Lineal en Sistemas Many-Core (GPUs y MIC)

Rutinas y Librerías de Álgebra Lineal en Sistemas Many-Core (GPUs y MIC) Rutinas y Librerías de Álgebra Lineal en Sistemas Many-Core (GPUs y MIC) Luis P. García González Unidad de Informática Universidad Politécnica de Cartagena UPCT Diciembre de 2014 Luis-Pedro García (UPCT)

Más detalles

Grupo de Computación Científica y Programación Paralela Universidad de Murcia

Grupo de Computación Científica y Programación Paralela Universidad de Murcia Grupo de Computación Científica y Programación Paralela Universidad de Murcia http://www.um.es/pcgum/ Presentación Líneas de Investigación, Máster en Informática, Universidad de Murcia, diciembre 2013

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Programación Paralela

Programación Paralela Programación Paralela 4º Grado Ing. Informática Depto. de Lenguajes y Sistemas Informáticos Universidad de Granada Datos de la Asignatura PÁGINAS WEB: Web de material docente: http://lsi.ugr.es/~jmantas/ppr/

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

Grupo de Computación Científica y Programación Paralela

Grupo de Computación Científica y Programación Paralela Grupo de Computación Científica y Programación Paralela Universidad de Murcia domingo@um.es http://dis.um.es/~domingo Reunión de proyecto de investigación, Valencia, 12-13 noviembre 2009 Contents 1 El

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

Seminario II: Introducción a la Computación GPU

Seminario II: Introducción a la Computación GPU Seminario II: Introducción a la Computación GPU CONTENIDO Introducción Evolución CPUs-Evolución GPUs Evolución sistemas HPC Tecnologías GPGPU Problemática: Programación paralela en clústers heterogéneos

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

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

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

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

Intel XeonPhi Workshop

Intel XeonPhi Workshop Intel XeonPhi Workshop Elena Núñez-González Unidad Informática Científica - CIEMAT Madrid, 11 de Febrero de 2015 Evento Lugar, Fecha Índice Introducción MIC Intel Xeon Phi Arquitectura Intel Xeon Phi Entorno

Más detalles

Análisis de rendimiento de un algoritmo de criptografía simétrica sobre arquitecturas multicore

Análisis de rendimiento de un algoritmo de criptografía simétrica sobre arquitecturas multicore Análisis de rendimiento de un algoritmo de criptografía simétrica sobre arquitecturas multicore Adrian Pousa 1, Victoria Sanz 1, Armando De Giusti 1 1 Instituto de Investigacion en Informatica LIDI Facultad

Más detalles

Comparación del uso de GPU y cluster de multicore en problemas con alta demanda computacional

Comparación del uso de GPU y cluster de multicore en problemas con alta demanda computacional Comparación del uso de GPU y cluster de multicore en problemas con alta demanda computacional Erica Montes de Oca 1, Laura De Giusti 1, Armando De Giusti 1 2, Marcelo Naiouf 1 1 Instituto de Investigación

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

Procesamiento Paralelo

Procesamiento Paralelo Procesamiento Paralelo Arquitecturas de Computadoras Paralelas Javier Iparraguirre Universidad Tecnológica Nacional, Facultad Regional Bahía Blanca 11 de Abril 461, Bahía Blanca, Argentina jiparraguirre@frbb.utn.edu.ar

Más detalles

CLUSTER FING: ARQUITECTURA Y APLICACIONES

CLUSTER FING: ARQUITECTURA Y APLICACIONES CLUSTER FING: ARQUITECTURA Y APLICACIONES Gerardo Ares, Pablo Ezzatti Centro de Cálculo, Instituto de Computación FACULTAD DE INGENIERÍA, UNIVERSIDAD DE LA REPÚBLICA, URUGUAY CONTENIDO Introducción Conceptos

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

Programación de una GPU con CUDA

Programación de una GPU con CUDA Programación de una GPU con CUDA Programación de Arquitecturas Multinúcleo Universidad de Murcia. Contenidos Introducción Arquitectura y programación de CUDA Optimización y depuración de código Librerías

Más detalles

Computación de Altas Prestaciones, una herramienta en ayuda de la ciencia

Computación de Altas Prestaciones, una herramienta en ayuda de la ciencia Computación de Altas Prestaciones, una herramienta en ayuda de la ciencia Domingo Giménez http://dis.um.es/~domingo Departamento de Informática y Sistemas Grupo de Computación Científica y Programación

Más detalles

Desarrollo, evaluación y autooptimización de rutinas paralelas híbridas de cálculo de funciones de Green

Desarrollo, evaluación y autooptimización de rutinas paralelas híbridas de cálculo de funciones de Green UNIVERSIDAD DE MURCIA FACULTAD DE INFORMÁTICA INGENIERÍA EN INFORMÁTICA Desarrollo, evaluación y autooptimización de rutinas paralelas híbridas de cálculo de funciones de Green PROYECTO FIN DE CARRERA

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

Modelado de los computadores paralelos

Modelado de los computadores paralelos Modelado de los computadores paralelos Francisco Almeida, Domingo Giménez, José Miguel Mantas, Antonio M. Vidal: Introducción a la rogramación aralela, araninfo Cengage Learning, 2008 Figuras tomadas directamente

Más detalles

Proyecto fin de carrera

Proyecto fin de carrera Departamento de Informática y Sistemas Facultad de informática Universidad de Murcia Proyecto fin de carrera Análisis, desarrollo y optimización de rutinas paralelas de cálculo de funciones de Green Carlos

Más detalles

Factores de Rendimiento en Entornos Multicore

Factores de Rendimiento en Entornos Multicore Factores de Rendimiento en Entornos Multicore César Allande Álvarez callande@caos.uab.es Computer Architecture & Operating Systems Department (CAOS) Barcelona, Spain Director: Eduardo César Galobardes

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

Esquemas algorítmicos paralelos - Particionado y Paralelismo de Datos

Esquemas algorítmicos paralelos - Particionado y Paralelismo de Datos Metodología de la Programación Paralela 2015-2016 Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos - Particionado y Paralelismo de Datos Domingo Giménez (Universidad de Murcia)

Más detalles

Computación Heterogénea con OpenCL. Flores, Facundo UNSA Fac. Cs. Exactas

Computación Heterogénea con OpenCL. Flores, Facundo UNSA Fac. Cs. Exactas Computación Heterogénea con Flores, Facundo UNSA Fac. Cs. Exactas Introducción COMPUTACION HETEROGENEA Introducción COMPUTACION HETEROGENEA Qué es? Introducción COMPUTACION HETEROGENEA Qué es? Un poco

Más detalles

Consumo Energético en Arquitecturas Multicore. Análisis sobre un Algoritmo de Criptografía Simétrica.

Consumo Energético en Arquitecturas Multicore. Análisis sobre un Algoritmo de Criptografía Simétrica. Consumo Energético en Arquitecturas Multicore. Análisis sobre un Algoritmo de Criptografía Simétrica. Fernando Romero 1, Adrian Pousa 1, Victoria Sanz 1 2, Armando De Giusti 1 3 1 Instituto de Investigacion

Más detalles

Solving Dense Linear Systems on Platforms with Multiple Hardware Accelerators

Solving Dense Linear Systems on Platforms with Multiple Hardware Accelerators Solving Dense Linear Systems on Platforms with Multiple Hardware Accelerators Maribel Castillo, Francisco D. Igual, Rafael Mayo, Gregorio Quintana-Ortí, Enrique S. Quintana-Ortí, Robert van de Geijn Grupo

Más detalles

Procesamiento Paralelo

Procesamiento Paralelo Procesamiento Paralelo Arquitecturas de Computadoras Paralelas Javier Iparraguirre Universidad Tecnológica Nacional, Facultad Regional Bahía Blanca 11 de Abril 461, Bahía Blanca, Argentina jiparraguirre@frbb.utn.edu.ar

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

Sistemas Complejos en Máquinas Paralelas

Sistemas Complejos en Máquinas Paralelas Sistemas Complejos en Máquinas Paralelas Clase 1: OpenMP Francisco García Eijó Departamento de Computación - FCEyN UBA 15 de Mayo del 2012 Memoria compartida Las mas conocidas son las máquinas tipo Symmetric

Más detalles

NVIDIA CUDA RESEARCH CENTER

NVIDIA CUDA RESEARCH CENTER NVIDIA CRC Universidad Sevilla 1 NVIDIA CUDA RESEARCH CENTER APLICACIONES Y OPORTUNIDADES Miguel Ángel Martínez del Amor Research Group on Natural Computing (RGNC) Universidad de Sevilla NVIDIA CRC Universidad

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

Modelado de los computadores paralelos

Modelado de los computadores paralelos Modelado de los computadores paralelos Francisco Almeida, Domingo Giménez, José Miguel Mantas, Antonio M. Vidal: Introducción a la rogramación aralela, araninfo Cengage Learning, 2008 Figuras tomadas directamente

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

Paralelización de un algoritmo de búsqueda de patrones en imágenes basado en la distancia de Hausdorff. Daniel Ortiz Nieto

Paralelización de un algoritmo de búsqueda de patrones en imágenes basado en la distancia de Hausdorff. Daniel Ortiz Nieto Paralelización de un algoritmo de búsqueda de patrones en imágenes basado en la distancia de Hausdorff Daniel Ortiz Nieto 16 de octubre de 2012 Tutores: Luis Miguel Sánchez García, Antonio Berlanga de

Más detalles

Cómputo paralelo con openmp y C

Cómputo paralelo con openmp y C Cómputo paralelo con openmp y C Sergio Ivvan Valdez Peña Guanajuato, México. 13 de Marzo de 2012 Sergio Ivvan Valdez Peña Cómputo Guanajuato, paralelo conméxico. openmp y () C 13 de Marzo de 2012 1 / 27

Más detalles

RENDIMIENTO DE PROCESADORES MANYCORE SOBRE TOPOLOGÍA 2D

RENDIMIENTO DE PROCESADORES MANYCORE SOBRE TOPOLOGÍA 2D RENDIMIENTO DE PROCESADORES MANYCORE SOBRE TOPOLOGÍA 2D Resumen-- Actualmente atrae la atención, investigaciones en sistemas de procesadores, que funcionen con computó paralelo, donde la compartición de

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

Taller de Programación Paralela

Taller de Programación Paralela Taller de Programación Paralela Departamento de Ingeniería Informática Universidad de Santiago de Chile March 17, 2008 Qué es paralelismo? Una estrategia compuesta de elementos de hardware y software para

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

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

Technical Report TR01-SARADL-System infraestructure

Technical Report TR01-SARADL-System infraestructure SARADL 2015/ASIA/12 (2015-2016) Sistema de Análisis de vídeo para Reconocimiento de Actividades basado en técnicas de aprendizaje automático Deep Learning Technical Report TR01-SARADL-System infraestructure

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

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

Esquemas algorítmicos paralelos - Particionado y Paralelismo de Datos

Esquemas algorítmicos paralelos - Particionado y Paralelismo de Datos Metodología de la Programación Paralela Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos - Particionado y Paralelismo de Datos Domingo Giménez (Universidad de Murcia) 1 / 31

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

Computación de Altas Prestaciones Sin miedo, es más fácil de lo que parece. Alex Ramírez Arquitecturas Heterogeneas Barcelona Supercomputing Centrer

Computación de Altas Prestaciones Sin miedo, es más fácil de lo que parece. Alex Ramírez Arquitecturas Heterogeneas Barcelona Supercomputing Centrer Computación de Altas Prestaciones Sin miedo, es más fácil de lo que parece Alex Ramírez Arquitecturas Heterogeneas Barcelona Supercomputing Centrer Supercomputadores 2 Qué es un supercomputador? Top500

Más detalles

Heterogénea y Jerárquica

Heterogénea y Jerárquica Metodología de la Programación Paralela 2015-2016 Facultad Informática, Universidad de Murcia Computación Híbrida, Heterogénea y Jerárquica Contenidos 1 Sistemas 2 Paralelismo anidado 3 Programación híbrida

Más detalles

PROGRAMACIÓN EN EL ENTORNO CUDA EN APLICACIONES DE MECÁNICA COMPUTACIONAL. INTRODUCCIÓN. Primera parte: INTRODUCCIÓN:

PROGRAMACIÓN EN EL ENTORNO CUDA EN APLICACIONES DE MECÁNICA COMPUTACIONAL. INTRODUCCIÓN. Primera parte: INTRODUCCIÓN: Primera parte: INTRODUCCIÓN: 3 En la actualidad la informática ha experimentado un desarrollo vertiginoso que la ha convertido en una herramienta esencial para muchas disciplinas. Su versatilidad, adaptabilidad

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

Modelado de los computadores paralelos

Modelado de los computadores paralelos Modelado de los computadores paralelos Francisco Almeida, Domingo Giménez, José Miguel Mantas, Antonio M. Vidal: Introducción a la rogramación aralela, araninfo Cengage Learning, 2008 Figuras tomadas directamente

Más detalles

Una Biblioteca Numérica Paralela para UPC

Una Biblioteca Numérica Paralela para UPC 1/32 Una Biblioteca Numérica Paralela para UPC Jorge González-Domínguez 1 *, María J. Martín 1, Guillermo L. Taboada 1, Juan Touriño 1, Ramón Doallo 1, Andrés Gómez 2 1 Grupo de Arquitectura de Computadores

Más detalles

Al borde de un ataque de Matlab sálvame C++ Francisco Javier García Blas Universidad Carlos III de Madrid Grupo ARCOS 2016

Al borde de un ataque de Matlab sálvame C++ Francisco Javier García Blas Universidad Carlos III de Madrid Grupo ARCOS 2016 Al borde de un ataque de Matlab sálvame C++ Francisco Javier García Blas fjblas@inf.uc3m.es Universidad Carlos III de Madrid Grupo ARCOS 2016 Matlab 2 3 Introducción Qué es Matlab?, MATrix LABoratory Es

Más detalles

TRABAJO FIN DE GRADO

TRABAJO FIN DE GRADO UNIVERSIDAD DE VALLADOLID ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACIÓN TRABAJO FIN DE GRADO GRADO EN INGENIERÍA DE TECNOLOGÍAS DE TELECOMUNICACIÓN PARALELIZACIÓN DE ALGORITMOS PARA EJECUCIÓN

Más detalles

Máquinas de alto rendimiento

Máquinas de alto rendimiento Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público

Más detalles

Resolución eficiente de la ecuación de Poisson en un clúster de GPU

Resolución eficiente de la ecuación de Poisson en un clúster de GPU Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores INFORMATIKA FAKULTATEA FACULTAD DE INFORMÁTICA Resolución eficiente de la ecuación de Poisson en

Más detalles

Arquitectura de Computadores II. Arquitectura Intel 32 y modo protegido

Arquitectura de Computadores II. Arquitectura Intel 32 y modo protegido Arquitectura Intel 32 y modo protegido Facultad de Ingeniería Universidad de la República Instituto de Computación Contenido Resumen del obligatorio 2 Arquitectura Intel 32 Introducción al modo protegido

Más detalles

Guía Docente 2017/2018

Guía Docente 2017/2018 Guía Docente 2017/2018 Programación paralela Parallel Programming Grado en Ingeniería Informática A distancia hola Universidad Católica San Antonio de Murcia Tlf: (+34) 968 278 160 info@ucam.edu www.ucam.edu

Más detalles

Computación de Altas Prestaciones Sistemas computacionales

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

Más detalles

Universidad de Murcia. Facultad de Informática. Guía rápida del cluster HETEREOSOLAR. Grupo de Computación Cientfíca y Computación Paralela

Universidad de Murcia. Facultad de Informática. Guía rápida del cluster HETEREOSOLAR. Grupo de Computación Cientfíca y Computación Paralela Universidad de Murcia Facultad de Informática Guía rápida del cluster HETEREOSOLAR 2014 Grupo de Computación Cientfíca y Computación Paralela ÍNDICE Guía rápida cluster hetereosolar Índice 1. Características

Más detalles

1 Primitivas básicas de OpenMP

1 Primitivas básicas de OpenMP 1 Primitivas básicas de OpenMP Consultar la página oficial de la plataforma OpenMP http://www.openmp.org/drupal/ Pragmas Es una directiva para el compilador que permite la definición de nuevas directivas

Más detalles

Introducción a la Programación de Memoria Compartida.. con OpenMP

Introducción a la Programación de Memoria Compartida.. con OpenMP Introducción a la Programación de Memoria Compartida.. con OpenMP Carlos Jaime BARRIOS HERNANDEZ, PhD. Escuela de Ingeniería de Sistemas e Informática Universidad Industrial de Santander Las herramientas

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

Yerman Jahir Avila Garzón

Yerman Jahir Avila Garzón Comparación y análisis de desempeño de unidades de procesamiento gráfico como alternativa de computación paralela para procesos de simulación en ingeniería. Yerman Jahir Avila Garzón Universidad Nacional

Más detalles