Esquemas algorítmicos paralelos - Particionado y Paralelismo de Datos

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

Download "Esquemas algorítmicos paralelos - Particionado y Paralelismo de Datos"

Transcripción

1 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

2 Contenido 1 Esquemas algorítmicos paralelos 2 Paralelismo de datos 3 Particionado de datos 4 Esquemas de descomposición de datos 5 Trabajo adicional Domingo Giménez (Universidad de Murcia) 2 / 31

3 Contenido 1 Esquemas algorítmicos paralelos 2 Paralelismo de datos 3 Particionado de datos 4 Esquemas de descomposición de datos 5 Trabajo adicional Domingo Giménez (Universidad de Murcia) 3 / 31

4 Tipos de esquemas Podemos considerar esquemas de distintos tipos: Descomposición del trabajo: Paralelismo de datos. Particionado de datos. Algoritmos relajados. De paralelismo basado en dependencias de datos: Paralelismo síncrono. Dependencias en árbol o grafo. Pipeline. De paralelización de esquemas secuenciales: Divide y Vencerás. Programación Dinámica. Recorridos de árboles: Backtracking y Branch and Bound. De múltiples tareas o trabajadores: Bolsa de tareas. Granja de procesos. Maestro-Esclavo. Domingo Giménez (Universidad de Murcia) 4 / 31

5 Sesiones Los agruparemos en 5 sesiones de teoría y dos de prácticas: Descomposición del trabajo: Paralelismo de datos. Particionado de datos. Algoritmos relajados. De paralelismo basado en dependencias de datos: Paralelismo síncrono. Dependencias en árbol o grafo. Pipeline. De paralelización de esquemas secuenciales: Divide y Vencerás. Programación Dinámica. Recorridos de árboles: Backtracking y Branch and Bound. De múltiples tareas o trabajadores: Bolsa de tareas. Granja de procesos. Maestro-Esclavo. Domingo Giménez (Universidad de Murcia) 5 / 31

6 Metodología En clase de teoría se verán las ideas generales de cada paradigma se discutirán sobre ejemplos básicos. En las sesiones de prácticas se propondrá la resolución de algún problema usando esos paradigmas. Los problemas a usar en prácticas serán principalmente de los analizados en teoría y del Concurso de Programación Paralela. Los paradigmas no son disjuntos, por lo que se puede ver un mismo problema con distintos paradigmas. Otras referencias, con ejemplos e implementaciones: Almeida, Giménez, Mantas, Vidal: Introducción a la Programación Paralela, Paraninfo Capítulo 6. Wilkinson, Allen: Techniques and Applications Using Networked Workstations and Parallel Computers, Prentice-Hall, Quinn: Parallel Programming in C with MPI and OpenMP, McGraw-Hill, Domingo Giménez (Universidad de Murcia) 6 / 31

7 Contenido 1 Esquemas algorítmicos paralelos 2 Paralelismo de datos 3 Particionado de datos 4 Esquemas de descomposición de datos 5 Trabajo adicional Domingo Giménez (Universidad de Murcia) 7 / 31

8 Ideas generales Muchos datos tratados de una forma igual o similar (también apropiado para GPU) Típicamente algoritmos numéricos Datos en arrays o vectores Posible procesamiento vectorial Paralelismo asignando partes distintas del array a distintos elementos de proceso Memoria Compartida (Paralelismo de datos): Distribución del trabajo entre los hilos Paralelización automática o implícita Memoria Distribuida (Particionado de datos): Distribución de los datos a los procesos Paralelización explícita Domingo Giménez (Universidad de Murcia) 8 / 31

9 Ejemplos Alguno de los ejemplos vistos hasta ahora es de paralelismo de datos? Domingo Giménez (Universidad de Murcia) 9 / 31

10 Ejemplos Alguno de los ejemplos vistos hasta ahora es de paralelismo de datos? Claramente la multiplicación de matrices Características? Domingo Giménez (Universidad de Murcia) 9 / 31

11 Ejemplos Alguno de los ejemplos vistos hasta ahora es de paralelismo de datos? Claramente la multiplicación de matrices Características? Y la ordenación? Cómo se podría hacer con palalelismo de datos? Domingo Giménez (Universidad de Murcia) 9 / 31

12 Ejemplo - Suma de n datos Esquema secuencial (t(n) = n): s=0; for (i=0;i<n;i++) s=s+a[i]; Domingo Giménez (Universidad de Murcia) 10 / 31

13 Ejemplo - Suma de n datos Esquema secuencial (t(n) = n): s=0; for (i=0;i<n;i++) s=s+a[i]; Vectorización con simd. Domingo Giménez (Universidad de Murcia) 10 / 31

14 Ejemplo - Suma de n datos Esquema secuencial (t(n) = n): s=0; for (i=0;i<n;i++) s=s+a[i]; Vectorización con simd. Paralelización automática: con opción de compilación si no hay dependencia de datos o el compilador detecta que se puede resolver. Domingo Giménez (Universidad de Murcia) 10 / 31

15 Ejemplo - Suma de n datos Esquema secuencial (t(n) = n): s=0; for (i=0;i<n;i++) s=s+a[i]; Vectorización con simd. Paralelización automática: con opción de compilación si no hay dependencia de datos o el compilador detecta que se puede resolver. Conpragma (t(n, p) = n p ): s=0; #pragma omp parallel for private(i) reduction(+:s) for (i=0;i<n;i++) s=s+a[i]; Domingo Giménez (Universidad de Murcia) 10 / 31

16 Ejemplo - Suma de n datos Esquema secuencial (t(n) = n): s=0; for (i=0;i<n;i++) s=s+a[i]; Vectorización con simd. Paralelización automática: con opción de compilación si no hay dependencia de datos o el compilador detecta que se puede resolver. Conpragma (t(n, p) = n p ): s=0; #pragma omp parallel for private(i) reduction(+:s) for (i=0;i<n;i++) s=s+a[i]; Distintas posibilidades de asignación de los datos a los hilos, con cláusula schedule: bloques contiguos, cíclica, dinámica. Domingo Giménez (Universidad de Murcia) 10 / 31

