Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Computación Vectorial

No description
by

Juan Castro

on 6 June 2011

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Computación Vectorial

COMPUTACIÓN VECTORIAL Arquitectura SIMD Ún unico programa controla los procesadores.
Útil en aplicaciones uniformes
Procesamiento de imágenes.
Aplicaciones multimedia.
Aplicaciones numéricas sobre matrices.
Su aplicabilidad está limitada por las comunicaciones entre procesadores.
La topología de interconexión es fija.
Los elementos de procesamiento tienen capacidad de cómputo limitada (1 bit a 8 bits), por lo que se pueden colocar una gran cantidad por chip (e.g. Connection Machine 2 con 64k PEs).
Fueron los primeros multiprocesadores difundidos comercialmente (en la década de 1980). http://www.fing.edu.uy/inco/cursos/hpc/material/clases/Clase2-2010.pdf
http://www.fing.edu.uy/inco/cursos/numerico/aln/HPC.pdf
http://rubmarin.galeon.com/sisd.htm SIMD: Instruccion simple - Dato Multiple Modelo de Programación Paralela Programación en máquina de Von Neumann Secuencia de operaciones (aritméticas, read/write de memoria, avance de PC).
Abstracciones de datos e instrucciones.
Técnicas de programación modular. Programación en máquina paralela Incluye complicaciones adicionales.
Multiejecución simultánea.
Comunicaciones y sincronización.
La modularidad pasa a ser fundamental, para
manejar la (potencialmente) enorme cantidad de
procesos en ejecución simultánea. Modelo Conceptual de Paralelismo El paradigma de diseño y programación difiere del utilizado para diseñar y programar aplicaciones secuenciales. Una buena estrategia de división del problema puede
determinar la eficiencia de un algoritmo paralelo.
Es importante considerar la disponibilidad de hardware. Respecto a los mecanismos de comunicación entre procesos, existen dos paradigmas de computacion paralela. Memoria compartida.
Pasaje de mensajes
Existen también MODELOS HÍBRIDOS, que combinan ambas técnicas ) Niveles de Aplicación del Procesamiento Paralelo El paralelismo puede aplicarse : A nivel intrainstrucción ( hardware, pipelines ).
A nivel interinstrucción ( SO, optimización de código,
compilador ).
A nivel de procedimientos o tareas ( algorítmico – tareas ).
A nivel de programas o trabajos ( algorítmico – funcional ). Los niveles 3 y 4 de aplicación de las técnicas de paralelismo (enfocado al diseño y programación de algoritmos paralelos). Modelo Conceptual de Paralelismo DESCOMPOSICIÓN ASIGNACIÓN ORQUESTACIÓN MAPEO (SCHEDULING) Identifica concurrencia y decide el nivel y la forma en la cual se
explotará. Cantidad de tareas.
Tareas estáticas o dinámicas.
Criterios de división y utilización de recursos. Asigna datos a procesos
Criterios de asignación Estáticos o dinámicos.
Balance de cargas.
Reducción de costos de comunicación y sincronización. Decisión sobre parámetros de arquitectura, modelo de programación, lenguaje o biblioteca a utilizar. Estructuras de datos, localidad de referencias.
Optimizar comunicación y sincronización. Asignación de procesos a procesadores.
Criterios de asignación Performance.
Utilización.
Reducción de costos de comunicación y sincronización. Problemas de la computacion paralela- distribuida Confiabilidad
No determinismo en la ejecución
Seguridad
Dificultad de estimar la performance final de una aplicación
Dificultad de testear / debuggear programas
Incompatibilidades entre productos y plataformas Tecnicas de programacion paralela Técnica de descomposición de dominio Técnica de descomposición funcional Técnicas Híbridas SERGIO BARRERA
JUAN CASTRO Se basa en realizar operaciones sobre matrices y vectores en punto flotante. APROXIMACIONES A LA COMPUTACION VECTORIAL Utiliza sistemas diseñados para la necesidad de computacion vectorial. PROCESADORES MATRICIALES Se basan en realizar operaciones de vectores de números en punto flotante 1.5
7.1
6.9
100.5
0
59.7

A + 2.0
39.7
1000.003
1.1
21.1
19.7

B = 3.5
46.8
1006.093
111.5
21.1
79.4

C DO 100 I =1,N
DO 100 J=1,N
C ( I , J ) = 0.0
DO 100 K =1,N
C ( I , J ) = C ( I , J ) + A ( I , K ) + B ( K , J ) 100 CONTINUE DO 100 I =1,N
C ( I , J ) = 0.0
DO 100 K =1,N
C ( I , J ) = C ( I , J ) + A ( I , K ) + B ( K , J ) ( J = 1, N) 100 CONTINUE DO 50 J =1,N - 1
FORK 100

J = N

C ( I , J ) = 0.0
DO 200 K =1,N
C ( I , J ) = C ( I , J ) + A ( I , K ) + B ( K , J ) 50 CONTINUE 100 CONTINUE 200 CONTINUE UNIDAD VECTORIAL IBM 3090 ORGANIZACIÓN REGISTROS INSTRUCCIONES COMPUESTAS CONJUNTO DE INSTRUCCIONES La estructura fija y predeterminada de los datos vectoriales permite reemplazar las instrucciones incluidas en bucles por rápidas operaciones de máquina internas (cableadas o micorpropagadas).
El acceso a los datos y las operaciones aritméticas con elementos vectoriales sucesivos se pueden completar concurrentemente solapando las operaciones en un cauce segmentado o realizando en paralelo operaciones sobre múltiples elementos.
El uso de registros vectoriales para los resultados intermedios evita referencias adicionales a memoria. Se utilizan tres operaciones que combinan en una instrucción (un solo código de operación) las secuencias más comunes en los cálculos vectoriales. multiplicacion seguida de suma, resta o acumulación.
MULTIPLY-AND-ADD
MULTIPLY-AND-SUBSTRACT {ALU segmentada
{ALU paralelas
{Procesadores paralelos Descomponer una operacion en Coma flotante en etapas

se divide en 4 etapas
comparacion
desplazamiento
suma
normalizacion La segmentacion de cauce permite que multiples elementos vectoriales se procesen en paralelo
Full transcript