pg-4036, computational fluid dynamics of the blood flow in the cloud, by jakub pola and lukasz...

33
VITRTUS CFD OF THE BLOOD FLOW IN THE CLOUD JAKUB POLA SOFTWARE DEVELOPER, VRATIS LTD.

Upload: amd-developer-central

Post on 10-May-2015

575 views

Category:

Technology


1 download

DESCRIPTION

Presentation PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw at the AMD Developer Summit (APU13) November 11-13, 2013.

TRANSCRIPT

Page 1: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

VITRTUS  CFD  OF  THE  BLOOD  FLOW  IN  THE  CLOUD  

JAKUB  POLA  SOFTWARE  DEVELOPER,  VRATIS  LTD.  

 

Page 2: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

2   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

HEART  DIAGNOSIS  

!  Non-­‐invasive:  ‒ X-­‐Ray  Computer  Tomography.  ‒ MagneMc  Resonance  Imaging.  ‒ Electrocardiography.  

!  Invasive:  ‒ Angiography.  ‒  FracMonal  Flow  Reserve.  

Page 3: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

3   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

HEART  DIAGNOSIS  

!  COURAGE,  FAME2:  

!  DeFACTO  (2012):  

FRACTIONAL  FLOW  RESERVE  EXAMPLE  

Stent  implantaMon  

Drug  therapy  

FFR  VALUE  

FFR   FFR  CT  

Page 4: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

4   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

COMPUTATIONAL  FLUID  DYNAMICS  

!  Solve  Navier  –  Stokes  equaMons  !  Procedure:  

‒ Preprocessing:  ‒ DefiniMon  of  the  geometry.  ‒ GeneraMon  of  volumetric  mesh.  ‒ DefiniMon  of  physical  model.  ‒ DefiniMon  of  boundary  condiMons.  

‒  SimulaMon:  iteraMve  solvers.  ‒ Post-­‐processing:  

‒  Analysis  ‒  VisualisaMon  

!  How  to  obtain  geometry  and  create  a  mesh?  

!   How  to  solve  the  problem  fast  and  efficiently?  

FRAMEWORK  

Page 5: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

5   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

CFD  IN  MEDICINE  

!  Stent  grac  design:  ‒ DeterminaMon  of  proper  shape  of  the  stent  grac  

 

 

!  Design  of  heart  valves:  ‒ DeterminaMon  of  shape  and  biological  and  mechanical  properMes  

!  Drug  delivery:  ‒ DeterminaMon  of  the  delivery  device  ‒ DeterminaMon  of  the  drug  state  

Page 6: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

6   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VIRTUS:  OVERVIEW  

PACS  

AcHve  Mesh  

Mesh  storage  format   User  Interface  

Database  

CalculaHons  SoQware  as  a  Service  

Page 7: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

7   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VIRTUS:  WORKFLOW  

CT  /  MRI  Scanning   SegmentaMon  

CFD  SimulaMon   Post-­‐processing  /  VisualisaMon  

Meshing  

Page 8: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

8   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VIRTUS:  ARCHITECTURE  

GeneraMon  of  Volumetric  Mesh  

(NETGEN)  

STL  

SimulaMon    

Surface  representaMon  of  volumetric  mesh  

SimulaMon  

VisualizaMon    surface  &  U,  p,  WSS  

CT/MRI  

Set  boundary  condiMons  

4  txt  config  files  

V  Mesh  

SegmentaMon  

Page 9: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

9   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VIRTUS:  GRAPHIC  USER  INTERFACE  

Page 10: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

10   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VIRTUS:  ARCHITECTURE  

GeneraMon  of  Volumetric  Mesh  

(NETGEN)  

STL  

SimulaMon    

Surface  representaMon  of  volumetric  mesh  

SimulaMon  

VisualizaMon    surface  &  U,  p,  WSS  

CT/MRI  

Set  boundary  condiMons  

4  txt  config  files  

V  Mesh  

SegmentaMon  

Page 11: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

11   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VIRTUS:  SEGMENTATION  

! Create  3D  model  from  series  of  images.  

! Very  Mme  consuming  task.  

! Require  mesh  modeling  to:  ‒ fix  the  errors  in  the  mesh  ‒ prepare  mesh  to  generate  volumetric  mesh  

Page 12: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

12   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VIRTUS:  SEGMENTATION  

!  Input:  ‒ CT  or  MRI  scans  in  DICOM  format.  

!  Outputs:  ‒  Surface  mesh  in  STL  format.  ‒ Volumetric  mesh  in  OpenFOAM  format.  

!  Real-­‐Mme  procedure.  

!  Fasat  algorithm.  