17 Ejemplo - Suma de n datos Esquema secuencial (t(n) = n): s=0; for (i=0;i<n;i++) s=s+a[i]; Vectorización con simd. Paralelización automática: con opción de compilación si no hay dependencia de datos o el compilador detecta que se puede resolver. Conpragma (t(n, p) = n p ): s=0; #pragma omp parallel for private(i) reduction(+:s) for (i=0;i<n;i++) s=s+a[i]; Distintas posibilidades de asignación de los datos a los hilos, con cláusula schedule: bloques contiguos, cíclica, dinámica. Cuál es la mejor manera de ejecutarlo? Merece la pena paralelizar? Domingo Giménez (Universidad de Murcia) 10 / 31

18 Ejemplo - Suma de n datos, con paralelismo explícito #pragma omp parallel for private(s) for(i=0;i<p;i++) sumaparcial(&a[(i*n)/p],n,p); if(nodo==0) s=sumatotal(a,n,p); sumaparcial(a,n,p): s=0; for(j=0;j<n/p;j++) s=s+a[j]; a[0]=s; sumatotal(a,n,p): s=0; for(j=0;j<p;j+=n/p) s=s+a[j]; return s; Domingo Giménez (Universidad de Murcia) 11 / 31

19 Ejemplo - Suma de n datos, con paralelismo explícito #pragma omp parallel for private(s) for(i=0;i<p;i++) sumaparcial(&a[(i*n)/p],n,p); if(nodo==0) s=sumatotal(a,n,p); sumaparcial(a,n,p): s=0; for(j=0;j<n/p;j++) s=s+a[j]; a[0]=s; sumatotal(a,n,p): s=0; for(j=0;j<p;j+=n/p) s=s+a[j]; return s; Merece la pena paralelizarsumatotal? t(n, p) = n p + p Domingo Giménez (Universidad de Murcia) 11 / 31

20 Ejemplo - Ordenación por rango Se cuenta para cada elemento cuantos hay mayores que él (su rango), y a continuación se sitúa en la posición dada por su rango. #pragma omp parallel for private(i,j) for(i=0;i<n;i++) for(j=0;j<n;j++) if(a[i]>a[j]) r[i]+=1; Domingo Giménez (Universidad de Murcia) 12 / 31

21 Ejemplo - Ordenación por rango Se cuenta para cada elemento cuantos hay mayores que él (su rango), y a continuación se sitúa en la posición dada por su rango. #pragma omp parallel for private(i,j) for(i=0;i<n;i++) for(j=0;j<n;j++) if(a[i]>a[j]) r[i]+=1; Problemas: Se hace trabajo de más? n 2 comparaciones + n2 2 sumas Cómo situarlos en su posición? recorrido de orden n Qué pasa si dos datos son iguales? comparación adicional Se pueden colapsar los dos bucles? Domingo Giménez (Universidad de Murcia) 12 / 31

22 Ejemplo - Ordenación por rango, con paralelismo explícito Se hace asignación del trabajo entre los hilos: #pragma omp parallel for for(i=0;i<p;i++) calcularrango(a,n,i,p); calcularrango(a,n,i,p): for(j=(i*n)/p;j<((i+1)*n)/p;j++) for(k=0;k<n;k++) if(a[j]>a[k]) r[j]+=1; Comparaciones n2 p, sumas? Domingo Giménez (Universidad de Murcia) 13 / 31

23 Ejemplo - Multiplicación de matrices Con paralelismo implícito: #pragma parallel for private(i,j,k) for(i=0;i<n;i++) for(j=0;j<n;j++) { c[i,j]=0; for(k=0;k<n;k++) c[i,j]=c[i,j]+a[i,k]*b[k,j]; } Domingo Giménez (Universidad de Murcia) 14 / 31

24 Ejemplo - Multiplicación de matrices Con paralelismo implícito: #pragma parallel for private(i,j,k) for(i=0;i<n;i++) for(j=0;j<n;j++) { c[i,j]=0; for(k=0;k<n;k++) c[i,j]=c[i,j]+a[i,k]*b[k,j]; } El número de operaciones en coma flotante es 2n 3, pero se puede mejorar el tiempo de ejecución sin cambiar el orden: Domingo Giménez (Universidad de Murcia) 14 / 31

25 Ejemplo - Multiplicación de matrices Con paralelismo implícito: #pragma parallel for private(i,j,k) for(i=0;i<n;i++) for(j=0;j<n;j++) { c[i,j]=0; for(k=0;k<n;k++) c[i,j]=c[i,j]+a[i,k]*b[k,j]; } El número de operaciones en coma flotante es 2n 3, pero se puede mejorar el tiempo de ejecución sin cambiar el orden: En los ejemplos usábamos arrays unidimensionales y una variable s para acumular el producto escalar. Domingo Giménez (Universidad de Murcia) 14 / 31

26 Ejemplo - Multiplicación de matrices Con paralelismo implícito: #pragma parallel for private(i,j,k) for(i=0;i<n;i++) for(j=0;j<n;j++) { c[i,j]=0; for(k=0;k<n;k++) c[i,j]=c[i,j]+a[i,k]*b[k,j]; } El número de operaciones en coma flotante es 2n 3, pero se puede mejorar el tiempo de ejecución sin cambiar el orden: En los ejemplos usábamos arrays unidimensionales y una variable s para acumular el producto escalar. Se pueden usar algoritmos por bloques, vectorización, reordenación de bucles... Domingo Giménez (Universidad de Murcia) 14 / 31

27 Ejemplo - Multiplicación de matrices, con paralelismo explícito #pragma omp parallel for private(i) for(i=0;i<p;i++) multiplicar(c,a,b,i) multiplicar(c,a,b,i): for(j=(i*n)/p;j<((i+1)*n)/p;j++) for(k=0;k<n;k++) { c[j,k]=0; for(l=0;l<n;l++) c[j,k]=c[j,k]+a[j,l]*b[l,k]; } Domingo Giménez (Universidad de Murcia) 15 / 31

