Title: Parallel Libraries
1Parallel Libraries
2Talks Schedule
- Talks Next Week sign up for 15min speaking
slot. - Email me talk before speaking, Ill put it on my
U-drive and you can use instructors station. - Turn in report by email, no later than Friday
April 25.
3Talk Planning
- We will need to stay on schedule so plan for 12
minute talk 3 minutes for questions. - Include in slides
- Description of the problem
- Description of algorithm used
- Parallelization approach
- Results
- Any interesting issues or results
- Save details for your project report.
- Practice your talk!
4Parallel Libraries Motivation
- Writing a large parallel scientific simulation
code from scratch is a big undertaking. - Mathematical Model
- Grid generation
- Discretization
- Algebraic Solvers
- linear, nonlinear, eigenvalue
- Visualization
-
5From PDE simulation slides
Physical Problem
PDE Model
Grid Generation
Discrete Model
Discrete Solver
Validate Results
Visualize Results
6Parallel Libraries Motivation
- Many of the components in a simulation code may
be general purpose - Solving a matrix equation Axb may be a part of a
groundwater flow simulation and also a part of a
astrophysics simulation. They may be able to use
the same code. - Grid generation code for an automotive simulation
may also be appropriate for a wind simulation
through city.
7Parallel Libraries Motivation
- There are sophisticated, efficient, reliable,
parallel software packages available to handle
some of these commonly arrising tasks - Resources to find libraries
- Google
- Research papers and journals
- Conferences
8Parallel Libraries Motivation
- Advantages in using libraries
- Many man-years invested in some of these
- Many are freely available
- Often quicker than writing your own, especially
true after the first time - Typically written by experts, and can be more
efficient than your own code - Allow you to focus on those areas that youre
interested in
9Parallel Libraries Motivation
- Possible problems in using libraries
- Most require overcoming an initial
learning-curve to use - Installing package
- Passing information to library (interface)
- Much less of an issue after first use
- A general purpose code may not be as efficient as
a code you write specifically for your problem - Little control over internals of library
- Some packages are incomplete, some are no longer
being supported - Libraries can have bugs, but so can your code!
10Domain Partitioning for Graphs Metis, Chaco and
JOSTLE
- Partition goals
- Load balancing
- Minimize communication
11Domain Partitioning for Graphs Metis, Chaco,
JOSTLE
Processor 0
Processor 1
Processor 2
- Matrix vector product (Ax) partition goals
- Load balancing near equal number of points per
processor - Minimize communication few edges cut by
partition, actually, few vertexes on cut
boundaries
12Simple example problem steady-state temperature
profile in a rod
U0
U2
U1
U5
U6
U4
U3
- Discretizing the problem also involves converting
the PDE
13Simple example problem steady-state temperature
profile in a rod
U0
U2
U1
U5
U6
U4
U3
- To a set of discrete equations
14Libraries for solving sparse matrices
15Libraries for dense matrices
- SuperLU
- SPOOLES
- ScaLAPACK
16More Libraries
- PETSC includes lots beyond sparse linear solvers
- SUNDIALS for nonlinear, ODE, and DAE, sensitivity
analysis - Optimization TAO
- Eigenvalues ARPACK
- PDE simulation OVERTURE
17A word about using libraries
- Most library developers want people to use their
codes, but - Many packages are not really like commercial
packages in that they are research efforts - User feedback to developers is important
- Developers may have funding sources that guide
the direction of development