!  Many  mesh  ediMng  tools:  ‒ Global/local  mesh  smoothing.  ‒ Cut  Mesh.  ‒  Freeze  Mesh.  ‒ Push  Mesh.  ‒ Define  Flow  Inlets  and  Outlets  ‒ Automated  determinaMon  of  artery  centerline(s)  

ACTIVE  MESH  

Page 13: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

13   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VIRTUS:  MESHING  MODULE  

Page 14: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

14   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VIRTUS:  ARCHITECTURE  

GeneraMon  of  Volumetric  Mesh  

(NETGEN)  

STL  

SimulaMon    

Surface  representaMon  of  volumetric  mesh  

SimulaMon  

VisualizaMon    surface  &  U,  p,  WSS  

CT/MRI  

Set  boundary  condiMons  

4  txt  config  files  

V  Mesh  

SegmentaMon  

Page 15: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

15   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VIRTUS:  SIMULATION  MODULE  

!  Just  two  steps:  ‒ Type  of  simulaMon:  

‒  Transient  flows.  ‒  Steady-­‐state  flows.  

‒  Inlet  boundary  condiMon:  ‒  Inlet  velocity.  ‒  Inlet  pressure.  ‒  Point  and  click  procedure  

!  ConfiguraMon  ‒  Just  four  txt  files  

USER  SIDE  

Page 16: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

16   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VIRTUS:  SIMULATION  MODULE  USER  SIDE  

Page 17: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

17   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VIRTUS:  SIMULATION  MODULE  

!  Three  ways  to  execute  simulaMon:  ‒ Using  CPU  in  parallel  mode.  ‒ Using  CPU  +  GPU  in  parallel  mode.  ‒ Using  GPU  only.    

SERVER  SIDE  

Page 18: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

18   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VIRTUS:  SIMULATION  MODULE  SERVER  SIDE:  CPU  

Read  mesh  

CPU  

Converged?  

No  

Finalize  

Yes  

Assembly  matrices  Ax=b  

~33%  

Solve  Ax=b  

~66%  

Page 19: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

19   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VIRTUS:  SIMULATION  MODULE  SERVER  SIDE:  CPU  +  GPU  

Read  mesh  

CPU  

Converged?  

No  

Finalize  

Yes  

Assembly  matrices  Ax=b  

Solve  Ax=b  

PCI   GPU  

Ax=b  

x  

Page 20: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

20   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VIRTUS:  SPEEDIT  TOOLKIT  

!  Solvers:  ‒ Conjugate  Gradient.  ‒ Bi-­‐Conjugate  Gradient.  

!  PrecondiMoners:  ‒ Diagonal.  ‒ Approximate  Inverse.  ‒ Algebraic  MulMgrid  with  Smoothed  AggregaMon  (CUSP).  

!  Support  for  MulM-­‐GPU.  

!  Plaqorms:  ‒ OpenCL.  ‒ CUDA.  

Page 21: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

21   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VIRTUS:  SIMULATION  MODULE  SERVER  SIDE:  CPU  +  GPU  

Read  mesh  

CPU  

Converged?  

No  

Finalize  

Yes  

Assembly  matrices  Ax=b  

Solve  Ax=b  

PCI   GPU  

Ax=b  

x  

Page 22: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

22   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VIRTUS:  SIMULATION  MODULE  SERVER  SIDE:  GPU  

Read  mesh  

CPU  

Converged?  

No  

Finalize   Yes  

Assembly  matrices  Ax=b  

Solve  Ax=b  

PCI   GPU  

x  

Mesh  

Page 23: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

23   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VIRTUS:  SPEEDIT  FLOW  

!  Full  GPU  implementaMon  of:  ‒ PISO  (Pressure  Implicit  with  Split  Operator)  –  transient  solver  for  incompressible  flows.  ‒  SIMPLE  (Semi-­‐implicit  Method  for  Pressure  Linked  EquaMons):  Steady-­‐state  solver  for  incompressible  flows.  

!  Boundary  CondiMons:  ‒  Zero  Gradient  ‒ Time  dependent  and  Fixed  value.  

!  Adjustable  Mme  step.  

!  Roadmap:  ‒  Support  for  OpenCL  ‒ Turbulence  (RANS,  kOmegaSST  model)  ‒  Support  for  MulM-­‐GPU  

Page 24: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

24   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

SPEEDIT  FLOW  

!  U-­‐shaped  pipe  ‒ Radius  –  1in  ‒ 4M  hex  cells  ‒ Transient  flow  simulaMon:  

‒ U(t)  =  Asin(ωt)  +  B  ‒  Steady-­‐state  simulaMon  

‒  Re  =  100  ‒  Re  =  1000  

!  Basilar  artery*:  ‒ 2M  hex  cells  ‒ Transient  flow.  ‒ Two  heart  cycles.  

*  Geometry  obtained  from  AneuriskWeb  project.  Emory  University,  Department  of  Math&CS,  2012  

