Kathy Yelick, 1 Advanced Software for Biological Simulations Elastic structures in an incompressible...
-
date post
22-Dec-2015 -
Category
Documents
-
view
213 -
download
0
Transcript of Kathy Yelick, 1 Advanced Software for Biological Simulations Elastic structures in an incompressible...
![Page 1: Kathy Yelick, 1 Advanced Software for Biological Simulations Elastic structures in an incompressible fluid. Blood flow, clotting, inner ear, embryo growth,](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d805503460f94a650c3/html5/thumbnails/1.jpg)
Kathy Yelick, 1
Advanced Software for Biological Simulations
• Elastic structures in an incompressible fluid.• Blood flow, clotting, inner ear, embryo growth, …
• Complicated parallelization• Particle/Mesh method, but “Particles” connected
into materials (1D or 2D structures)• Communication patterns irregular between particles
(structures) and mesh (fluid)
Joint work with Ed Givelberg, Armando Solar-Lezama, Charlie Peskin, Dave McQueen
2D Dirac Delta Function
Code Size in Lines
Fortran Titanium
8000 4000
Note: Fortran code is not parallel
![Page 2: Kathy Yelick, 1 Advanced Software for Biological Simulations Elastic structures in an incompressible fluid. Blood flow, clotting, inner ear, embryo growth,](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d805503460f94a650c3/html5/thumbnails/2.jpg)
2 Kathy Yelick
Software Architecture
Application Models
Generic Immersed Boundary Method (Titanium)
Heart(Titanium)
Cochlea(Titanium+C)
FlagellateSwimming
…
Spectral(Titanium + FFTW)
AMR
Extensible Simulation
SolversMultigrid(Titanium)
• Can add new models by extending material points• Can add new Navier-Stokes solvers
IB software and Cochlea by E. Givelberg; Heart by A. Solar based on Peskin/McQueen
existing components
Source: www.psc.org
![Page 3: Kathy Yelick, 1 Advanced Software for Biological Simulations Elastic structures in an incompressible fluid. Blood flow, clotting, inner ear, embryo growth,](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d805503460f94a650c3/html5/thumbnails/3.jpg)
Kathy Yelick, 3
Titanium: Java for Scientific Computing
• Java plus high performance parallelism• No JVM; compiled to assembly (via C for portability)
• Features added to Java:• PGAS model with SPMD execution and one-side
communication • Multi-dimensional rectangular arrays• Locality qualification: the local keyword• Lightweight (value) classes for Complex, etc.• C++ like templates and operator overloading• Zone-based memory management
• Titanium runs on shared & distributed memory
![Page 4: Kathy Yelick, 1 Advanced Software for Biological Simulations Elastic structures in an incompressible fluid. Blood flow, clotting, inner ear, embryo growth,](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d805503460f94a650c3/html5/thumbnails/4.jpg)
Kathy Yelick, 4
Coding Challenges: Block-Structured AMR
• Adaptive Mesh Refinement (AMR) is challenging• Irregular data accesses and
control from boundaries• Mixed global/local view is useful
AMR Titanium work by Tong Wen and Philip Colella
Titanium AMR benchmark available
![Page 5: Kathy Yelick, 1 Advanced Software for Biological Simulations Elastic structures in an incompressible fluid. Blood flow, clotting, inner ear, embryo growth,](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d805503460f94a650c3/html5/thumbnails/5.jpg)
Kathy Yelick, 5
Languages Support Helps Productivity
C++/Fortran/MPI AMR• Chombo package from LBNL• Bulk-synchronous comm:
• Pack boundary data between procs• All optimizations done by programmer
Titanium AMR• Entirely in Titanium• Finer-grained communication
• No explicit pack/unpack code• Automated in runtime system
• General approach• Language allow programmer
optimizations• Compiler/runtime does some
automatically
Work by Tong Wen and Philip Colella; Communication optimizations joint with Jimmy Su
0
5000
10000
15000
20000
25000
30000
Titanium C++/F/MPI(Chombo)
Lin
es
of
Co
de
AMRElliptic
AMRTools
Util
Grid
AMR
Array
![Page 6: Kathy Yelick, 1 Advanced Software for Biological Simulations Elastic structures in an incompressible fluid. Blood flow, clotting, inner ear, embryo growth,](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d805503460f94a650c3/html5/thumbnails/6.jpg)
Kathy Yelick, 6
Performance of Titanium AMRSpeedup
0
10
20
30
40
50
60
70
80
16 28 36 56 112
#procs
spee
du
p
Ti Chombo
• Serial: Titanium is within a few % of C++/F; sometimes faster!• Parallel: Titanium scaling is comparable with generic
optimizations
- optimizations (SMP-aware) that are not in MPI code
- additional optimizations (namely overlap) not yet implemented
Comparable parallel performance
Joint work with Tong Wen, Jimmy Su, Phil Colella
![Page 7: Kathy Yelick, 1 Advanced Software for Biological Simulations Elastic structures in an incompressible fluid. Blood flow, clotting, inner ear, embryo growth,](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d805503460f94a650c3/html5/thumbnails/7.jpg)
Kathy Yelick, 7
Particle/Mesh Method: Heart Simulation• Elastic structures in an incompressible fluid.
• Blood flow, clotting, inner ear, embryo growth, …
• Complicated parallelization• Particle/Mesh method, but “Particles” connected
into materials (1D or 2D structures)• Communication patterns irregular between particles
(structures) and mesh (fluid)
Joint work with Ed Givelberg, Armando Solar-Lezama, Charlie Peskin, Dave McQueen
2D Dirac Delta Function
Code Size in Lines
Fortran Titanium
8000 4000
Note: Fortran code is not parallel
![Page 8: Kathy Yelick, 1 Advanced Software for Biological Simulations Elastic structures in an incompressible fluid. Blood flow, clotting, inner ear, embryo growth,](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d805503460f94a650c3/html5/thumbnails/8.jpg)
Kathy Yelick, 8