ProParCurso 14/15 1Computadores Paralelos 2Programación basada en paso de mensajes 3Técnicas básicas de programación paralela Compulsiva, Divide y Vencerás,

Slides:



Advertisements
Presentaciones similares
Diseño y análisis de algoritmos
Advertisements

Tipos de Organización ... La organización de máquinas multiprocesadores más típicas son: Mesh Networks. Binary Tree Networks. Hypertree Networks. Pyramid.
Formatos de archivo y modos de color
Centro de estudios Tecnológicos del Mar nO.20 ~Sistemas de Información Geográfica~ Betzaide Viridiana Luna Cruz 22s1.
ProParCurso 13/14 1Computadores Paralelos 2Programación basada en paso de mensajes 3Técnicas básicas de programación paralela Compulsiva, Divide y Vencerás,
Computación Raúl Espejel-Morales Laboratorio Interdisciplinario (326)
UNIVERSIDAD LATINA (UNILA) II.- ANALISIS DE ALGORITMOS
Curso de Photo Paint David Escudero Mancebo Alfonso Pedriza Rebollo
Tema 6.- DISEÑO GRÁFICO POR ORDENADOR
Solución de ecuaciones no lineales
Contenido Planteamiento del problema Método de Punto Fijo
PRIMITIVAS DE SALIDA Curso de graficación I.
Clase 2 Tecnología de la Comunicación II Lic. en Com. Social, Lic. en Periodismo, Locutor Nacional y Periodismo Universitario F AC. DE C S. H UMANAS. UNSL.
Programación en Matlab
PROGRAMACIÓN PARALELA Tema 4: Metodología de la programación
Introducción al diseño gráfico
Introducción al análisis de algoritmos
Algoritmos.
1 Paralelización del algoritmo de segmentación CM Martíno García Hernández UAM-I Noviembre 2007.
Teoría de Sistemas y Señales
Herramientas de Diseño
Imagen Digital teoría taller Imagen Digital La imagen digital Por Gabriel Francés 2004.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
Rendering.
Método de recuperación de Theis
Análisis de algoritmos
Generación de variables aleatorias
Clase 1 Creación y edición de imágenes digitales
FICHEROS DE IMAGEN FUENTES WEB: Gráficos GIF & JPEG, Ramón Montero, 1998 Formatos para la Wb, Luciano Moreno, 2005.
Procesamiento de Imágenes digitales
Reconocedor de Señales de Tráfico Verticales
Fundamentos Físicos de la Imagen Médica José Macías Jaén Radiofísico Hospitalario Servicio de Radiofísica Hospitalaria Hospital Universitario Virgen Macarena.
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
ProParCurso 14/15 1Computadores Paralelos 2Programación basada en paso de mensajes 3Técnicas básicas de programación paralela Compulsiva, Divide y Vencerás,
FUNCIONES LINEALES DÍA 30 * 1º BAD CT.
Edición de imágenes Feb Imágenes digitales Las imágenes digitales las podemos clasificar en dos grupos: Imágenes de mapa de bits. Son imágenes.
Graficación IA7200-T Algoritmos Clásicos.
Procesamiento de Imágenes digitales
Estructuras de repetición
MoMento S Grupo 33: Ignacio Ayllón Benito Félix A. Velázquez Salas.
LA IMAGEN DIGITAL: TIPOS Y FORMATOS DE IMÁGENES DIGITALES.
Pendiente de una recta. Ejercicios.
Profra. María Guadalupe Pedraza Aguilar. Es un software también llamado, hoja de cálculo o libro. Programa perfecto para organizar datos. Contiene filas-horizontales.
Métodos de integración de Montecarlo: Reciben este nombre porque se basan en la generación de números aleatorios. Así, si, por ejemplo quiséramos calcular.
Capítulo 6. ANÁLISIS DE ALGORITMOS
Estructuras de control Resolución de problemas y algoritmos.
Tema 7. RECTA . X l1 d1 P1 l2 d2 l‘ l P2 Y l2 l1 1 2 1 2 Y X C B A
Adobe Photoshop Tamara Paola Caballero Guichard Ibero Puebla.
FUNCION LINEAL.
Oscar F. Bedoya L. Fundamentos de análisis y diseño de algoritmos.
Formatos de imágenes.
Compresión de imágenes Carlos Miguel Calafate Visión por Computador 2002.
La Fotografía Digital (Resumen)
Elaboración de algoritmos usando lógica de programación
@ Angel Prieto BenitoMatemáticas 2º Bachillerato CS1 DISTRIBUCIÓN NORMAL MATEMÁTICAS A. CS II Tema 13.
NOMBRE DE LA UNIDAD: ECUACION DE LA RECTA FRUTILLAR, SEPTIEMBRE DEL 2006.
MATRICES.
DISEÑO ASISTIDO POR COMPUTADORAS
Cálculo de volumen.
 La fotografía digital son imágenes del mundo real digitalizadas. Esto consiste en tomar una visión del mundo y transformarla en un número de pixeles.
