hardware acceleration of computional fluid dynamics simulations in an oxygenator - part 2
TRANSCRIPT
Politecnico di MilanoDipartimento di Elettronica, Informazione e Bioingegneria (DEIB)
Hardware Acceleration of
Computational Fluid Dynamics
Simulations in an Oxygenator
Work progress
Chiara [email protected]
B3Lab, May 30th 2016
Guido [email protected]
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
www.facebook.com/hams.project
https://twitter.com/HAMS_project
http://www.slideshare.net/HAMSproject