TEST  CASES  

Page 25: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

25   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

SPEEDIT  FLOW:  U-­‐SHAPED  PIPE  SIMULATION  EXECUTION  TIME  

Page 26: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

26   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

SPEEDIT  FLOW:  U-­‐SHAPED  PIPE  ACCELERATION  RATIO  

Page 27: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

27   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

SPEEDIT  FLOW:  BASILAR  ARTERY  SIMULATION  EXECUTION  TIME  

Page 28: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

28   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

SPEEDIT  FLOW:  BASILAR  ARTERY  ACCELERATION  RATIO  

Page 29: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

29   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VIRTUS:  ARCHITECTURE  

GeneraMon  of  Volumetric  Mesh  

(NETGEN)  

STL  

SimulaMon    

Surface  representaMon  of  volumetric  mesh  

SimulaMon  

VisualizaMon    surface  &  U,  p,  WSS  

CT/MRI  

Set  boundary  condiMons  

4  txt  config  files  

V  Mesh  

SegmentaMon  

Page 30: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

30   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

VRATIS:  VISUALIZATION  MODULE  

Page 31: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

31   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

SUMMARY    

! VIRTUS  is  a  pla]orm  for  personalized  medicine  and  CFD  based  diagnosis.  

! Cloud-­‐based  approach  simplifies  the  usage.  

! GPU  reduces  Mme-­‐to-­‐soluMon.  

Page 32: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

32   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

! QuesMons?  ! Comments?  

Jakub  Pola  [email protected]  

virtus.vraMs.com  Acknowledemnents:    VraHs:  Wojciech  Tarnawski,  Lukasz  Miroslaw,  Pawel  Czubinski  

Wroclaw  Uni.:  Zbigniew  Koza,  Piotr  Olkiewicz  

Wroclaw  Uni.  of  Technology:  Tadeusz  Tomczak,  Andrzej  Kosior  

     

Page 33: PG-4036, Computational Fluid Dynamics of the blood flow in the cloud, by Jakub Pola and Lukasz Miroslaw

33   |      PRESENTATION  TITLE      |      NOVEMBER  19,  2013      |      CONFIDENTIAL  

DISCLAIMER  &  ATTRIBUTION  

The  informaMon  presented  in  this  document  is  for  informaMonal  purposes  only  and  may  contain  technical  inaccuracies,  omissions  and  typographical  errors.    

The  informaMon  contained  herein  is  subject  to  change  and  may  be  rendered  inaccurate  for  many  reasons,  including  but  not  limited  to  product  and  roadmap  changes,  component  and  motherboard  version  changes,  new  model  and/or  product  releases,  product  differences  between  differing  manufacturers,  socware  changes,  BIOS  flashes,  firmware  upgrades,  or  the  like.  AMD  assumes  no  obligaMon  to  update  or  otherwise  correct  or  revise  this  informaMon.  However,  AMD  reserves  the  right  to  revise  this  informaMon  and  to  make  changes  from  Mme  to  Mme  to  the  content  hereof  without  obligaMon  of  AMD  to  noMfy  any  person  of  such  revisions  or  changes.    

AMD  MAKES  NO  REPRESENTATIONS  OR  WARRANTIES  WITH  RESPECT  TO  THE  CONTENTS  HEREOF  AND  ASSUMES  NO  RESPONSIBILITY  FOR  ANY  INACCURACIES,  ERRORS  OR  OMISSIONS  THAT  MAY  APPEAR  IN  THIS  INFORMATION.    

AMD  SPECIFICALLY  DISCLAIMS  ANY  IMPLIED  WARRANTIES  OF  MERCHANTABILITY  OR  FITNESS  FOR  ANY  PARTICULAR  PURPOSE.  IN  NO  EVENT  WILL  AMD  BE  LIABLE  TO  ANY  PERSON  FOR  ANY  DIRECT,  INDIRECT,  SPECIAL  OR  OTHER  CONSEQUENTIAL  DAMAGES  ARISING  FROM  THE  USE  OF  ANY  INFORMATION  CONTAINED  HEREIN,  EVEN  IF  AMD  IS  EXPRESSLY  ADVISED  OF  THE  POSSIBILITY  OF  SUCH  DAMAGES.  

 

ATTRIBUTION  

©  2013  Advanced  Micro  Devices,  Inc.  All  rights  reserved.  AMD,  the  AMD  Arrow  logo  and  combinaMons  thereof  are  trademarks  of  Advanced  Micro  Devices,  Inc.  in  the  United  States  and/or  other  jurisdicMons.    SPEC    is  a  registered  trademark  of  the  Standard  Performance  EvaluaMon  CorporaMon  (SPEC).  Other  names  are  for  informaMonal  purposes  only  and  may  be  trademarks  of  their  respecMve  owners.