Hardware Acceleration of Computional Fluid Dynamics Simulations in an Oxygenator - Part 2

Post on 15-Apr-2017

178 views 0 download

Transcript of Hardware Acceleration of Computional Fluid Dynamics Simulations in an Oxygenator - Part 2

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

Hardware Acceleration of

Computational Fluid Dynamics

Simulations in an Oxygenator

Work progress

Chiara Gattichiara1.gatti@mail.polimi.it

B3Lab, May 30th 2016

Guido Lanfranchiguido2.lanfranchi@mail.polimi.it

HAMSproject

1

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

1

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

1

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

1

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

1

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

2

Progress

Context

(the oxygenator)

Implementation

(SW-HW)Validation

3

Context

(the oxygenator)

Implementation

(SW-HW)Validation

Until 04.05

Progress

4

Context

(the oxygenator)

Implementation

(SW-HW)Validation

Until 04.05 TODAY

Progress

Implementation

Model = linear system

Solution achieved through matrix inversion

(Moore-Penrose Pseudoinverse)

5

Implementation

Model = linear system

Solution achieved through matrix inversion

(Moore-Penrose Pseudoinverse)

SVD methodGreville’s algo Others

5

Implementation

Model = linear system

Solution achieved through matrix inversion

(Moore-Penrose Pseudoinverse)

SVD methodGreville’s algo Others

QR method Jacobi Others

5

6

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

7

Implementation

Sparse matrix

The matrix is generated through the device meshing

(with known meshing pattern)

7

Implementation

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

8

Methods

MATLAB

functionsHigh level

Low level

Vivado HLS Vivado SDK

FPGAs

Our framework

9

Results

10

Context

(the oxygenator)

Implementation

(SW-HW)Validation

Until 04.05 From 1.06

Progress

11

Validation

MAIN COMPARISONS

FPGAs

Validation

MAIN COMPARISONS

FPGAs

vs vs

11

Validation

KEY PARAMETERS

imgflip.com

SPEEDUP

vs competitors

12

Validation

KEY PARAMETERS

imgflip.com

SPEEDUP

vs competitors

POWER

REQUIREMENTS

12

Validation

KEY PARAMETERS

imgflip.com

SPEEDUP

vs competitors

POWER

REQUIREMENTS

EASE OF USE

12

QUESTIONS?

Contact us!

HAMSproject

hams.necst@gmail.com

chiara1.gatti@mail.polimi.it

guido2.lanfranchi@mail.polimi.it

www.facebook.com/hams.project

https://twitter.com/HAMS_project

http://www.slideshare.net/HAMSproject