Formatos y Extensiones Presentado por: Leandro Aguilera Sonia Santamaría German Castañeda Presentado a: Yamid Solano Colegio Departamental Ubalá Asignatura.
Abstracción El concepto de abstracción es esencial en ciencias de la computación. Un programa es en sí mismo una abstracción, un modelo de la resolución.
Reconocimiento de cara basado en “espectrocara”
Clasificar las imágenes es una tarea que puede realizarse basándose en múltiples criterios, en el caso que nos ocupa nos interesa exclusivamente la forma.
El objetivo de la segmentación es dividir (segmentar) y separar la información original para generar nuevas imágenes que representen las estructuras internas.
Medidas de superficie.
TEMA : ANALISIS DE REGRESION
Todo con bits Transmisión de imágenes.
Generación de Variables Aleatorias
proPar Curso 18/ , 3, 2 2, 2 4 Computadores Paralelos
Transcripción de la presentación:

proParCurso 14/15 1Computadores Paralelos 2Programación basada en paso de mensajes 3Técnicas básicas de programación paralela Compulsiva, Divide y Vencerás, Pipeline, Síncrona, Equilibrado de carga y Terminación 4Programación basada en memoria común 5Algoritmos y aplicaciones Ordenación, … 5 4 2, 3, 2 2, 2 5 4

proParTemarioCompulsiva-2 3Paralelismo compulsivo 1Computación paralela ideal 2Transformación geométrica de imágenes 3Fractales: El conjunto de Mandelbrot 4Los métodos de Monte Carlo

proParComputación paralela idealCompulsiva-3 entrada salida Independencia total Equilibrio de carga perfecto e1e2eN maestro Quasi ideal Maestro reparte trabajos y recolecta resultados Los esclavos no se comunican entre sí Poca comunicación frente a cómputo

proParTransformación geométrica de imágenesCompulsiva-4 Digital: RamVideo | mapaPixels 512 dibujarPixel(f,c,color) Construir o manipular Muchos formatos: jpg, giff, tiff, bmp,... jasper ppm y pgm Color: RGB Tonalidad Grises

proParTransformación geométrica de imágenesCompulsiva-5 Girar: x’ = x cos  + y sen  y’ = y cos  - x sen  Desplazar, Escalar, *768 = N M N M Igual para todo pixel ¿Un  P * pixel? ¡ No tan fácil !

proParTransformación geométrica de imágenesCompulsiva-6 Girar no es tan fácil 30º 512x512

proParTransformación geométrica de imágenesCompulsiva-7 Girar no es tan fácil 30º + filtro ¡ En 40 mseg !

proParTransformación geométrica de imágenesCompulsiva-8 Girar no es tan fácil [30º + filtro] 12 veces

proParTransformación geométrica de imágenesCompulsiva-9 Girar no es tan fácil [1º + filtro] 360 veces ¿Qué pasa?

proParTransformación geométrica de imágenesCompulsiva-10 Girar no es tan fácil [1º + filtro] 360 veces Giros incrementales [1, 2, ….] desde el original => 9,311 seg

proParTransformación geométrica de imágenesCompulsiva-11 Un filtrado es más facil

proParTransformación geométrica de imágenesCompulsiva-12 Sea imagen de 1024*768 ( ) y 16  P => pixels *  P ¿ Cómo repartir el trabajo ? filas columnas rectángulos ¿Cómo sería con modelo cluster?¿Eficiencia? Se adapta más al modelo de multiprocesadores: (memoria común)

proParFractales: El conjunto de MandelbrotCompulsiva Fila Columna 512 colores [3+3+3] 1 … ……….. 3 ………………….… 2 ……… …………… … ……………………………….… ………... 3 …………………... 2……….. mandelsec.txt 1 int colores[256][256] Z k+1 = Z k 2 + Cj 2 dibujarPixel (f, c, colores[f][c])

Condición de divergencia proParFractales: El conjunto de MandelbrotCompulsiva-14 Representaciones gráficas contenidas en una fórmula Conjunto de Mandelbrot {M} Z k+1 = Z k 2 + Cj Z 0 = 0 K = 0..   m / |Zm| > 2  Cj  {M} ? K = 0..N => # Colores a utilizar Real -2 Imaginario Cj = a + b i b a Cj  {M} diverge Zm => Color(m) Cj  {M} no diverge => Negro

