Algoritmos no sistólicos para la multiplicación de matrices en FPGA s



Documentos relacionados
Tema 5: Organización de la memoria: memoria principal.

ÁREA DE INGENIERÍA QUÍMICA Prof. Isidoro García García. Operaciones Básicas de Transferencia de Materia. Tema 4

Permutaciones y combinaciones

OPERACIONES CON POLINOMIOS.

CONVEXIDAD R 2. Conjuntos convexos. Combinación lineal convexa de m puntos. λ x. Ejemplos de conjuntos convexos en R 2

Solución del examen de Investigación Operativa de Sistemas de septiembre de 2004

La característica más resaltante de la capitalización con tasa de. interés simple es que el valor futuro de un capital aumenta de manera

1. Lección 11 - Operaciones Financieras a largo plazo - Préstamos (Continuación)

Capítulo 5 Distribución de esfuerzos en el suelo debido a cargas

FEE02-15 FÓRMULAS Y EJEMPLOS. Incluye a los productos:

2. LEYES FINANCIERAS.

UNIDAD 1: MATRICES Y DETERMINANTES

COLEGIO CRISTIANA FERNÁNDEZ DE MERINO Trípoli No. 112, Col. Portales, México, D. F. Tel ,

Correo electrónico:

Modelo dependiente de la frecuencia para líneas de transmisión (FD-LINE)

MODELOS DE PROBABILIDAD

MC Fco. Javier Robles Mendoza Primavera 2009

ANÁLISIS DEL PROBLEMA DE LOS MONOS Y LOS COCOS. (Resolución por JMEB.)

ELEMENTOS DE ÁLGEBRA MATRICIAL

CRITERIOS DE DECISIÓN EN LA EVALUACION DE PROYECTOS

Figura 9.1: Respuesta típica al escalón unitario de un sistema de control. Análisis de Sistemas Lineales 95 Ing. Eduardo Interiano

ANEXO I ANEXO I CONCEPTOS SÍSMICOS BÁSICOS

Medidas de Tendencia Central

4.1. Introducción a la Programación Lineal Entera (PLE)

Programación Entera (PE)

Estimación de Armónicos sobre FPGA Aplicando Estadística de Orden Superior y Convolución

5. Aproximación de funciones: polinomios de Taylor y teorema de Taylor.

TESIS DOCTORAL. Generadores de números pseudoaleatorios en aritmética de residuos: teoría e implementación en FPGAs

SISTEMA DE VISIÓN ARTIFICIAL PARA EL RECONOCIMIENTO Y MANIPULACIÓN DE OBJETOS UTILIZANDO UN BRAZO ROBOT

TEMA 2.- MODELOS DE PROGRAMACION LINEAL. SOLUCION GRAFICA. En los problemas de Programación Lineal nos encontraremos con:

Análisis de datos en los estudios epidemiológicos II

UNIDAD Nº 2. Leyes financieras: Interés simple. Interés compuesto. Descuento.

b n 1.8. POTENCIAS Y RADICALES.

Capítulo 2. Operadores

UNIVERSIDAD DE GUADALAJARA

Tema 9. Combinatoria

Fórmula de Taylor. Si f es continua en [a,x] y derivable en (a,x), existe c (a,x) tal que f(x) f(a) f '(c) = f(x) = f(a) + f '(c)(x a)

Ejercicios Resueltos ADC / DAC

REGÍMENES FINANCIEROS

Unidad Central del Valle del Cauca Facultad de Ciencias Administrativas, Económicas y Contables Programa de Contaduría Pública

2. LEYES FINANCIERAS.

PRUEBAS DE ACCESO A LA UNIVERSIDAD L.O.G.S.E

REFRACCIÓN. OBJETIVOS Después de completar el estudio de este tema podrá usted:

A = 1. Demuestra que P (1) es cierta. 2. Demuestra que si P (h) es cierta, entonces P (h + 1) es cierta.

DOMINANCIA DE GRAFOS EN Z n p Y EN Z n 3 Z m 2