28 Otros ejemplos Producto escalar de dos vectores x e y de tamaño n: Similar a la suma de n datos. Asignación de bloques de tamaño n p de x e y a los p hilos. Suma (secuencial o paralela) de los productos parciales. Producto matriz-vector: Dos bucles, paralelización del más externo. Posible trabajo por bloques. Domingo Giménez (Universidad de Murcia) 16 / 31

29 Producto matriz-vector por bloques Matriz A de dimensión n n y vector x de dimensión n 1: A dividida en m m bloques A ij de dimensiones n m n m x dividido en m subvectores de dimensión n m 1, Vector resultado r en m subvectores de dimensión n m 1, que se obtienen: r i = m A ij x j j=1 Ventajas del trabajo por bloques? Domingo Giménez (Universidad de Murcia) 17 / 31

30 Contenido 1 Esquemas algorítmicos paralelos 2 Paralelismo de datos 3 Particionado de datos 4 Esquemas de descomposición de datos 5 Trabajo adicional Domingo Giménez (Universidad de Murcia) 18 / 31

31 Ideas generales Especie de paralelismo de datos para Memoria Distribuida - Paso de Mensajes. El espacio de datos se divide en regiones adyacentes: Se asignan a procesos distintos Posible intercambio de datos entre regiones adyacentes Más semejante al Paralelismo de Datos explícito Para obtener buenas prestaciones: intentar que el volumen de computación entre comunicaciones sea grande paralelismo de grano grueso Domingo Giménez (Universidad de Murcia) 19 / 31

32 Ejemplos Alguno de los ejemplos vistos hasta ahora es de particionado de datos? Domingo Giménez (Universidad de Murcia) 20 / 31

33 Ejemplos Alguno de los ejemplos vistos hasta ahora es de particionado de datos? Claramente la multiplicación de matrices Se hace una distribución expícita de las matrices, pero la computación que hace cada proceso es la misma que la que hace cada hilo con OpenMP. Domingo Giménez (Universidad de Murcia) 20 / 31

34 Ejemplos Alguno de los ejemplos vistos hasta ahora es de particionado de datos? Claramente la multiplicación de matrices Se hace una distribución expícita de las matrices, pero la computación que hace cada proceso es la misma que la que hace cada hilo con OpenMP. Y la ordenación? Se particionan los datos, pero no es eso lo único que se hace. Domingo Giménez (Universidad de Murcia) 20 / 31

35 Ejemplo - Suma de n datos Programa similar al de Memoria Compartida con paralelismo expícito. Domingo Giménez (Universidad de Murcia) 21 / 31

36 Ejemplo - Suma de n datos Programa similar al de Memoria Compartida con paralelismo expícito. Cada proceso sumará n p datos. t arit(n, p) = n p Domingo Giménez (Universidad de Murcia) 21 / 31

37 Ejemplo - Suma de n datos Programa similar al de Memoria Compartida con paralelismo expícito. Cada proceso sumará n p datos. t arit(n, p) = n p Necesarias comunicaciones: Envío de n p datos a cada proceso. t comu(n, p) = (p 1)t s + ( n n p) tw Coste de comunicación del mismo orden que el de la computación ( merece la pena?) Acumulación de los resultados. t comu = (p 1)(t s + t w ) Parte secuencial de sumar las sumas parciales. t arit (n, p) = p Costes anteriores con comunicaciones punto a punto entre proceso cero y el resto. Dependen de la topología lógica de procesos y de las funciones de comunicación que se usen ( Cuáles usaríamos?) Domingo Giménez (Universidad de Murcia) 21 / 31

38 Ejemplo - Ordenación por rango En paralelismo de datos se distribuye el trabajo: Domingo Giménez (Universidad de Murcia) 22 / 31

39 Ejemplo - Ordenación por rango En paralelismo de datos se distribuye el trabajo: En particionado de datos puede ser: Coste distribución de datos mayor: t comu (n, p) = (p 1)(t s + nt w ) Domingo Giménez (Universidad de Murcia) 22 / 31

40 Ejemplo - Ordenación por rango En paralelismo de datos se distribuye el trabajo: En particionado de datos puede ser: Coste distribución de datos mayor: t comu (n, p) = (p 1)(t s + nt w ) Los datos pueden estar inicialmente distribuidos: P i se encarga de calcular los valores de r i : necesita comparar a i con cada a j p pasos. Domingo Giménez (Universidad de Murcia) 22 / 31

41 Ejemplo - Ordenación por rango, con datos distribuidos En cada Pi, i=0,1,...,p-1 for(j=0;j<n/p;j++) b[j]=a[j]; for(j=1;j<=p;j++) { for(k=0;k<n/p;k++) for(l=0;l<n/p;l++) if(a[k]>b[l]) r[k]=r[k]+1; enviar a[0]...a[n/p-1] a P(i-1) mod p; recibir en b[0],...,b[n/p-1] de P(i+1) mod p; } //de for en j Domingo Giménez (Universidad de Murcia) 23 / 31

42 Ejemplo - Ordenación por rango, con datos distribuidos En cada Pi, i=0,1,...,p-1 for(j=0;j<n/p;j++) b[j]=a[j]; for(j=1;j<=p;j++) { for(k=0;k<n/p;k++) for(l=0;l<n/p;l++) if(a[k]>b[l]) r[k]=r[k]+1; enviar a[0]...a[n/p-1] a P(i-1) mod p; recibir en b[0],...,b[n/p-1] de P(i+1) mod p; } //de for en j Puede haber problemas con las comunicaciones? Qué coste tiene? Merece la pena hacerlo en paralelo? Domingo Giménez (Universidad de Murcia) 23 / 31

43 Contenido 1 Esquemas algorítmicos paralelos 2 Paralelismo de datos 3 Particionado de datos 4 Esquemas de descomposición de datos 5 Trabajo adicional Domingo Giménez (Universidad de Murcia) 24 / 31

44 Descomposición de matriz unidimensional en array de procesos índice global tamaño bloque proceso índice local i b = n p i b i mod b P 0 P 1 P 2 índice global índice local Domingo Giménez (Universidad de Murcia) 25 / 31

