pg-4036, computational fluid dynamics of the blood flow in the cloud, by jakub pola and lukasz...
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
VITRTUS CFD OF THE BLOOD FLOW IN THE CLOUD
JAKUB POLA SOFTWARE DEVELOPER, VRATIS LTD.
2 | PRESENTATION TITLE | NOVEMBER 19, 2013 | CONFIDENTIAL
HEART DIAGNOSIS
! Non-‐invasive: ‒ X-‐Ray Computer Tomography. ‒ MagneMc Resonance Imaging. ‒ Electrocardiography.
! Invasive: ‒ Angiography. ‒ FracMonal Flow Reserve.
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
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
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
6 | PRESENTATION TITLE | NOVEMBER 19, 2013 | CONFIDENTIAL
VIRTUS: OVERVIEW
PACS
AcHve Mesh
Mesh storage format User Interface
Database
CalculaHons SoQware as a Service
7 | PRESENTATION TITLE | NOVEMBER 19, 2013 | CONFIDENTIAL
VIRTUS: WORKFLOW
CT / MRI Scanning SegmentaMon
CFD SimulaMon Post-‐processing / VisualisaMon
Meshing
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
9 | PRESENTATION TITLE | NOVEMBER 19, 2013 | CONFIDENTIAL
VIRTUS: GRAPHIC USER INTERFACE
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
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
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
13 | PRESENTATION TITLE | NOVEMBER 19, 2013 | CONFIDENTIAL
VIRTUS: MESHING MODULE
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
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
16 | PRESENTATION TITLE | NOVEMBER 19, 2013 | CONFIDENTIAL
VIRTUS: SIMULATION MODULE USER SIDE
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
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%
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
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.
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
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
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
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
25 | PRESENTATION TITLE | NOVEMBER 19, 2013 | CONFIDENTIAL
SPEEDIT FLOW: U-‐SHAPED PIPE SIMULATION EXECUTION TIME
26 | PRESENTATION TITLE | NOVEMBER 19, 2013 | CONFIDENTIAL
SPEEDIT FLOW: U-‐SHAPED PIPE ACCELERATION RATIO
27 | PRESENTATION TITLE | NOVEMBER 19, 2013 | CONFIDENTIAL
SPEEDIT FLOW: BASILAR ARTERY SIMULATION EXECUTION TIME
28 | PRESENTATION TITLE | NOVEMBER 19, 2013 | CONFIDENTIAL
SPEEDIT FLOW: BASILAR ARTERY ACCELERATION RATIO
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
30 | PRESENTATION TITLE | NOVEMBER 19, 2013 | CONFIDENTIAL
VRATIS: VISUALIZATION MODULE
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.
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
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.