proParFractales: El conjunto de MandelbrotCompulsiva-15 ¿Programa secuencial? Sea mapaPixel 256*256 y 512 colores for (f=0; f<256; f++) for (c=0; c<256; c++) { pixelAPunto(f,c,&b,&a); color = mandelbrot(a,b); dibujarPixel(f,c,color); } Real -2 Imaginario 2550 Columnas Filas

proParFractales: El conjunto de MandelbrotCompulsiva-16 #define MAX_ITER = 256 int mandelbrot (double A, double B) { double X = 0.0, Y = 0.0; double XX, YY, distancia; int i = 0; do { XX = X; YY = Y; X = ((XX*XX) - (YY*YY)) + A; Y = (2.0 * (XX*YY)) + B; i++; distancia = X*X + Y*Y; } while ((i < MAX_ITER) && (distancia <= 4.0)); if (i == MAX_ITER) return 0; else return i; }

proParFractales: El conjunto de MandelbrotCompulsiva-17 ¿ Paralelización ? 2550 Columnas Filas e1e2eN maestro a.Asignación estática de trabajos filas, columnas, cuadrantes ¡ Ineficiente ! e1 maestro e1 e4 e7 e4 1*2*3* ** O(7.763)O( ) O( ) ¿Necesario? ?

proParFractales: El conjunto de MandelbrotCompulsiva-18 b.Asignación dinámica de trabajos Granja de procesadores {Trabajos pendientes}* ¿pixels, filas, cols,....? Fila Columna maestro e1 e2 e3 e O( --- )

proParLos métodos de Monte CarloCompulsiva-19 Idea: Uso de números aleatorios – Casino de Monte Carlo Orígenes: 1944 – Stan Ulaw y VonNewmann – Bomba atómica Aplicaciones:  Diseño de reactores nucleares  Cromo dinámica cuántica  Radioterapia contra el cáncer  Densidad y flujo de tráfico  Evolución estelar  Econometría  Pronóstico del índice de la bolsa  Prospecciones en explotaciones petrolíferas  Diseño de VLSI  Física de materiales  Ecología  Criptografía  Valoración de cartera de valores  Programas de ordenador  Métodos cuantitativos de organización industrial Simular aleatoriedad de los procesos físicos, térmicos, …

proParLos métodos de Monte CarloCompulsiva-20 Se basan en la utilización de números aleatorios: Ejemplo1 =>  Círculo de radio 1 inscrito en cuadrado de lado Área del círculo =  Área del cuadrado = 4 ¿  / 4 ? enCirculo = 0; for (i=0; i<M; i++) { x = aleatorio(0.0, 1.0); y = aleatorio(0.0, 1.0); if ((x*x + y*y)<=1.0) enCirculo++; } PI = (4.0 * enCirculo) / (double) M); ¿M? Suficientemente grande

proParLos métodos de Monte CarloCompulsiva-21 ¿ Paralelización ? e1e2eN maestro Cada esclavo computa: M/N puntos aleatorios ¡ Todos los esclavos calculan lo mismo ! Generador de aleatorios Pensar en mecanismos más eficientes

proParLos métodos de Monte CarloCompulsiva-22 Generación secuencial de números aleatorios: X i+1 = (aX i + c) mod m a = m = c = 0 Generación paralela de números aleatorios: (sean 4 procesos) X i = (X i-63 Θ X i-127 ) mod 2 31 P0P0 P1P1 P2P2 P3P3 X0X0 X1X1 X2X2 X3X3 X4X4 X5X5 X6X6 X7X7 X i+4 = (AX i + C) mod m A = a 4 C = c(a 3 +a 2 +a 1 +a 0 ) mod m

proParLos métodos de Monte CarloCompulsiva-23 Otra forma de calcular  mediante una integral (Sumatorio) 1 1 y=F(x) Área del semicírculo =  /4  F(x r ) (1 - 0) 1N1N r=1 N Xr => Números aleatorios [0..1] 1 x  0 1-x 2 dx 1 y

proParLos métodos de Monte CarloCompulsiva-24 Otra forma de calcular  mediante una integral (Sumatorio) FIN Fx = 0.0; for (i=1; i<M; i++) { x = (double) random() / (double) RAND_MAX; fx = sqrt (1.0 – x*x); Fx + = fx; } PI = (Fx / (double) M) * 4.0; M Error MonedaError Integral 0, , , , , , , , , ,000029