45 Descomposición de matriz bidimensional en array de procesos Distribución en bloques de filas: índices globales tamaño bloque proceso índices locales (i, j) b = n p filas i b (i mod b, j) Distribución en bloques de columnas: índices globales tamaño bloque proceso índices locales (i, j) b = n p columnas j b (i, j mod b) Domingo Giménez (Universidad de Murcia) 26 / 31

46 Descomposición de matriz bidimensional en malla bidimensional de procesos índices globales tamaño bloque ( proceso ) índices locales (i, j) b x b y = n p x m p y i p x, j p y (i mod b x, j mod b y ) Domingo Giménez (Universidad de Murcia) 27 / 31

47 Distribución cíclica Distribución cíclica (#pragma omp parallel for schedule(static,1)): Distribución cíclica por bloques (#pragma omp parallel for schedule(static,3)): de matriz: Domingo Giménez (Universidad de Murcia) 28 / 31

48 Distribución cíclica por bloques Es general: comprende al resto con los valores correspondientes de tamaños de bloque y de malla de procesos. Tamaño de bloque reducido suele producir mejor balanceo, pero puede producir más comunicaciones necesaria solución de compromiso. Domingo Giménez (Universidad de Murcia) 29 / 31

49 Contenido 1 Esquemas algorítmicos paralelos 2 Paralelismo de datos 3 Particionado de datos 4 Esquemas de descomposición de datos 5 Trabajo adicional Domingo Giménez (Universidad de Murcia) 30 / 31

50 Se pueden consultar las secciones correspondientes y sus ejemplos del capítulo 6 del libro de Introducción a la Programación Paralela. Buscar ejemplos de problemas del Concurso de Programación Paralela susceptibles de ser resueltos con Paralelismo o Particionado de Datos (ver resultados del curso anterior en la presentación del curso). Y pensar cómo podrían implementarse los ejemplos vistos en esta sesión. En las sesiones de prácticas se propondrán problemas para resolverlos con algunos de los paradigmas vistos en teoría. Domingo Giménez (Universidad de Murcia) 31 / 31

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

Paralelismo Relajado Paralelismo Síncrono

Paralelismo Relajado Paralelismo Síncrono Metodología de la Programación Paralela Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos: Paralelismo Relajado Paralelismo Síncrono Domingo Giménez (Universidad de Murcia) 1

Más detalles

Algoritmos en Árbol y Grafo Computación Pipeline

Algoritmos en Árbol y Grafo Computación Pipeline Metodología de la Programación Paralela 2015-2016 Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos: Algoritmos en Árbol y Grafo Computación Pipeline Domingo Giménez (Universidad

Más detalles

Divide y Vencerás Programación Dinámica

Divide y Vencerás Programación Dinámica Metodología de la Programación Paralela Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos: Divide y Vencerás Programación Dinámica Domingo Giménez (Universidad de Murcia) 1 /

Más detalles

Paralelización de problemas de recorrido de árboles Trabajadores replicados y esquema maestro esclavo

Paralelización de problemas de recorrido de árboles Trabajadores replicados y esquema maestro esclavo Metodología de la Programación Paralela 2015-2016 Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos: Paralelización de problemas de recorrido de árboles Trabajadores replicados

Más detalles

Multiplicación de matrices dispersas

Multiplicación de matrices dispersas Multiplicación de matrices dispersas Alumno: Irene Sánchez Linares Índice Descripción del problema Representación Algoritmo secuencial Esquemas algorítmicos Elección del esquema OpenMP MPI Estudio experimental

Más detalles

ALGORITMOS Y PROGRAMACIÓN PARALELA. Esquemas de programación paralela

ALGORITMOS Y PROGRAMACIÓN PARALELA. Esquemas de programación paralela ALGORITMOS Y PROGRAMACIÓN PARALELA Esquemas de programación paralela REFERENCIAS Almeida, Giménez, Mantas, Vidal: Introducción a la. Cap 5 y 6 Wilkinson, Allen Quinn Esquemas de 1 Esquemas de algoritmos

Más detalles

Diseño de algoritmos paralelos

Diseño de algoritmos paralelos Diseño de algoritmos paralelos Curso 2011-2012 Esquema del capítulo Visión general de algunos algoritmos serie. Algoritmo paralelo vs. Formulación paralela Elementos de un Algoritmo paralelo Métodos de

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

GRADUADO EN INGENIERÍA DE COMPUTADORES - FICHA TÉCNICA

GRADUADO EN INGENIERÍA DE COMPUTADORES - FICHA TÉCNICA GRADUADO EN INGENIERÍA DE COMPUTADORES - FICHA TÉCNICA DATOS DESCRIPTIVOS ASIGNATURA: Procesamiento Paralelo Nombre en inglés: Parallel Processing MATERIA: Algorítmica y complejidad Créditos Europeos:

Más detalles

Modelado y autooptimización en esquemas paralelos de backtracking

Modelado y autooptimización en esquemas paralelos de backtracking Modelado y autooptimización en esquemas paralelos de backtracking Manuel Quesada y Domingo Giménez Universidad de Murcia XX Jornadas de Paralelismo A Coruña, 18 Sept 2009 Índice 1 Introducción 2 Técnica

Más detalles

Relación de Ejercicios. Programación Paralela 4º de Grado en Ingeniería Informática.

Relación de Ejercicios. Programación Paralela 4º de Grado en Ingeniería Informática. 1. Por qué el modelo de programación que se sigue al programar con MPI es independiente de la asignación? 2. Describir gráficamente una solución eficiente para realizar una operación de reducción global

Más detalles

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACION

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACION BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACION PROGRAMA DE LA MATERIA CORRESPONDIENTE A LA LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN. Coordinación: NOMBRE DE LA MATERIA:

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

Algoritmos paralelos para la Multiplicación de Matrices

Algoritmos paralelos para la Multiplicación de Matrices Introducción Paralelizar onclusiones Trabajo ibliografía lgoritmos paralelos para la Multiplicación de Matrices Universidad de Murcia - UM 18 de diciembre de 2008 Introducción Paralelizar onclusiones Trabajo

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

Granularidad y latencia

Granularidad y latencia Niveles de paralelismo y latencias de comunicación Niveles de paralelismo. Granularidad o tamaño de grano. Latencia de comunicación. Particionado de los programas. Empaquetado de granos. Planificación

Más detalles

GRADUADO EN INGENIERÍA DE COMPUTADORES Guía de Aprendizaje Información al estudiante

GRADUADO EN INGENIERÍA DE COMPUTADORES Guía de Aprendizaje Información al estudiante GRADUADO EN INGENIERÍA DE COMPUTADORES Guía de Aprendizaje Información al estudiante DATOS DESCRIPTIVOS ASIGNATURA: Procesamiento Paralelo Nombre en inglés: Parallel Processing MATERIA: Algorítmica y complejidad

Más detalles

TEMA 1. INTRODUCCIÓN A LA PROGR. DISTRIBUIDA Y PARALELA

TEMA 1. INTRODUCCIÓN A LA PROGR. DISTRIBUIDA Y PARALELA Relación de Ejercicios Programación Distribuida y Paralela. 4 o de Ingeniería Superior en Informática. Departamento de Lenguajes y Sistemas Informáticos TEMA 1. INTRODUCCIÓN A LA PROGR. DISTRIBUIDA Y PARALELA

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

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS 1. INFORMACIÓN GENERAL

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

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

PROGRAMACIÓN PARALELA. Modelos de programación paralela Paradigmas de programación paralela

PROGRAMACIÓN PARALELA. Modelos de programación paralela Paradigmas de programación paralela PROGRAMACIÓN PARALELA Modelos de programación paralela Paradigmas de programación paralela Tipos de paralelismo Paso de mensajes Paralelismo de datos Memoria compartida Paradigmas de programación paralela

Más detalles

José Matías Cutillas Lozano PROGRAMACIÓN PARALELA Y COMPUTACIÓN DE ALTAS PRESTACIONES

José Matías Cutillas Lozano PROGRAMACIÓN PARALELA Y COMPUTACIÓN DE ALTAS PRESTACIONES José Matías Cutillas Lozano PROGRAMACIÓN PARALELA Y COMPUTACIÓN DE ALTAS PRESTACIONES MÁSTER EN NUEVAS TECNOLOGÍAS EN INFORMÁTICA Diciembre 2010 Introducción Por qué utilizar Matlab paralelo? MATLAB es

Más detalles

Fecha de elaboración: Agosto de 2004 Fecha de última actualización: Julio de 2010

Fecha de elaboración: Agosto de 2004 Fecha de última actualización: Julio de 2010 PROGRAMA DE ESTUDIO Programa Educativo: Área de Formación : Licenciatura en ciencias computacionales Integral profesional Programa elaborado por: Programación Concurrente Horas teóricas: 1 Horas prácticas:

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

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

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

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

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

Razón de ser Computadora Programa Programador Análisis y solución de problemas (Metodología) Algoritmo Diagrama de flujo

Razón de ser Computadora Programa Programador Análisis y solución de problemas (Metodología) Algoritmo Diagrama de flujo ARREGLOS I Razón de ser Computadora Programa Programador Análisis y solución de problemas (Metodología) Algoritmo Diagrama de flujo Investigaron y estudiaron ( comprendieron!) Clasificación de las computadoras

Más detalles

Depto. Sistemas I.O. y Computación. informáticos y Computación Univ. La Laguna

Depto. Sistemas I.O. y Computación. informáticos y Computación Univ. La Laguna Sobre el papel de la programación paralela en los nuevos planes de estudios de informática Francisco Almeida Domingo Giménez José M. Mantas Antonio M. Vidal Depto. Estadística, Depto. Informática y Depto.

Más detalles

METODOLOGÍA DE LA PROGRAMACIÓN PARALELA. Modelos de programación paralela Paradigmas de programación paralela

METODOLOGÍA DE LA PROGRAMACIÓN PARALELA. Modelos de programación paralela Paradigmas de programación paralela METODOLOGÍA DE LA PROGRAMACIÓN PARALELA Modelos de programación paralela Paradigmas de programación paralela Tipos de paralelismo Paso de mensajes Paralelismo de datos Memoria compartida Tipos de paralelismo

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

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

INDICE. Prólogo de la Segunda Edición

INDICE. Prólogo de la Segunda Edición INDICE Prólogo de la Segunda Edición XIII Capitulo 1. Algoritmos y Programas 1 1.1. Los sistemas de procesamiento de la información 2 1.2. Concepto de algoritmo 4 1.2.1. Características de los algoritmos

Más detalles

Programación en Memoria Compartida: OpenMP

Programación en Memoria Compartida: OpenMP Programación en Memoria Compartida: OpenMP Domingo Giménez Departamento de Informática y Sistemas Universidad de Murcia, Spain dis.um.es/~domingo Universidad de Murcia 1 Nociones básicas Modelo de programación

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

Programación Automática de FPGAs desde lenguajes de alto nivel para aplicaciones multimedias

Programación Automática de FPGAs desde lenguajes de alto nivel para aplicaciones multimedias Programación Automática de FPGAs desde lenguajes de alto nivel para aplicaciones multimedias Depto. de Ingeniería y Ciencia de los Computadores. Grupo de Arquitectura Avanzada de Computadores y Computación

Más detalles

Computación Matricial y Paralela

Computación Matricial y Paralela Computación Matricial y Paralela Programación en Memoria Compartida Javier Cuenca Dpto. de Ingeniería y Tecnología de Computadores Domingo Giménez Dpto. de Informática y Sistemas Universidad de Murcia

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

Capítulo 6: EVALUACIÓN Y COMPARACIÓN DE MÉTODOS

Capítulo 6: EVALUACIÓN Y COMPARACIÓN DE MÉTODOS Capítulo 6: EVALUACIÓN Y COMPARACIÓN DE MÉTODOS En este capítulo, se realiza la evaluación y comparación de los métodos de paralelización de recurrencias descritos y propuestos en este trabajo. Los resultados

Más detalles

Javier Ibáñez González

Javier Ibáñez González Javier Ibáñez González Despacho 109 Edificio DSIC (1F) Tutorías bajo demanda e-mail: jjibanez@dsic.upv.es http://personales.upv.es/jjibanez Práctica P2 (OpenMP): sesiones 4 y 5 Práctica P3 (MPI): sesiones

Más detalles

Los tipos de datos que con mayor frecuencia se utilizan en Informática son:

Los tipos de datos que con mayor frecuencia se utilizan en Informática son: Los tipos de datos que con mayor frecuencia se utilizan en Informática son: Datos Simples ó Básicos Numéricos No Numéricos Variables sin Subíndices: Numéricas Alfanuméricas Char Lógicas En general, los

Más detalles

Prác%ca 1 Sesión 3 1

Prác%ca 1 Sesión 3 1 Prác%ca 1 Sesión 3 1 Obje%vo Paralelizar códigos mediante los iden%ficadores de hilos Paralelizar dos códigos secuenciales que calculen: 1. El mayor número primo del %po unsigned long long int 2. El número

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 April 17, 2008 Motivación Programar aplicaciones paralelas no es una tarea trivial. Paralelismo

Más detalles

Problema de las N Reinas. Resolución paralela

Problema de las N Reinas. Resolución paralela Problema de las N Reinas Resolución paralela Indice Introducción al problema Representación y Soluciones Resolución secuencial Resolución paralela Conclusiones Bibliografía 2 3 Introducción Introducción

Más detalles

UA.- Estructura de Datos. Unidad de Competencia I Tema 1.2 Arreglos: Vectores, matrices, multidimensionales

UA.- Estructura de Datos. Unidad de Competencia I Tema 1.2 Arreglos: Vectores, matrices, multidimensionales UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO Facultad de Contaduría y Administración Licenciatura en Informática Administrativa UA.- Estructura de Datos Unidad de Competencia I Tema 1.2 Arreglos: Vectores,

Más detalles

COMPUTACIÓN. Redes de Computadores y Computación Distribuida. UNIVERSIDADES DESDE LA QUE SE IMPARTE: Universidad de Santiago de Compostela

COMPUTACIÓN. Redes de Computadores y Computación Distribuida. UNIVERSIDADES DESDE LA QUE SE IMPARTE: Universidad de Santiago de Compostela COMPUTACIÓN Redes de Computadores y Computación Distribuida UNIVERSIDADES DESDE LA QUE SE IMPARTE: Universidad de Santiago de Compostela CRÉDITOS: 3 créditos ECTS PROFESOR/A COORDINADOR/A: Jesús María

Más detalles

GUÍA DE APRENDIZAJE ARQUITECTURAS PARALELAS

GUÍA DE APRENDIZAJE ARQUITECTURAS PARALELAS GUÍA DE APRENDIZAJE ARQUITECTURAS PARALELAS Datos Descriptivos TITULACIÓN: CENTROS IMPLICADOS: GRADO EN INGENIERIA DE COMPUTADORES E.U. DE INFORMATICA CICLO: Grado sin atribuciones MÓDULO: MATERIA: Optativa

Más detalles

Procesamiento Paralelo

Procesamiento Paralelo Procesamiento Paralelo Principios de diseño de algoritmos paralelos 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

PROGRAMACIÓN PARALELA

PROGRAMACIÓN PARALELA Página 1de 9 GUIA DOCENTE DE LA ASIGNATURA PROGRAMACIÓN PARALELA MÓDULO MATERIA CURSO SEMESTRE CRÉDITOS TIPO Complementos de ingeniería del software PROFESOR Grupo de Teoría: Complementos de programación

Más detalles

OpenMP. Qué es OpenMP?

OpenMP. Qué es OpenMP? OpenMP Qué es OpenMP? Modelo de programación paralela Paralelismo de memoria compartida Soporta el paralelismo por datos Escalable Permite paralelización incremental Extensiones a lenguajes de programación

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

Análisis de algoritmos paralelos

Análisis de algoritmos paralelos METODOLOGÍA DE LA PROGRAMACIÓN PARALELA Análisis de algoritmos paralelos REFERENCIAS La mayoría de los libros de la bibliografía, en particular: Foster, cap 3 Kumar, Grama, Gupta, Karypis, cap 4 Wilkinson,

Más detalles

Este método se basa en buscar el elemento menor el vector y colocarlo en la primera

Este método se basa en buscar el elemento menor el vector y colocarlo en la primera Lectura ORDENACIÓN DE ARREGLOS Con frecuencia se requiere clasificar u ordenar los elementos de un vector (arreglo unidimensional) en algún orden en particular. Por ejemplo, ordenar un conjunto de números

Más detalles

Paralelización de Programas Secuenciales: OpenMP

Paralelización de Programas Secuenciales: OpenMP Paralelización de Programas Secuenciales: OpenMP http://www.openmp.org Manuel Arenaz arenaz@udc.es Índice Introducción a la programación paralela Programación con OpenMP Directivas de compilación Librería

Más detalles

PARADIGMA y LENGUAJES DE PROGRAMACIÓN

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

Más detalles

Guía docente de la asignatura Computación Paralela

Guía docente de la asignatura Computación Paralela Guía docente de la asignatura Computación Paralela Asignatura Materia Módulo Titulación COMPUTACION PARALELA COMPUTACION TECNOLOGIAS ESPECIFICAS GRADO EN INGENIERÍA INFORMÁTICA Plan 545 Código 46929 Periodo

Más detalles

Sesión 7. Cálculo Paralelo en Elmer

Sesión 7. Cálculo Paralelo en Elmer Sesión 7. Cálculo Paralelo en Elmer M. Meis y F. Varas Departamento de Matemática Aplicada II Universidad de Vigo Introducción a Elmer, sofware libre de simulación numérica multifísica A Coruña, 27 de

Más detalles

TEMA 1 Álgebra de matrices 4 sesiones. TEMA 2 Determinantes 4 sesiones. TEMA 3 Sistemas de ecuaciones 4 sesiones

TEMA 1 Álgebra de matrices 4 sesiones. TEMA 2 Determinantes 4 sesiones. TEMA 3 Sistemas de ecuaciones 4 sesiones 1.1. MATEMÁTICAS II TEMPORALIZACIÓN Y SECUENCIACIÓN: TEMA 1 Álgebra de matrices 4 sesiones TEMA 2 Determinantes 4 sesiones TEMA 3 Sistemas de ecuaciones 4 sesiones TEMA 4 Vectores en el espacio 4 sesiones

Más detalles

Diseño de Algoritmos Paralelos Prof. Gilberto Díaz

Diseño de Algoritmos Paralelos Prof. Gilberto Díaz Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas Diseño de Algoritmos Paralelos Prof. Gilberto Díaz gilberto@ula.ve Departamento de Computación, Escuela de Sistemas, Facultad de Ingeniería

Más detalles

Antonio Carrillo Ledesma Ismael Herrera Revilla

Antonio Carrillo Ledesma Ismael Herrera Revilla Universidad Nacional Autónoma de México Instituto de Geofísica Aplicación del Cómputo Paralelo a la Modelación de Sistemas Continuos en Ciencias e Ingeniería Mediante el Método FETI Dual-Primal Presentan:

Más detalles

COMPARACIÓN DE MODELOS DE SINCRONIZACIÓN EN PROGRAMACIÓN PARALELA SOBRE CLUSTER DE MULTICORES

COMPARACIÓN DE MODELOS DE SINCRONIZACIÓN EN PROGRAMACIÓN PARALELA SOBRE CLUSTER DE MULTICORES COMPARACIÓN DE MODELOS DE SINCRONIZACIÓN EN PROGRAMACIÓN PARALELA SOBRE CLUSTER DE MULTICORES Autor: A.P.U. Enzo Rucci Director: Ing. Armando E. De Giusti Co-Director: Lic. Franco Chichizola Tesina de

Más detalles

Paralelismo. MPI Paso de mensajes. Francisco García Sánchez Departamento de Informática y Sistemas

Paralelismo. MPI Paso de mensajes. Francisco García Sánchez Departamento de Informática y Sistemas Paralelismo MPI Paso de mensajes Francisco García Sánchez Departamento de Informática y Sistemas Contenido Introducción 1) Uso de MPI 2) Multiplicación de matrices 3) Ordenación por mezcla 4) Programación