1.1. Campos Vectoriales.

Polinomios. Definición de polinomio y sus propiedades. Grado de un polinomio e igualdad de polinomios

Ejercicio 1. Sea el recinto limitado por las siguientes inecuaciones: y + 2x 2; 2y 3x 3; 3y x 6.

SISTEMAS DE ECUACIONES LINEALES: Igualación y Sustitución

Abel Martín LAS FRACCIONES. - Las fracciones como parte de un todo - Egipto les espera

UNIDAD 8 MODELO DE ASIGNACIÓN. características de asignación. método húngaro o de matriz reducida.

Transformaciones Lineales

11. TRANSFORMADOR IDEAL

IES SANTIAGO RAMÓN Y CAJAL. PRIMER TRIMESTRE. EJERCICIOS DE REPASO.

Fuzzy mathematical programming applied to the material requirements planning (MRP)

Matemáticas I - 1 o BACHILLERATO Binomio de Newton

Progresiones. Objetivos. Antes de empezar. 1.Sucesiones.. pág. 74 Definición. Regla de formación Término general

PROBLEMAS RESUELTOS SELECTIVIDAD ANDALUCÍA 2014 MATEMÁTICAS APLICADAS A LAS CIENCIAS SOCIALES TEMA 6: TEORÍA DE MUESTRAS

Imposiciones y Sistemas de Amortización

LÍMITES DE FUNCIONES REALES CON TENDENCIA A REAL

REVISIÓN DE ALGUNOS INDICADORES PARA MEDIR LA DESIGUALDAD XAVIER MANCERO CEPAL

IES Fco Ayala de Granada Sobrantes de 2011 (Modelo 1) Enunciado Germán-Jesús Rubio Luna

BINOMIO DE NEWTON página 171 BINOMIO DE NEWTON

Propuesta de un modelo para la gestión de los neumáticos de una flota de vehículos

MATEMÁTICAS FINANCIERAS

Sistemas Automáticos. Ing. Organización Conv. Junio 05. Tiempo: 3,5 horas

OPCIÓN A EJERCICIO 1_A

PRUEBAS DE ACCESO A LA UNIVERSIDAD FASE ESPECÍFICA: MATERIAS DE MODALIDAD

10. Estimadores Estimación de las precisiones 8

Sucesiones numéricas.

