Está en la página 1de 5

UNIVERSIDAD TÉCNICA DE MANABÍ

FACULTAD DE CIENCIAS INFORMÁTICAS

Nombre:

Mora Reyna Ginger Alexandra

Asignatura:

Computación paralela y distribuida

“A”

Docente:

Dr. Leonardo Chancay

TALLER 01

Ciclo:

Octubre 2021 – Febrero2022

Universidad Técnica de Manabí

1
Multiplicación de matrices

La multiplicación de matrices es una operación fundamental que se utiliza en muchas


aplicaciones científicas. El algoritmo de la multiplicación de matrices en paralelo
descrito por Sapir implica la comunicación de datos entre los núcleos vecinos de
acuerdo con el algoritmo de Cannon La memoria relativamente pequeña de cada
núcleo, presenta algunos desafíos en la implementación de éste, haciendo necesario
el uso cuidadoso de espacio de memoria disponible para la comunicación entre los
núcleos.
El siguiente ejemplo muestra cómo se puede utilizar la arquitectura Epiphany para
mejorar el rendimiento general de un cálculo matemático. Por simplicidad, hemos
optado la multiplicación de matrices, pero los conceptos se aplican a problemas más
complicados. La multiplicación de matrices se puede representar por la siguiente
fórmula:

El Problema:
Donde A y B son las matrices de entrada, C es el matriz de resultado, e i y j
representan la coordenada (i, j) — fila, columna, de los elementos de la matriz.
Un procedimiento para implementar la multiplicación de matrices en un solo core
(núcleo) se muestra a continuación:

Este código puede escribirse en lenguaje C/C++ estándar, compilarse y ejecutarse en


un solo núcleo, siempre que las matrices A, B y C sean colocadas en la memoria local
de los núcleos. En este ejemplo de programación, no existe diferencia entre la
arquitectura Epiphany y alguna otra plataforma con un solo procesador.

Universidad Técnica de Manabí

2
La solución planteada:

Para acelerar el cálculo matemático, es posible utilizar varios núcleos


simultáneamente.
Primero se distribuyen las matrices A, B, C en P tareas. Por la naturaleza estructural
de una matriz, la manera más adecuada de distribuir las tareas, es por bloques
pequeños.
Para ello se hacen programas (SPMD — Single Program Multiple Data) que se
ejecutan en cada uno de los núcleos.

La siguiente muestra que la multiplicación de matrices puede dividirse en 16 tareas y


cada una de ellas ejecutada en los núcleos de la red. La transferencia de datos durante
la ejecución de las tareas, entre cada nodo, se realiza mediante la interfaz de paso de
mensajes incluida en el entorno de programación de Epiphany (SDK) o directamente
escribiendo en la memoria compartida global.
La multiplicación de matrices en paralelo se completa en cierto número de pasos
determinados por la raíz cuadrática de P (4P), donde P es el número de procesadores;
con cada tarea de multiplicación de matrices operando sobre el conjunto de datos que
son del tamaño de por QP.

Universidad Técnica de Manabí

3
En cada paso del proceso, se hacen modificaciones a la matriz C,
después de lo cual la matriz A se mueve hacia abajo y la matriz B se
mueve a
la derecha.

Este ejemplo se puede programar utilizando lenguaje de programación


estándar ANSI. La arquitectura Epiphany proporcionan funciones específicas para
simplificar la programación multicore, pero su uso no es obligatorio, esta arquitectura
permite a los programadores innovar en todos los niveles.

Este algoritmo, implementado en la arquitectura Epiphany con 16-cores operando a 1


GHz, resuelve la multiplicación de matrices de 128 x 128 en 2 ms.
Este ejemplo demuestra cómo es posible escalar la arquitectura para miles de cores
y cómo crece linealmente el rendimiento de la arquitectura Epiphany con el número
de cores cuando se utilizan modelos adecuados de programación y distribución de
datos.

Universidad Técnica de Manabí

4
Bibliografía referenciada en el texto del ensayo (normas APA 7).

Cannon.L (1969) "A cellular computer to implement the Kalman filter algorithm."

DTIC Document, Tech. Rep.,

Adapteva, "Epiphany Technical Reference Documents," Recuperado de:

http://www.adapteva.com/all-documents.

González, R. y R. Woods. (2008) "Digital Image Processing". Person Education.

Universidad Técnica de Manabí

También podría gustarte