mmalpha mmalpha: a tool box for silicon compilation patrice quinton, sanjay rajopadhye, tanguy...

28
MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI http://www.irisa.fr/cosi/ALPHA

Upload: britney-little

Post on 01-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

MMAlpha

MMAlpha: A tool box for silicon compilation

Patrice Quinton,Sanjay Rajopadhye,Tanguy RissetIRISA - Projet COSIhttp://www.irisa.fr/cosi/ALPHA

Page 2: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 2

presentation overview

Brief overview of MMAlpha

Running an example

Demonstrating the software

Page 3: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 3

What is MMAlpha?

A public domain silicon compiler for loop nests

FPGA

ASICVHDL

for i = 1 to n do

for k = 1 to m do

y[i,k] = y[i,k-1] + w[i,k]*x[i-k]

Page 4: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 4

Vhdl1

Alpha

UniformizationScheduling/Mapping

HDL derivation

MMAlpha

What is MMAlpha?

User controlled design process

Vhdl2Vhdl3

Design script easily reused

UniformizationScheduling/Mapping 2

HDL derivation

MMAlpha

Page 5: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 5

Target applications

Data intensive applications

Fir Adaptive LMS Kalman filtering

Signal processing Motion estimators

2D-filters

Multimedia

DNA sequencing

Bio-Informatics

Page 6: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 6

MMAlpha highlights

Compilation of loop nests to parallel circuits

for i = 1 to n do

for k = 1 to m do

y[i,k] = y[i,k-1] + w[i,k]*x[i-k]

by means of the polyhedral model

Page 7: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 7

UniformizationScheduling/Mapping

HDL derivation

MMAlpha

Alpha

MMAlpha highlights

Hierarchical design methodology

Alpha

Page 8: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 8

MMAlpha highlights

Multi-target output for co-design

VHDL

for i = 1 to n do

for k = 1 to m do

y[i,k] = y[i,k-1] + w[i,k]*x[i-k] C

Page 9: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 9

MMAlpha implementation

Open source software (GNU license)Mathematica + CEasily extensibleCurrent development:

Interface host/co-processor Prototyping real life applications (adaptive

filters, DNA sequence comparison) partitionning

Page 10: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 10

MMAlpha running exemple

SAMBA:

Hardware accelerator for DNA sequence comparison

Page 11: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 11

The algorithm

Page 12: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 12

The algorithm

Alignment matrix

Page 13: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 13

Samba: history

VLSI array built in 1995

128 systolic processor on 32 chips

Page 14: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 14

Equations

Recurrence

for one point of the matrix

M[i,j]

M[i-1,j]-8

M[i,j-1]-8

M[i-1,j-1]+MatchQ

Page 15: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 15

Alpha code (part 1)

system sequence: {X,Y| Y>X>2} (QS : {i| 1<= i <= X} of integer; DB : {j| 1<= j <= Y} of integer)returns (res : {j| 1<= j <= Y} of integer); varM: {i,j| 0<= i <= X; 0<= j <= Y} of integer;MatchQ: {i,j| 1<= i <= X; 1<= j <= Y} of integer;let ...

Page 16: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 16

Alpha code (part 2)

...letM[i,j]=case

{|i=0} | {|j=0}: 0[];{|i>0; j>0}: Max4(0[],

M[i,j-1]-8[], M[i-1,j]-8[],

M[i-1,j-1]+MatchQ[i,j]);MatchQ[i,j]=if (QS[i]=DB[j]) then 15[] else -12[];res[j]=M[X,j];tel;

Page 17: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 17

Iteration space

MatchQ[i,j]=if (QS[i]=DB[j]) then 15[] else -12[];

M[i,j]=case{|i=0} | {|j=0}: 0[];{|i>0; j>0}: Max4(0[], M[i,j-1]-8[],

M[i-1,j]-8[], M[i-1,j-1]+MatchQ[i,j]);esac;

Page 18: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 18

Uniformization (part 1)

Page 19: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 19

Uniformization (Part 2)

Page 20: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 20

Scheduling

Page 21: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 21

Mapping

Page 22: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 22

RTL derivation (control generation)

Page 23: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 23

RTL derivation (structuring)

Page 24: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 24

pipeline of the control

Page 25: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 25

Design flow summary

Matlab

Alpha

FPGA

ASIC

VHDL

Uniformization

RTL derivation

Scheduling

Page 26: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 26

What I did not talk about:in test

Z-polyhedral domain: {2i,3j+9i| 0<= i <= X; 0<= j <= Y}

Hardware-software interface Experiments on the Virtex XCV800

Starting from imperative code Use MatParser (Compaan project) to

translate Matlab into Alpha

Page 27: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 27

What I did not talk about:in development

Partitioning and memory …. Still not implemented

Bit width selection methodology in development for nested loop

programs.

Stronger semantic checks connection to PVS (theorem proover)

Hierarchical design

Page 28: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI

09/11/2000 Oxford: MMAlpha 28

Perspective for MMAlpha

Prototyping the tool for “real life” application

Provide support for use in Academic places

Industrial use? industrial development?