Propuesta A. { (x + 1) 4. Se considera la función f(x) =

INSTITUTO NACIONAL DE ESTADÍSTICA Y GEOGRAFÍA. Encuesta Nacional de la Dinámica Demográfica Diseño muestral

Métodos Estadísticos de la Ingeniería Tema 9: Inferencia Estadística, Estimación de Parámetros Grupo B

en. Intentemos definir algunas operaciones en

CONCEPTOS BÁSICOS DE PRESTAMOS.

Figura 1. Se dice que un subespacio vectorial F de E es A-invariante si los vectores u de F siguen estando en F al transformarse por A, esto es,

TEMA 5: INTERPOLACIÓN

UNIVERSIDAD DE ATACAMA

ES / -- SiStema mag. Limpieza suelo

Soluciones Hoja de Ejercicios 2. Econometría I

TEMA 2 - FUNCIONES DE VARIAS VARIABLES (I): LÍMITES Y CONTINUIDAD. 1. Conceptos topológicos previos en el espacio euclídeo R n.

ÓPTICA FCA 08 ANDALUCÍA

TEMA 3.- OPERACIÓN FINANCIERA

INFERENCIA ESTADÍSTICA. CONTRASTE DE HIPÓTESIS

Gradiente, divergencia y rotacional

SELECTIVIDAD ANDALUCÍA MATEMÁTICAS CCSS SOBRANTES 2008 (MODELO 5)

Un modelo didáctico basado en el diseño de simuladores: el

Análisis de Señales y Sistemas Digitales. Concepto Algoritmo Implementación

Ejemplos y ejercicios de. Análisis Exploratorio de Datos. 2 Descripción estadística de una variable. Ejemplos y ejercicios.

Apéndice. A.1. Definición y notaciones.

SOLUCIONES Modelo 2 PRUEBA DE ACCESO A LA UNIVERSIDAD DEL AÑO ANDALUCÍA MATEMÁTICAS APLICADAS A LAS CIENCIAS SOCIALES II

MEDIDAS DE DISPERSION

ESTIMACIÓN DE VARIANZAS Y PROPORCIONES POBLACIONALES MEDIANTE INTERVALOS DE CONFIANZA

PRUEBAS DE ACCESO A LA UNIVERSIDAD L.O.G.S.E

EXAMEN DE TÉCNICAS PARA EL ANÁLISIS DEL MERCADO. 11-Septiembre-2014.

Automá ca. Capítulo6.LugardelasRaíces. JoséRamónLlataGarcía EstherGonzálezSarabia DámasoFernándezPérez CarlosToreFerero MaríaSandraRoblaGómez

Números complejos. Un cuerpo conmutativo es un conjunto de números que pueden sumarse, restarse, multiplicarse y dividirse.

SOLUCIONES DE LOS PROBLEMAS DE LA OME 49ª. 1. Sean a, b y n enteros positivos tales que a b y ab 1 n. Prueba que

Transcripción:

Algoritos o sistólicos para la ultiplicació de atrices e FPGA s Algoritos o sistólicos para la ultiplicació de atrices e FPGA s Igacio Bravo, Pedro Jiéez, Mauel Mazo, José Luis Lázaro, J. Javier de las Heras Departaeto de Electróica. Uiversidad de Alcalá Capus Uiversitario. Ctra. Madrid Barceloa k.600. 8871 Alcalá de Heares (Madrid http://www.depeca.uah.es ibravo@depeca.uah.es Resue. Este trabajo evalúa diferetes algoritos de ultiplicació de atrices para FPGA s (Field Prograable Gate Array. Esta operació es uy habitual e uerosos algoritos de procesado de señales e iágees, por lo que su ábito de actuació es uy diverso. Detro de este aálisis o se recoge los basados e arquitecturas sistólicas ya que éstas cosue u elevado úero de ultiplicadores, siedo iviable su epleo para aplicacioes co taaño de atrices grades. 1. Itroducció La ultiplicació de atrices (M.M., es ua operació cada vez es ás habitual e uerosos algoritos de diferetes áreas de la igeiería. Por ejeplo, e el área de visió artificial cada iage equivale a ua atriz. Si ebargo, o sólo se cetra su ábito e esta área, sio que tabié e el procesaieto de señales tabié su uso es uy habitual. Noralete la M.M. lleva asociada u alto úero de operacioes aritéticas, por lo que hasta hace poco era iviable su ipleetació e u dispositivo recofigurable. Uo de los probleas pricipales, era la dificultad de ipleetar u ultiplicador hardware. Si ebargo, hoy e día las uevas failias de FPGA s posee hasta 00 ultiplicadores hw [1] []. Co este úero de recursos, es factible la ipleetació de ua arquitectura sistólica para la ipleetació de M.M. []. E la Figura 1 se uestra ua arquitectura sistólica clásica de M.M., dode se dispoe de u iterface para gestioar los datos de ua atriz de etrada A (iterface filas y de ua atriz de etrada B (iterface coluas. E este tipo de algoritos el úero de ultiplicadores suele coicidir co el taaño de la atriz a aejar, por lo que si las atrices a tratar posee taaños superiores al úero de ultiplicadores, se hace iviable su ipleetació. E el caso de M.M. e visió artificial, el taaño habitual de iágees aejados actualete (66, 11 ó 1010 píeles hace iviable el epleo de arquitecturas sistólicas. Esta causa justifica la búsqueda de alterativas para la M.M. e FPGA s. Por tato, a la hora de aejar taaños de atrices grades, es iposible ipleetar algoritos que cofore ua arquitectura puraete sistólica y por cosiguiete ua ejecució totalete e paralelo []. Por ello, el objetivo será ecotrar u algorito de M.M., dode el úero de recursos iteros sea suficiete y dode la ejecució de dicho algorito eplote al áio las posibilidades de cocurrecia e las FPGA s. El resto del artículo se divide de la siguiete fora: A cotiuació se describe las características de la M.M. para su paralelizació. El siguiete apartado describe el algorito clásico de M.M., para a cotiuació evaluar el algorito de Wiograd, Strasse y particioado de atrices. El artículo fializa co u apartado de resultados obteidos e diferetes pruebas así coo las coclusioes derivadas de este trabajo.. Paralelizació de los algoritos de ultiplicació. La M.M. tiee características uy específicas e lo que se refiere al diseño e ipleetació de u algorito paralelo: Cada eleeto c i,j de la atriz resultado (C, e pricipio es idepediete de todos los deás eleetos. Esto es suaete útil dado que perite u aplio grado de FPGAs: Metodologías, herraietas y aplicacioes Editores: Jua A. Góez Pulido, Jua M. Sáchez Pérez, Miguel A. Vega Rodríguez - Uiversidad de Etreadura ISBN-10: 8-611-11- ISBN-1: 978-8-611-11-9 Pág. 86

Algoritos o sistólicos para la ultiplicació de atrices e FPGA s fleibilidad e lo referete a la paralelizació. La catidad y el tipo de operacioes a realizar, es idepediete de los datos isos. Regularidad de la orgaizació de los datos y de las operacioes que se realiza sobre los datos: los datos está orgaizados e estructuras bidiesioales (las atrices isas y las operacioes so básicas (ultiplicació y sua. Figura 1. INTERFACE FILAS INTERFACE COLUMNA b i,j a i,j b i+1,j a i,j+1. b -1,j a i,-1 b,j a i, Sistea sistólico de M.M.. + + c i,j + MEMORIA La priera característica hace que la M.M. sea especialete apropiada para sisteas ultiprocesadores, dode u cojuto de eleetos de procesaieto, coparte ua isa eoria. Los algoritos paralelos para ultiprocesadores suele seguir las ideas básicas de descoposició o divisió de los datos a calcular. Las últias dos características hace que los algoritos propuestos para la M.M. e paralelo siga el odelo de cóputo paralelo SPMD (Sigle Progra Multiple Data, e el que u iso prograa se ejecuta e cada procesador de aera idepediete y evetualete se sicroiza y/o couica co los deás procesadores. E geeral, los algoritos se puede adaptar de ua aera ás o eos copleja a cada ua de las arquitecturas de procesaieto paralelo dispoibles. Por tato, e fució de la platafora hardware dode se ipleete el sistea de M.M., será ecesario realizar u algorito diferete. Eiste uerosas alterativas para eplotar las características ateriores (ver Tabla 1. E este trabajo sólo os cetrareos e tres de ellas: Wiograd, Strasse y particioado de atrices. Tabla 1. Método de ultiplicació de atrices Particioado directo Divide & Coquer recursivo Arrays sistólicos Cao Fo Resue algoritos M.M. e paralelo. Características ás iportates Varias uidades de procesado, dode cada uidad calcula ua parte de la atriz resultado. Probleas co los accesos a eoria copartida. Multiplicació ediate subatrices. Llaadas recursivas para la obteció de resultados. Aueto del taaño de eoria requerido. Array de procesadores de dos diesioes. Distribució siple de los cálculos detro del array. Requeriietos de eoria iguales para todos los procesadores. Arquitectura sistólica realietada. Distribució iicial de eleetos de etrada. Miiizació de los tiepos de ejecució. Siilar al de Cao. Mecaisos de broadcast por filas. Mayor requeriieto de eoria. Algorito clásico de ultiplicació de atrices A la hora de ultiplicar dos atrices iiciales A y B, de taaños l y l respectivaete (ver (1, ua fora uy secilla de obteer el producto de abas es acorde a la epresió (, deoiado a este étodo coo clásico. C = A l Bl (1 l i = 1... ( ci, j = ai, k bk, j j = 1... l La arquitectura hw asociada es bastate eleetal, presetádose e la Figura ua posible solució. E ésta se observa coo co u úico ultiplicador y u acuulador se cosigue ipleetar la epresió (. Obviaete el epleo de u úero reducido de recursos colleva u icreeto e el tiepo de ejecució, presetádose e ( el tiepo total de ejecució de esta alterativa (T EE. FPGAs: Metodologías, herraietas y aplicacioes Editores: Jua A. Góez Pulido, Jua M. Sáchez Pérez, Miguel A. Vega Rodríguez - Uiversidad de Etreadura ISBN-10: 8-611-11- ISBN-1: 978-8-611-11-9 Pág. 87

Algoritos o sistólicos para la ultiplicació de atrices e FPGA s MeA Aij Bjk Multiplier Accuulator Este úero de operacioes usualete se deoia coo coplejidad de la M.M. y deteria el tiepo de ejecució ecesario para ser resuelto. E este coteto, tabié lo usual es ecotrar que la M.M. sea O(, efatizado el tério doiate e la ecuació aterior. MeB. Algorito de Wiograd Figura. DATA_IN_A DATA_IN_B WRITE_A Figura. WRITE_B Cotrol MEM_IN ADDR_A ADDR_B Diagraa de bloques del sistea de ultiplicació clásico de atrices. DATA_OUT_A DATA_OUT_B BLOCK_D EN_MUL ALFA DATA_OUT MEM_ALFA BETA RESET_ACU FSM DATA_OUT MEM_BETA WR_ALFA DATA_OUT Diagraa de bloques del sistea de M.M. ediate el algorito de Wiograd. TE = l TMULT + l 1 TACC ( ( TEE = ( p T E ( dode, l y p so los ragos de las atrices A y B (ver (1, T E es el tiepo de ejecució de u eleeto de la atriz de salida, T MULT el tiepo de ua ultiplicació y T ACC el tiepo que tarda e ejecutarse la acuulació. Otra fora habitual de evaluar u algorito, es e fució del úero de operacioes aritéticas realizadas (véase (. OPS = ( r ( Particularizado para el caso de atrices cuadradas (que será la situació a evaluar e el resto de algoritos de orde, la epresió ( se trasfora e (6. = (6 OPS WR_BETA ADDR_ALFA ADDR_BETA El étodo clásico de M.M. posee coo pricipal problea el elevado úero de operacioes aritéticas a realizar. Wiograd [6] propuso que el cálculo de los eleetos de la atriz producto fial (c i,, se realizase e base a (7. c = d α β i,j = 1... (7 ij ij i j dij = ( ai,k + bk, ( ai,k + bk, αi = ( ai,k ai,k β j = ( bk, j bk, La pricipal vetaja de este algorito frete al clásico, es que el cálculo α y β sólo se realiza ua vez. Esto reduce a la itad el úero de ultiplicacioes requeridas, e coparació co las utilizadas e el étodo clásico. El gra icoveiete de este algorito, es su fuerte estructura secuecial, siedo uy coplicado coseguir algú tipo de paraleliso ya que es ecesario esperar a teer todos los eleetos de las atrices de etrada, para epezar a procesarlos. Adeás, el cálculo de d sólo se puede realizar si se tiee calculados los α y β correspodietes. A su vez, los eleetos de C o puede ser calculados hasta que o se tega los eleetos d. La úica fase dode se ha optiizado el procesado y por tato alcazado u grado de paraleliso pleo, ha sido e la del cálculo de α y β. El esquea geeral del sistea copleto se ha dividido e varios ódulos fucioales tal y coo se puede apreciar e la Figura. Por otra parte, los tiepos de ejecució de este algorito, se uestra e (8. TEE = TMEM + LMEMαβ + Tαβ + Lαβ _ dc + TdC (8 T L MEM MEMαβ = T = T ; Tαβ = 8 T L αβ _ dc ; T = 8 T dc = T dode T EE es el tiepo total, T MEM es el tiepo de escritura de los datos de etrada e la eoria, L MEMαβ es ua latecia para sicroizar FPGAs: Metodologías, herraietas y aplicacioes Editores: Jua A. Góez Pulido, Jua M. Sáchez Pérez, Miguel A. Vega Rodríguez - Uiversidad de Etreadura ISBN-10: 8-611-11- ISBN-1: 978-8-611-11-9 Pág. 88

Algoritos o sistólicos para la ultiplicació de atrices e FPGA s la escritura de datos e la eoria de etrada y el cálculo de α, β, T αβ es el tiepo cosuido por los bloques α y β, L αβ_dc es la latecia etre la geeració de los coeficietes α y β y la siguiete etapa y fialete T dc es el tiepo de ejecució de los bloques d y C.. Algorito de Strasse Este algorito propuesto por Strasse e 1969 [7], basa todo su fucioaieto e la descoposició de ua atriz de eleetos, e subatrices de eleetos. Así, ediate este algorito se reduce el úero de ultiplicacioes a.81. Para eplicar su fucioaieto, partaos de dos atrices iiciales de eleetos (A, B, siedo C la atriz resultate (ver (9. Los resultados parciales de ultiplicar cada ua de estas epresioes (S p, se puede epresar e fució de los eleetos de A y B (ver (10. C = A B (9 c11 c1 a11 a1 b11 b1 = c1 c a1 a1 b1 b1 S1 = ( a11 + a ( b11 + b (10 S = ( a1 + a b11; S = a11 ( b1 b S = a ( b1 b11; S = ( a11 + a1 b S6 = ( a1 a11 ( b11 + b1 S7 = ( a1 a ( b1 + b Así, cada uo de los eleetos que fora la atriz C se puede epresar coo: c11 = S1 + S S + S7 c1 = S + S (11 c1 = S + S c = S1 S + S + S6 A la hora de aejar atrices ayores de eiste básicaete dos variates: Botto-up: Para ultiplicar dos atrices de orde (= p dode p>1, se divide éstas e bloques de taaño q (q<p. Así, se obtiee ua atriz de taaño, dode = p-q. E la ultiplicació de los bloques de (algorito etero, se utiliza el étodo clásico, ietras que e la ultiplicació de las atrices parciales de q q (algorito itero, se eplea el de Strasse. Top-dow: Esta propuesta utiliza el étodo de Strasse coo algorito etero y el clásico coo itero. E [8] y [9] se propoe ua alterativa e dode el étodo clásico es sustituido por el algorito de Wiograd, alcazado u úero de ultiplicacioes igual a 0.7. La alterativa Botto-up es iviable detro de ua FPGA, ya que el úero de recursos iteros a utilizar es bastate elevado por lo que se epleará la seguda alterativa. E [9] se propoe ua variate de ésta (ver (1, que perite geerar coeficietes de salida si ecesidad de leer copletaete las atrices de etrada. Para ello, los térios etre parétesis de (10 so sustituidos por las variables α y β cuyo valor se uestra e (1. 1 1 1 (1 S ij = β S ij = α ik bk, S ij = ai, k β S ij = a i,k β S ij = bk, j 6 S ij = α ik β 7 S ij = α β ik 1 = ( ai, k + ai,k = ( ai,k + ai,k = ( ai, k + ai, k = ( ai,k ai, k = ( ai, k ai,k 1 β = ( bk, + bk, β = ( bk, j bk, β = ( bk, bk, β = ( bk, + bk, β = ( bk, bk, (1 TEE = ( T + ( T (1 La Figura uestra la propuesta de este algorito, cuyo diseño se ha realizado e VHDL. E ella se puede idetificar cada uo de los bloques que cofora el algorito, así coo ua eoria de etrada FIFO de doble puerto. Ua áquia de estados (FSM, se ecargará de sicroizar todo el sistea. La ipleetació del sistea de la Figura, tarda e ejecutarse la epresió ostrada e (1. FPGAs: Metodologías, herraietas y aplicacioes Editores: Jua A. Góez Pulido, Jua M. Sáchez Pérez, Miguel A. Vega Rodríguez - Uiversidad de Etreadura ISBN-10: 8-611-11- ISBN-1: 978-8-611-11-9 Pág. 89

Algoritos o sistólicos para la ultiplicació de atrices e FPGA s 6. Algorito de particioado de atrices. Derivado de la propuesta de Strasse, otra líea epleada para ultiplicar atrices es la basada e la descoposició de las atrices iiciales e subatrices de eleetos. La pricipal cualidad de este sistea es el epleo de u bloque ultiplicador de atrices de taaño. E [10] se preseta u sistea capaz de realizar dicha alterativa pero aplicada al producto de ua atriz por u vector. acuulació. El epleo de ultipleores perite reducir de 8 a el úero de ultiplicadores. Para la optiizació del tiepo de ejecució de esta alterativa, se ha segetado su fucioaieto e u pipelie de etapas (ultiplicació, acceso a eoria y sua. Así, el tiepo de ejecució total (T EE se uestra e (17, dode T MULT es el tiepo cosuido e la ultiplicació, T ADD el tiepo de sua y T MEM el tiepo de acceso a eoria. b b k+1j MATRI A MATRI B DataA DataB FSM FIFO A1 A B1 B EN WRRD EN EN EN EN EN EN EN EN ALPHA + BETHA alpha[1:] betha[1:] D_reg alpha1 alpha alpha alpha alpha betha1 betha betha betha betha D_reg S1 MODULE C S EN S S[1:7] S 7 S S6 S7 DOUT EN a ik a ik+1 a i+1k a i+1k+1 M U M U MU c ik c ik+1 c i+1k c i+1k+1 Figura. Diagraa de bloques del algorito de Strasse. La propuesta realizada se basa e el siguiete fucioaieto: deoiareos coo C a la atriz de salida cuyos valores a su vez puede ser agrupados e subatrices de eleetos (ver (1. Cada ua de las subatrices que fora C se obtedrá ediate el producto y sua de subatrices de A (A i,k y B (B k, (ver (16. C C... C (1 1,1 1, 1, c1,1 c1,... c1, c,1,,1c,... c C C... C, = =, C...... c,1c,... c1, C C... C,1,, c( i,( c( i, j Ci, j = = Aik B i, j = 1... c i,( j 1 c i, j TEE = ( TMEM + TMULT + TADD + 1 T (16 (17 E base a esto se ha diseñado u sistea que realiza la ultiplicació de subatrices de eleetos, cuya estructura itera se uestra e la Figura. Básicaete, está forada por ultiplicadores hw y uidades de sua y Figura. b k+1j MU b k+1j+1 Diagraa de bloques de u ultiplicador de subatrices de eleetos. Ua vetaja de esta alterativa es la ipleetació de varias uidades peritiedo así la geeració de varios datos de salida siultáeos. Otra alterativa eficaz a partir del circuito de la Figura sería la costrucció de uidades M.M. ayores, por ejeplo. 7. Resultados Las tres alterativas ha sido ipleetadas e VHDL sobre ua FPGA V00fg6- y se ha siulado teporalete. E todos los casos las atrices que se ha probado so atrices cuadradas y se ha realizado últiples pruebas co diferetes taaños, epleado e todos los casos ua frecuecia de reloj de la FPGA de 0 MHz. Se ha siulado los tres algoritos para atrices de etrada de 88,, 66, 1818, 66 y 11, co datos de 16 bits. El resultado teporal se puede observar e la Figura 6 y 7. Se verifica que la alterativa de FPGAs: Metodologías, herraietas y aplicacioes Editores: Jua A. Góez Pulido, Jua M. Sáchez Pérez, Miguel A. Vega Rodríguez - Uiversidad de Etreadura ISBN-10: 8-611-11- ISBN-1: 978-8-611-11-9 Pág. 90

Algoritos o sistólicos para la ultiplicació de atrices e FPGA s divisió o partició de las atrices es la ás rápida y la que ejores resultados preseta desde el puto de vista de recursos cosuidos. A edida que el taaño de las atrices de etrada aueta, este algorito acetúa sus resultados. El tiepo epleado por el algorito de Strasse y el de particioado, es el iso, si ebargo el úero de recursos cosuidos es casi el doble. Tie [s] Figura 6. Slices 10000 1000 100 1000 800 600 00 00 100 0 10 7 Tiepo de ejecució de la FPGA para los algoritos evaluados, co diferetes taaños de atrices. Figura 7. Recursos iteros de la FPGA cosuidos por los algoritos evaluados, para diferetes taaños de atrices. 8. Coclusioes 1 0,1 0,01 0,001 Eecutio ties Wiograd Divisio Strasse 88 66 66 11 Matri size Resources [Slices] Wiograd Divisio Strasse 89 1 9 98 8 81 Este trabajo ha evaluado tres algoritos de M.M., dode se ha itetado ipleetar arquitecturas que fucioe e paralelo. Si ebargo, sólo e el algorito de Strasse y particioado de atrices se ha alcazado altos iveles de cocurrecia. El algorito de divisió de atrices es el que ejores resultados ofrece, tato por el tiepo de ejecució coo por recursos cosuidos. Por otro lado, los tiepos de ejecució e los algoritos evaluados so superiores a los que eplearía arquitecturas sistólicas. Si ebargo, este tipo de 87 61 8 90 70 88 66 66 11 Matri size 980 arquitecturas o puede ipleetarse e las FPGA s actuales cuado el taaño de las atrices de etrada so superiores a 00, debido al úero de ultiplicadores iteros. Así, si se quiere aejar e FPGA s atrices superiores, hay que usar otros algoritos, o ta cocurretes coo los sistólicos. Esta ha sido la razó por la que e este trabajo se ha evaluado diferetes algoritos de ultiplicació o sistólicos. Agradeciietos Este trabajo ha sido posible gracias al proyecto Sistea de localizació y posicioaieto absoluto de robots. Desarrollo de u espacio iteligete del Miisterio de Ciecia y Tecología (ref: DPI00-0067. Referecias [1] Ipleetig Multipliers i FPGA Devices http://www.altera.co/products/devices/cycl oe/features/ultipliers/cy- ultipliers.htl [] Desigig High-Perforace Meories ad Multipliers. cell Joural Q-001. [] Jagadish, H.V., Kailath, T.K., A faily of ew efficiet arrays for Matri, IEEE Tras. o Coput., vol. 8, No. 1, pp 19-1. 1989 [] Choi, S., Prassaa, V.K., Tie ad Eergy Efficiet Matri Factorizatio usig FPGA s. Proc. Field Prograable Logic ad Applicatios (FPL, pp. -, 00. [] Modi J.J., Parallel Algoriths ad Matri Coputatio, Claredo Press Oford. 1998. [6] Wiograd, S. A ew algorith for ier product. IEEE Tras. Coput., C-18, 69-69. 1968. [7] Strasse V. Gaussia eliiatio is ot optial. Nu. Math. Vol. 1, pp.-6, 1969 [8] Elfiova L.D., Kapitoova Y. V. A fast algorith for atri ultiplicatio ad its efficiet realizatio o systolic arrays. Cyberetics ad Systes Aalysis, Vol. 7, pp. 109-11, 001. [9] Jelfiova L., A ew fast parallel versio of Strasse Matri Multiplicactio Algorith ad its efficiet ipleetatio o Systolic-Type Arrays. Proc. of rd It. Coferece o Massively Parallel Coputig Systes 1998. [10] Besaali F., Aira A., Bouridae A. A FPGA Based Coprocessor for Large Matri Product Ipleetatio. IEEE It. Cof. o Field- Prograable Tech. (FPT'0, pp. 9-9, 00. FPGAs: Metodologías, herraietas y aplicacioes Editores: Jua A. Góez Pulido, Jua M. Sáchez Pérez, Miguel A. Vega Rodríguez - Uiversidad de Etreadura ISBN-10: 8-611-11- ISBN-1: 978-8-611-11-9 Pág. 91