Sparse matrix computations - PowerPoint PPT Presentation

jaclyn
sparse matrix computations n.
Skip this Video
Loading SlideShow in 5 Seconds..
Sparse matrix computations PowerPoint Presentation
Download Presentation
Sparse matrix computations

play fullscreen
1 / 13
Download Presentation
92 Views
Download Presentation

Sparse matrix computations

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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

  2. element node t mesh simulation results Galerkin discretization FEM solver Animation Visualization Model Mathematical Model Computer Model Numerical Model Physical Model Physical System Wave propagation equation Material property model Earthquake ground motion Scientific Computing Process

  3. t Scientific Computing Workflow Physical model Mesh Simulation results Solver Mesh generation Visuali- zation Mesh

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

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


  6. Teora, Italy 1980

  7. lat. 34.38 long. -118.16 epicenter lat. 34.32 long. -118.48 x San Fernando Valley lat. 34.08 long. -118.75 San Fernando Valley

  8. San Fernando Valley (Top View) Hard rock epicenter x Soft soil

  9. San Fernando Valley (Side View) Soft soil Hard rock

  10. Initial node distribution

  11. Unstructured mesh (top view)

  12. nodes element Partitioned Unstructured Mesh

  13. The disp vector records the displacements of each mesh node during last three timesteps 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 90% of time spent in sparse matrix vector product (SMVP) kernel