13
Sparse matrix computations Dave O’Hallaron Intel Research Pittsburgh Sept 2007

Sparse matrix computations

  • Upload
    jaclyn

  • View
    62

  • Download
    0

Embed Size (px)

DESCRIPTION

Sparse matrix computations. Dave O’Hallaron Intel Research Pittsburgh Sept 2007. element. node. t. mesh. simulation results. Galerkin discretization. FEM solver. Animation. Visualization Model. Mathematical Model. Computer Model. Numerical Model. Physical Model. Physical - PowerPoint PPT Presentation

Citation preview

Page 1: Sparse matrix computations

Sparse matrix computations

Dave O’Hallaron

Intel Research Pittsburgh

Sept 2007

Page 2: Sparse matrix computations

Scientific Computing Process

Earthquake ground motion

Physical System

mesh

elementnode

ComputerModel

FEM solver

Numerical Model

Galerkin discretization

t

simulation results

VisualizationModel

Animation

Physical Model

Material property model

Mathematical Model

Wave propagation equation

2

2

t

uIuuu T

Page 3: Sparse matrix computations

Scientific Computing Workflow

Mesh

t

Simulation results

Physical model Mesh

generationVisuali-zation

Solver

Mesh

Page 4: Sparse matrix computations

David O’Hallaron (CMU CS and ECE)Jacobo Bielak (CMU CivE)

Page 5: Sparse matrix computations

1994 Northridge Quake Simulation

20 seconds of an aftershock from the Jan 17, 1994 Northridge quake in San Fernando Valley of Southern California.

Page 6: Sparse matrix computations

Teora, Italy1980

Page 7: Sparse matrix computations

San Fernando Valley

x

epicenter lat. 34.32 long. -118.48

lat. 34.08 long. -118.75

lat. 34.38 long. -118.16

San Fernando Valley

Page 8: Sparse matrix computations

San Fernando Valley (Top View)

Soft soil

Hard rock

xepicenter

Page 9: Sparse matrix computations

San Fernando Valley (Side View)

Soft soil

Hard rock

Page 10: Sparse matrix computations

Initial node distribution

Page 11: Sparse matrix computations

Unstructured mesh (top view)

Page 12: Sparse matrix computations

Partitioned Unstructured Mesh

element

nodes

Page 13: Sparse matrix computations

Quake solver code

NODEVECTOR3 disp[3], M, C, M23; MATRIX3 K;

/* matrix and vector assembly */ FORELEM(i) { ... }

/* time integration loop */ for (iter = 1; iter <= timesteps; iter++) { SMVP(K, disp[dispt], disp[disptplus]); disp[disptplus] *= - IP.dt * IP.dt; disp[disptplus] += 2.0 * M * disp[dispt] - (M - IP.dt / 2.0 * C) * disp[disptminus] - ...); disp[disptplus] = disp[disptplus] / (M + IP.dt / 2.0 * C); i = disptminus; disptminus = dispt; dispt = disptplus; disptplus = i;}

K is the adjacency matrix of the mesh, a labeled undirected graph

The disp vector records thedisplacements of each mesh node during last three timesteps

90% of time spent in sparse matrix vector

product (SMVP) kernel