Title: proParCurso 0809
1proPar Curso 08/09
- Computadores Paralelos
- Programación basada en paso de mensajes
- Técnicas básicas de programación paralela
- Compulsiva, Divide y Vencerás, Pipeline,
- Síncrona, Equilibrado de carga y Terminación
- Programación basada en memoria común
- Algoritmos y aplicaciones
- Ordenación,
2Procesamiento Paralelo Temario Compulsiva-2
- Paralelismo compulsivo
- Computación paralela ideal
- Transformación geométrica de imágenes
- Fractales El conjunto de Mandelbrot
- Los métodos de Monte Carlo
3proPar Computación paralela ideal Compulsiva-3
- Independencia
- total
- Equilibrio de
- carga perfecto
4proPar Transformación geométrica de
imágenes Compulsiva-4
http//netpbm.sourceforge.net/
5proPar Transformación geométrica de
imágenes Compulsiva-5
Girar x x cos? y sen? y y cos? - x sen?
Desplazar, Escalar, ...
Igual para todo pixel
Un ?P pixel?
No tan fácil !
1024768 786.432
6proPar Transformación geométrica de
imágenes Compulsiva-6
512x512
7proPar Transformación geométrica de
imágenes Compulsiva-7
En 40 mseg !
8proPar Transformación geométrica de
imágenes Compulsiva-8
30º filtro 12 veces
9proPar Transformación geométrica de
imágenes Compulsiva-9
Qué pasa?
10proPar Transformación geométrica de
imágenes Compulsiva-10
Giros incrementales 1, 2, . desde el original
gt 9,311 seg
11proPar Transformación geométrica de
imágenes Compulsiva-11
Sea imagen de 1024768 (786.432) y 16?P gt 49.152
pixels ?P
Cómo repartir el trabajo ?
Cómo sería con modelo cluster?
Eficiencia?
Se adapta más al modelo de multiprocesadores (mem
oria común)
12proPar Fractales El conjunto de
Mandelbrot Compulsiva-12
Zk1 Zk2 Cj
int colores256256
mandelsec.txt
dibujarPixel (f, c, coloresfc)
13proPar Fractales El conjunto de
Mandelbrot Compulsiva-13
?m / Zm gt 2 ? Cj ? M
?
K 0..N gt Colores a utilizar
14proPar Fractales El conjunto de
Mandelbrot Compulsiva-14
Programa secuencial?
Sea mapaPixel 256256 y 512 colores
for (f0 flt256 f) for (c0 clt256 c)
pixelAPunto(f,c,b,a) color
mandelbrot(a,b) dibujarPixel(f,c,color)
15proPar Fractales El conjunto de
Mandelbrot Compulsiva-15
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 ((XXXX) - (YYYY))
A Y (2.0 (XXYY)) B i
distancia XX YY while ((i lt
MAX_ITER) (distancia lt 4.0)) if (i
MAX_ITER) return 0 else return
i
16proPar Fractales El conjunto de
Mandelbrot Compulsiva-16
Paralelización ?
Necesario?
?
- Asignación estática de trabajos
- filas, columnas, cuadrantes
17proPar Fractales El conjunto de
Mandelbrot Compulsiva-17
- Asignación dinámica de trabajos
- Granja de procesadores
4
18proPar Los métodos de Monte Carlo Compulsiva-18
- 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,
19proPar Los métodos de Monte Carlo Compulsiva-19
Se basan en la utilización de números aleatorios
Ejemplo1 gt ?
Círculo de radio 1 inscrito en cuadrado de lado 2
Área del círculo ? Área del cuadrado 4
? / 4 ?
20proPar Los métodos de Monte Carlo Compulsiva-20
Paralelización ?
maestro
e1
e2
eN
21proPar Los métodos de Monte Carlo Compulsiva-21
- Generación secuencial de números aleatorios
Xi1 (aXi c) mod m
http//sprng.cs.fsu.edu/
Xi (Xi-63 T Xi-127) mod 231
- Generación paralela de números aleatorios
(sean 4 procesos)
22proPar Los métodos de Monte Carlo Compulsiva-22
Otra forma de calcular ? mediante una integral
(Sumatorio)
Xr gt Números aleatorios 0..1
FIN