methods and implementation @ hams

11

Click here to load reader

Upload: hamsproject

Post on 10-Apr-2017

45 views

Category:

Devices & Hardware


0 download

TRANSCRIPT

Page 1: Methods and implementation @ HAMS

Politecnico di MilanoDipartimento di Elettronica, Informazione e Bioingegneria (DEIB)

HAMSproject

Chiara [email protected]

Guido [email protected]

May 26th, 2016

NECST Lab, Politecnico di Milano

Page 2: Methods and implementation @ HAMS

2

Our goal

Study an oxygenator for ECC through a lumped

parameters model in MATLAB and accelerate the

simulation by means of an FPGA-based system

Lumped

parameters

model

Page 3: Methods and implementation @ HAMS

3

Methods

MATLAB

functionsHigh level

Low level

Vivado HLS Vivado SDK

FPGAs

Our framework

Page 4: Methods and implementation @ HAMS

4

Implementation

(SW-HW)

Page 5: Methods and implementation @ HAMS

5

Implementation

Jacobi method: accuracy and parallelism

for (n_times)

split matrix into columns

compute c,s for each couple

update columns

end

// until convergence

// multiply&accumulate

// streaming computation

Ãi Ãj

Coefficient

computation

Column

updateAi Aj

c,s

Page 6: Methods and implementation @ HAMS

6

Coefficient

computation

multiplyx x x x x x x x

+ + + +

+ +

+

Ai

Aj

set_directive_dataflow coefficientComputation

set_directive_pipeline coefficientComputation

set_directive_pipeline outerLoops

set_directive_unroll innerLoops

set_directive_interface –mode axis

accumulate

c,s

Page 7: Methods and implementation @ HAMS

7

Coefficient

computation

multiplyx x x x x x x x

+ + + +

+ +

+

Ai

Aj

set_directive_dataflow coefficientComputation

set_directive_pipeline coefficientComputation

set_directive_pipeline outerLoops

set_directive_unroll innerLoops

set_directive_interface –mode axis

accumulate

performances

vs area

c,s

Page 8: Methods and implementation @ HAMS

8

set_directive_dataflow columnUpdate

set_directive_dataflow outerLoop

set_directive_pipeline innerLoop

set_directive_interface -mode axis

Column

update

Ai

Aj

Ãi

Ãj

- - t e m p - -

x x x x x x x xc,s

Page 9: Methods and implementation @ HAMS

9

Sparse matrix

The matrix is generated through the device meshing

(with known meshing pattern)

Page 10: Methods and implementation @ HAMS

10

Sparse matrix

The matrix is generated through the device meshing

(with known meshing pattern)

The modeled matrix is sparse

(with known pattern)

We identify non-null elements

through MATLAB script

Page 11: Methods and implementation @ HAMS

11

QUESTIONS?

Contact us!

HAMSproject

[email protected]

[email protected]

[email protected]

www.facebook.com/hams.project

https://twitter.com/HAMS_project

http://www.slideshare.net/HAMSproject

https://www.youtube.com/channel/UCaovqRpUc7D_Uf2WJHL0rvA