Más detalles

Apoyo a la docencia. Web de Martínez Durbán, María Mercedes

Apoyo a la docencia. Web de Martínez Durbán, María Mercedes GUÍA DOCENTE CURSO: 2017-18 DATOS BÁSICOS DE LA ASIGNATURA Asignatura: Programación de Computadores Código de asignatura: 4101106 Plan: Grado en Matemáticas (Plan 2010) Año académico: 2017-18 Ciclo formativo:

Más detalles

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION CICLO: 02/ 2012 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION Nombre de la Practica: Lugar de Ejecución: Tiempo Estimado: MATERIA: GUIA DE LABORATORIO #07 Arreglos. Uso

Más detalles

Universidad Nacional Autónoma de México Instituto de Geofísica

Universidad Nacional Autónoma de México Instituto de Geofísica Universidad Nacional Autónoma de México Instituto de Geofísica Aplicación del Cómputo Paralelo a la Modelación de Sistemas Continuos en Ciencias e Ingeniería Presentan: Antonio Carrillo Ledesma Ismael

Más detalles

COMPUTACIÓN DE ALTA PERFORMANCE 2013

COMPUTACIÓN DE ALTA PERFORMANCE 2013 COMPUTACIÓN DE ALTA PERFORMANCE Curso 2013 Sergio Nesmachnow (sergion@fing.edu.uy) Santiago Iturriaga (siturria@fing.edu.uy) Grupo de Procesamiento Paralelo Aplicado Centro de Cálculo TEMA 3 PROGRAMACIÓN

