class mth 655/659 information - oregon state...

39

Upload: others

Post on 17-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)
Page 2: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Class MTH 655/659 information

• Attendance in labs required: – Fridays (8:30-)9:00-10:00- in MLC Kidder 108 computer lab– (start 8:30-can leave at 10:00)– must complete each lab project

• Individual project: paper and (optional) presentation in March

• Fill out questionnaire– must have OSU ID and ONID username

• NO CLASS this Wednesday • Reading/review:

• see http://www.math.oregonstate.edu/~mpesz/teaching/654_F09/

Page 3: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Class MTH 655/659 information

• Algorithms and theory• nonlinear problems: Newton-based for F(U)=0• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)• parallel implementation theory• domain decomposition• multigrid• Additional topics as time permits:

– primer on optimization (nonlinear, continuous, unconstrained)– Non-numerical algorithms and their parallel implementation

• Implementation• MATLAB prototypes for testing properties of algorithms and

applications• Fortran (C for geeks) for REAL scientific computing

– overview of Unix will be given• Fortran+MPI for parallel implementation on a cluster• Module on programming GPUs

Page 4: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Solution of nonlinear equations F(U)=0

• Ex.: find x:

• solution:

• set-up

• solve

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

2xe x

7.0x1)( 2 xexf x

0)( xf

Page 5: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

0)( :),( Find xfbax

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−1

−0.5

0

0.5

1

1.5

2

Page 6: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Use Newton’s method

• given an initial guess , iterate …

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−1

−0.5

0

0.5

1

1.5

2

)0(x

)0(x ,...,, )3()2()1( xxx

Page 7: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Newton: step1 also known as method of tangents

• the next guess (iterate) is found by

)(')(

)(

)()()1(

k

kkk

xfxfxx

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−1

−0.5

0

0.5

1

1.5

2

*

)0(x )1(x

Page 8: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Newton: step2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−1

−0.5

0

0.5

1

1.5

2

*

)0(x )1(x)2(x

)(')(

)(

)()()1(

k

kkk

xfxfxx

Page 9: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−1

−0.5

0

0.5

1

1.5

2

*

Newton: step3

)0(x )2(x )1(x)3(x

)(')(

)(

)()()1(

k

kkk

xfxfxx

Page 10: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−1

−0.5

0

0.5

1

1.5

2

*

)0(x )2(x)3(x

)4(x

• until convergence– residual is small – subsequent iterates do not differ much

Newton: steps 4,5

)1(x

)1()( kk xx)( )(kxf

Page 11: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Properties of Newton’s method

• Iteration

written as

• Convergence: what conditions ?– local convergence: for what initial guess ?

• conditions ?– global: (for any initial guess) how ?

• line search, trust regions, and other

• Use in optimization

)(')(

)(

)()()1(

k

kkk

xfxfxx

)1()()1(

)(1)()1( )())('(kkk

kkk

xxxfxf

)(')()(minxJxf

xJx

Page 12: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Newton’s method in N-dimensions

• 1D variant for f(x)=0

• N-D Variant for

)1()()1(

)(1)()1( )())('(kkk

kkk

xxxfxf

0F(U) 111 ,: NxNxNx RRR UF

RxRRf ,:

)1()()1(

)(1)()1( )())((kkk

kkk

UUUFUDF

NxNRDF

Page 13: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Newton’s method efficiency and scaling

• Solve an N-dimensional problem

• using Newton’s method:

• actually, we solve

• that is, we need to be able to solve a generic linear system

0F(U)

)1()()1(

)(1)()1(

)()(

update)())(( solve)(),( find

kkk

kkk

kk

UUUFUDFUDFUF

)( 1NO

)( 2NO

)( 3NO)()()( kkk UδUDF

111 ,: NxNxNx RRR UF

bAU

Page 14: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

How to solve most accurately/efficiently

• a linear problem ?

• a nonlinear problem ?

0F(U)

bAU )( 3NO

)(# 3NitersO

The answer depends The answer depends ……••on the underlying applicationon the underlying application••on properties of A, Fon properties of A, F

Page 15: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Linear solvers: how to solve

• Problem: solve

• How large is N ?– does A fit in computer memory ? (8 bytes x NxN = ?)– is A full (dense) / sparse ? – how does the speed of the method (number of FLOPs) scale with

N ? What is the exponent in

• Two main classes of methods– direct– iterative

11,, NxNxNxN RRR

bUAbAU

bAU

)( NO

Page 16: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Linear solvers: direct versus iterative

• Ex.:Gauss-Jordan elimination (or QR decomposition)

• requires storage• scales • do not preserve sparsity• special variants ILU, ICCL

– band direct solvers exist

• IDEA:

• no storage necessary• stationary methods:

• Jacobi, G-S, SOR

• non-stationary methods• Krylov family:

– CG, PCG, GMRES

• multigrid

bAU

product only requireseconvergenc until,2,1

iterate )1()(

AVY

UU

k

kk

*00**0***

***0**00*

A

)( 3NO)( 2NO

)( 1NO

)log( 2 NNO

)( 2NO

All scaling information for 3D linear PDE models, optimal parameters [Heath’97]

)( 17.1NO

Page 17: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Motivation: solving large systems of nonlinear PDEs

• PDEs = partial differential equations • PDEs are mathematical models of

• continuum mechanics• fluid flow in subsurface and surface waters• gas dynamics• heat conduction• transport of contaminants• and more ….

• Let us call a generic system of (coupled nonlinear) PDEs

0)( UF

Page 18: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Steps of solving large systems of nonlinear PDEs

• Coupled nonlinear PDEs• PDEs imposed over a region D in space and time interval (0,T) • boundary conditions on boundary of D• initial conditions at t=0

• Numerical discretization of DEs/PDEs– discretize in space: grid over D

• finite differences, elements, volumes – discretize in time, use time step

• finite differences– ANALYSIS of schemes: MTH 552, 553, 654, 655 (FE)

• Error • for accuracy we must have MANY grid points in D, small

• Solve the system as fast as possible• solving general linear systems: MTH 551

t

t

0)( hh UF

hUU

Page 19: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Example: linear PDE on a simple domain

• model

is Poisson equation

• discretized model

0)( UF

bU

hhh bU

Page 20: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Discrete (linear) model

• linear discrete model or

or

U

72

71

2

1

8,9

7,9

1,2

1,1

......

UU

UU

uu

uu

Uh

0)( hh UF

hhh bU bAU

Page 21: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

4,3u

iindex jindex

30U

Structure of

72

71

2

1

8,9

7,9

1,2

1,1

......

UU

UU

uu

uu

Uh

h

Page 22: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

iindex jindex

30U

29U 31U

21U

39U

4,3u

3,3u

5,3u

4,2u4,4u 30U

Details on the stencil in h

Page 23: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

1000 0000014100 00001

30

30 row

312921 39

Matrix of the system

iindex jindex

30UbAU

Page 24: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

How to best solve

• Exploit – sparsity of A– band structure of A

• Exploit positive definiteness of A

• Exploit its origin– PDE

bAU

• Modern methods:– multigrid– domain decomposition– parallel algorithms

Page 25: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Divide D and conquer• Iterative solver: must

communicate data between yellow and blue zones

• domain decomposition– overlapping or nonoverlapping

• Matrix/vector view: similar to block decomposition

• implement on single processor or multiprocessor computer

bAU

Page 26: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Domain decomposition: overlapping• blue and yellow values lag

between iterations• similar to block Jacobi solver

Page 27: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Domain decomposition: non-overlapping• external iteration• solve for interface degrees of

freedom (external iteration)

• form the Schur complement (eliminate interface unknowns)

Page 28: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Solve system on a multiprocessor computer system

• Need to communicate data between processors• distributed memory or shared memory ?

bAU

Page 29: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Parallel solution: distributed memory multiprocessor systems

• Issues: computation time versus communication time

• Implementation: MPI (Message Passing Interface)

Page 30: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Parallel solution: shared memory

• Processors communicate with one global (shared) memory: bus contention and latency

• Expensive not always scalable solutions

Page 31: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Example: nonlinear PDE on a complicated domain

• given a PDE model

• discretize D • define discrete model

DxUF ,0)(

0)( hh UF

Page 32: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Example of : multi-phase / multi-component flow

MM

M qUtN

mMm

mmm

M nSN *

1

DGPkKV mmm

mm

mmMm

mm

M VnU *

1

m

mS 1 M

mMn 1

,...)(12121

, mmmc

mm SPPP

),( mMmmm nP

mass conservation

volume constraints

def.:

mass concentration

def.:

mass flux

def.:

phase velocity

def.:

capillary pressure relation

constitutive eqs.

Phase: m, component: M

Specific model

0)( UF

Page 33: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Example: simulate oil and gas recovery• oil and gas displaced by water

contained in D: region in which there is oil and gas and water (brine)

• must discretize D (decide which scheme to use)

• must solve the system for

• must post-process the results– assess accuracy– visualize what is going on

0)( UF

0)( hh UFhU

Page 34: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

My example: oil and gas recovery• original domain

• decomposition into 20 processors

• results

• how accurate is this solution ?– that is another story – take MTH 55& and/or 65* ?

Page 35: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Summary of choices: algorithm/implementation

• computing platform• serial / workstation• parallel / distributed memory: MPI • parallel / shared memory OpenMP• parallel supercomputer (PetaFLOPS): a hybrid ?

• discretization method• finite differences• finite elements

• nonlinear solver• Newton-based:

» local convergence» global convergence

• linear solver• full or sparse matrix ?

– direct – iterative

0UF )(

bAU

Page 36: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Choices: programming environment

• ex: MATLAB• quick development• workstation• graphics available• may not scale• not efficient• not parallel• portable

• Windows, Unix, MAC ?• but not to supercomputing

platforms

• ex.: FORTRAN, C, C++• requires post-processing

(graphics output to files)• can reuse “dusty shelves”

(legacy code)• can use highly optimized

libraries• computational kernels as

efficient as computer-ly possible

• parallel (MPI, OpenMP)• can be made portable between

supercomputing platforms

In this class we will do both types of implementation

Interpretative environmentInterpretative environment Compiled environmentCompiled environment

Page 37: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Class MTH 655/659 information

• Algorithms and theory• nonlinear problems: Newton-based for F(U)=0• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)• parallel implementation theory• domain decomposition• multigrid• primer on optimization (nonlinear, continuous, unconstrained)

• Implementation• MATLAB prototypes for testing properties of algorithms and

applications• Fortran (C for geeks) for REAL scientific computing

– overview of Unix will be given• Fortran+MPI for parallel implementation on a cluster• Module on use of GPUs for scientific computing

• Current information• http://www.math.oregonstate.edu/~mpesz/teaching/654_F09

Page 38: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)

Class MTH 655/659 information

• Attendance in labs required: – Fridays (8:30-)9:00-10:00-(10:30) in MLC– (start 8:30-can leave at 10:30)– must complete each lab project

• Individual project: paper and (optional) presentation in Nov./Dec.

• Fill out questionnaire– must have OSU ID and ONID username

• NO CLASS this Wednesday – some other no-class dates TBA

• Reading/review: • http://www.math.oregonstate.edu/~mpesz/teaching/654_F09/

Page 39: Class MTH 655/659 information - Oregon State Universitysites.science.oregonstate.edu/~mpesz/teaching/654_F09/MTH654.pdf• linear solvers: Jacobi family, Krylov family (CG,PCG,GMRES)