MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy...
-
Upload
britney-little -
Category
Documents
-
view
214 -
download
0
Transcript of MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy...
![Page 1: MMAlpha MMAlpha: A tool box for silicon compilation Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset IRISA - Projet COSI .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/1.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/2.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/3.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/4.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/5.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/6.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/7.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/8.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/9.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/10.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/11.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/12.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/13.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/14.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/15.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/16.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/17.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/18.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/19.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/20.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/21.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/22.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/23.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/24.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/25.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/26.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/27.jpg)
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 .](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ec55503460f94bcf7f6/html5/thumbnails/28.jpg)
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?