Más detalles

Paralelismo en la ordenación por mezcla

Paralelismo en la ordenación por mezcla Paralelismo en la ordenación por mezcla Índice MergeSort secuencial. MergeSort paralelo : descomposición en tareas. Descomposición funcional. Descomposición recursiva. Descomposición de dominio. Grafo

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

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

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS 1. INFORMACIÓN GENERAL

Más detalles

Planificaciones Algoritmos y Programación II. Docente responsable: WACHENCHAUZER ROSA GRACIELA. 1 de 5

Planificaciones Algoritmos y Programación II. Docente responsable: WACHENCHAUZER ROSA GRACIELA. 1 de 5 Planificaciones 7541 - Algoritmos y Programación II Docente responsable: WACHENCHAUZER ROSA GRACIELA 1 de 5 OBJETIVOS Introducir los conceptos de diseño de algoritmos y de estructuras de datos, utilizando

Más detalles

P L A N I F I C A C I O N

P L A N I F I C A C I O N P L A N I F I C A C I O N ESTABLECIMIENTO: INSTITUTO SUPERIOR JUJUY CARRERA: TECNICATURA SUPERIOR EN INFORMATICA CON ORIENTACION EN SISTEMAS DE INFORMACION ASIGNATURA: HS. CATEDRA: MODALIDAD: PROFESOR:

Más detalles

Fundamentos de programación C++

Fundamentos de programación C++ Pág. N. 1 Fundamentos de programación C++ Familia: Editorial: Autor: Computación e informática Macro Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-235-6 N. de páginas: 280 Edición: 2. a 2014 Medida:

Más detalles

DATOS DE IDENTIFICACIÓN DEL CURSO Ciencias Computacionales Estructuras y algoritmos

DATOS DE IDENTIFICACIÓN DEL CURSO Ciencias Computacionales Estructuras y algoritmos DEPARTAMENTO: ACADEMIA A LA QUE PERTENECE: NOMBRE DE LA MATERIA: DATOS DE IDENTIFICACIÓN DEL CURSO Ciencias Computacionales Estructuras y algoritmos Estructuras de Datos CLAVE DE LA MATERIA: CC202 CARÁCTER

Más detalles

UA.- Estructura de Datos. Unidad de Competencia I INTRODUCCIÓN Tema 1.1 Estructuras Estáticas

UA.- Estructura de Datos. Unidad de Competencia I INTRODUCCIÓN Tema 1.1 Estructuras Estáticas UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO Facultad de Contaduría y Administración Licenciatura en Informática Administrativa UA.- Estructura de Datos Unidad de Competencia I INTRODUCCIÓN Tema 1.1 Estructuras

