Sparse matrix computations

Preview:

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

Sparse matrix computations

Dave O’Hallaron

Intel Research Pittsburgh

Sept 2007

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

Scientific Computing Workflow

Mesh

t

Simulation results

Physical model Mesh

generationVisuali-zation

Solver

Mesh

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

1994 Northridge Quake Simulation

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

Teora, Italy1980

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

San Fernando Valley (Top View)

Soft soil

Hard rock

xepicenter

San Fernando Valley (Side View)

Soft soil

Hard rock

Initial node distribution

Unstructured mesh (top view)

Partitioned Unstructured Mesh

element

nodes

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

Recommended