Más detalles

Planificaciones Algoritmos y Programación II. Docente responsable: CALVO PATRICIA MABEL. 1 de 8

Planificaciones Algoritmos y Programación II. Docente responsable: CALVO PATRICIA MABEL. 1 de 8 Planificaciones 7541 - Algoritmos y Programación II Docente responsable: CALVO PATRICIA MABEL 1 de 8 OBJETIVOS Que el estudiante, ante un problema, pueda indicar cuáles son los los Tipos de Datos Abstractos

Más detalles

UNIVERSIDAD DE LOS ANDES FACULTAD DE CIENCIAS FORESTALES Y AMBIENTALES ESCUELA DE INGENIERIA FORESTAL PROGRAMA INFORMATICA I (NV)

UNIVERSIDAD DE LOS ANDES FACULTAD DE CIENCIAS FORESTALES Y AMBIENTALES ESCUELA DE INGENIERIA FORESTAL PROGRAMA INFORMATICA I (NV) UNIVERSIDAD DE LOS ANDES FACULTAD DE CIENCIAS FORESTALES Y AMBIENTALES ESCUELA DE INGENIERIA FORESTAL PROGRAMA 1. IDENTIFICACIÓN INFORMATICA I (NV) Prelación: Ninguna Horas Teóricas: 2 Horas/Semana Departamento:

Más detalles

Universidad Autónoma de San Luis Potosí Facultad de Ingeniería Programas Analíticos del Área Mecánica y Eléctrica 5727 PROGRAMACION EN PARALELO

Universidad Autónoma de San Luis Potosí Facultad de Ingeniería Programas Analíticos del Área Mecánica y Eléctrica 5727 PROGRAMACION EN PARALELO A) CURSO Clave Asignatura 5727 PROGRAMACION EN PARALELO Horas de teoría Horas de práctica Horas trabajo Créditos Horas por semana por semana adicional estudiante Totales 3 0 3 6 48 B) DATOS BÁSICOS DEL

Más detalles

PROGRAMA: COMPUTACION I

PROGRAMA: COMPUTACION I UNIVERSIDAD NACIONAL EXPERIMENTAL DEL TACHIRA VICERECTORADO ACADÉMICO DECANATO DE DOCENCIA DEPARTAMENTO DE INGENIERÍA INFORMÁTICA 1 PROGRAMA: COMPUTACION I Código 0415102T Carrera: Ingeniería Informática

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

Algorítmica y Lenguajes de Programación. Eficiencia y notación asintótica (i)

Algorítmica y Lenguajes de Programación. Eficiencia y notación asintótica (i) Algorítmica y Lenguajes de Programación Eficiencia y notación asintótica (i) Eficiencia y notación asintótica. Introducción Para resolver un problema pueden existir varios algoritmos. Por tanto, es lógico

Más detalles

Introducción al Análisis y Diseño de Algoritmos

Introducción al Análisis y Diseño de Algoritmos Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 10 de enero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Introducción al ADA 10 de enero de 2018 1 / 22 1 Introducción al Análisis y Diseño de Algoritmos

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

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

Se llama adjunto de un elemento de una matriz A, al número resultante de multiplicar por el determinante de la matriz complementaria

Se llama adjunto de un elemento de una matriz A, al número resultante de multiplicar por el determinante de la matriz complementaria T.3: MATRICES Y DETERMINANTES 3.1 Determinantes de segundo orden Se llama determinante de a: 3.2 Determinantes de tercer orden Se llama determinante de a: Ejercicio 1: Halla los determinantes de las siguientes

Más detalles

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS 1. INFORMACIÓN GENERAL

Más detalles

Sesión 6. Cálculo Paralelo en Elmer

Sesión 6. Cálculo Paralelo en Elmer Sesión 6. Cálculo Paralelo en Elmer M. Meis 1,2 y F. Varas 1,3 1 Universidad de Vigo, 2 Vicus Desarrollos Tecnológicos, S.A., 3 Universidad Politécnica de Madrid Introducción a la Simulación Numérica Multifísica

Más detalles

: Algorítmica y Estructura de Datos I

: Algorítmica y Estructura de Datos I FACULTAD POLITÉCNICA DIRECCIÓN ACADÉMICA PROGRAMA DE ESTUDIO I. IDENTIFICACIÓN Carrera : Ingeniería de Sistemas CARGA HORARIA (Horas reloj) Asignatura : Algorítmica y Estructura de Datos I Carga Horaria

Más detalles

6.1.- Introducción a las estructuras de datos Tipos de datos Arrays unidimensionales: los vectores Operaciones con vectores.

6.1.- Introducción a las estructuras de datos Tipos de datos Arrays unidimensionales: los vectores Operaciones con vectores. TEMA 6: ESTRUCTURAS DE DATOS (Arrays). CONTENIDO: 6.1.- Introducción a las estructuras de datos. 6.1.1.- Tipos de datos. 6.2.- Arrays unidimensionales: los vectores. 6.3.- Operaciones con vectores. 6.4.-

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

Programación II. Mario Aldea Rivas Programación II 04/04/11 1. Mario Aldea Rivas Programación II 04/04/11 2

Programación II. Mario Aldea Rivas Programación II 04/04/11 1. Mario Aldea Rivas Programación II 04/04/11 2 Programación II Bloque temático 1. Lenguajes de programación Bloque temático 2. Metodología de programación Bloque temático 3. Esquemas algorítmicos Tema 5. Algoritmos voraces, heurísticos y aproximados

Más detalles