You are on page 1of 69

Tsunami Modeling with Accelerated Graphics Board (GPU) and Radial Basis Functions (RDF)

DAVID A. YUEN Minnesota Supercomputing Institute,University of Minnesota, Minnesota JESSICA SCHMIDT Saint Scholastica College, Duluth, Minnesota ERIK O.D. SEVRE Minnesota Supercomputing Institute University of Minnesota, Minnesota NAN ZHANG Medical School, University of Minnesota Minnesota GRADY B. WRIGHT Dept. of Mathematics , Boise State University, Boise, Idaho JESSICA SCHMIDT Saint Scholastica College, Duluth, Minnesota

CECIL PIRET Institute of Applied Mathematics for Geosciences, National Center of Atmospheric Research, Boulder, Colorado SPRING LIU Minnesota Supercomputing Institute University of Minnesota, Minnesota NATASHA FLYER Institute of Applied Mathematics for Geosciences, National Center for Atmospheric Research, Boulder, Colorado

Outline
Introduction to Tsunamis and Tsunami Modeling Virtues of Graphics Accelerated Board (GPU) Applications of GPU to Shallow-Water equations Radial Basis Functions (RBF) Swirling Flows Applications of GPU to RBF equations Concluding Remarks

David

Erik

Spring

Yaolin

Outline
Background related to tsunamis Data Visualization_Amira applied in tsunami simulation Potential Tsunami Hazard along Chinese Coast

Background

What is a Tsunami?
(soo-NAH-mee)

Tsunami or Harbour Wave

A Japanese word represented by two characters: tsu & nami tsu means harbour & nami means wave

Tsunami Definition & Causes

Scientific term? Tsunami ? Seismic sea waves ? Tidal waves

Basic Concept

Wave in the Ocean


Waves are the undulatory motion of a water surface.

Parts of a wave are, Wave crest, Wave trough, Wave height (H), Wave Amplitude, Wave length (L),and Wave period (T). Wave period provides a basis for the wave classifications: Capillary waves, Chop, Swell, Tsunamis, Seiches.

Wave types

Wave in the Ocean

Most of the waves present on the oceans surface are wind-generated waves.

Size and type of wind-generated waves are controlled by: Wind velocity, Wind duration, Fetch, and Original state of sea surface.

Wave Properties

7-3

Wave in the Ocean

The shallower the water, the greater the interaction between the wave and the bottom alters the wave properties, eventually causing the wave to collapse.

SPEED decreases as depth decreases. Wave length decreases as depth decreases. Wave height increases as depth decreases. Refraction is the bending of a wave into an area where it travels more slowly.

Wave Properties

Wave in the Ocean

7-5

Tsunami
Tsunamis consist of a series of long-period waves characterized by very long wave length (up to 100 km) and high speed (up to 760 km/hr) in the deep ocean. Because of their large wave length, tsunamis are shallow-water to intermediate-water waves as they travel across the ocean basin. They only become DANGEROUS, when reaching coastal areas where wave height can reach 10 m. Tsunamis originate from earthquakes, volcanic explosions, or submarine landslides.

Tsunami Source (1)

Tsunami Source (2)

Tsunami Source (3)

Background

Numerical Tsunami Modeling

Tsunami Sources in the world (2180 events from 1628BC to 2005)

Background

Seismic Tsunami Modelling

Killer Tsunamis in Historical Times

Background

Numerical Tsunami Modelling Global Earthquakes Distribution

90% earthquakes happened along Pacific Ocean belt 80% earthquakes induced tsunami happened along arc-channel of the Pacific Ocean plate

General Tsunami Modelling


Physical Analysis Numerical Simulation Visualization Results Analysis

1 2 3

Displacement Field (initial Condition) Propagation (Linear and Nonlinear model) Run-up

Seismic Tsunami Modelling

Seismic Tsunami Modelling

1 Analyze the phenomenon 2 Choose Coordinates 3 Choose the equations

Navier-Stokes Equations System Boussinesq Equations Shallow Water Equations

(Local and Far-field)

4 solution of grid

Etopo1, Etopo2, Strm30, or local bathymetry data

5 Boundary and initial conditions

The initial wave( From earthquake)

6 Visualization 7Analysis results

Satellite data or tidal data

Generation, Propagation, and Run-up of Tsunamis

Generation

Propagation

Run-up/down

dispersion effect

nonlinear effect

Existing Tsunami Models

Introduction of Amira

Amira is a powerful, multifaceted software platform for visualizing, manipulating, and understanding scientific data coming from a all types of sources and modalities. Multi purpose - One tool for interdisciplinary work Flexible - Option packages to configure amira to your needs Efficient - Exploits latest graphics cards and processors Easy to use - Intuitive user interface and great documentation Cost effective - Multiple options and flexible license models Handling large data - Very large data sets are easily accessible with specific readers Extensible - C++ coding wizard for technical extension and customization Support - Customer direct support with high level of interaction Innovative - Technology always up dated to the latest innovation

Data Visualization __ Amira

Load Topography Background

Movie Maker

Highlight of Visualization with Amira 3

This figure shows the height field with a scaled height.

Wave Propagation Visualization of Tsunami ModelingEastern China Sea

Wave Propagation Visualization of Tsunami ModelingSolomon Islands

Wave Propagation Comparison of Linear and Nonlinear Modeling

Different Bathymetry Resolution Comparison of Nonlinear Modeling on Shallow Part of the Ocean Part

Grids: 1201*1201

601*601

Conclusion
(1) promotes a rapid understanding of the waves' paths from initial stages ; influences from the initial surroundings (2) Allows us to understand better the subsequent events when the waves are interacting with the coastline and off-shore islands (3) Helps to teach people about wave propagation for local and regional scenarios

Linear

Linear Shallow Water Equations Applied in SCS

Nonlienar

Linear

Nonlinear

Linear and Nonlinear Model in Yellow Sea Area

TSUNAMI SIMULATION WITH GPU PROGRAMMING JESSICA SCHMIDT from computer science and mathematics UNDERGRADUATE SUMMER INTERN

Tsunami Simulation with GPU Programming

Jessica Schmidt Undergraduate summer intern

Overview

Why we do this project? GPU with CUDA programming Tsunami Simulation with CUDA RBF ( RADIAL BASIS FUNCTIONS ) Summary What does the future hold?

Viable set-up for real-time tsunami visualization


By Jessica

Earthqua ke

Tsunami Simulation with GPU Programming Real Tsunami Visualization (Interface Window) Tsunami Warning

Seismology

Tsuna mi

Bathymetric Data

By Erik

GPU
Graphics Processing Unit Much faster than CPU now Getting more expensive, can easily now Outstrip the cost of a laptop itself Takes the load off of the CPU
Computes many complex math problems Faster graphics processing speed Increased detailed and complexity without

CUDA
Compute Unified Device Architecture Developed by NVIDIA Based on C
Benefits

Drawbacks

Takes load off CPU Easy to learn and implement

Difficult to find video card , MAC is cooler for this .

GPU Specs.
GPU Core clock (MHz) Shader clock (MHz) Memory Amount (MB) Memory Interface Memory bandwidth (GB/s) GeForce 8600M GeForce 8800 GT Ultra 540 1190 256 128-bit 22.4 612 1500 1080 768 384-bit 103.7

Memory clock (MHz) 700

There Fill other Texture are Rate GPUs that work with CUDA as well. 8.64 39.2 - NVIDIA GeForce 8000 and above (billion/sec) - NVIDIA Quadro, DELUXE MODEL - NVIDIA Tesla

Jessicas Job This Summer


Covert linear tsunami codes
Spring Liu ----second Finite Difference Method Cecile Piret ---- Radial Basis Function (RBF)

Implement CUDA for Springs and Ceciles linear codes, then see if there is speedup

2-D Shallow Water Equations


Linear Non-Linear
z M N + + =0 t x y M M 2 MN z x + ( )+ ( ) + gD + = 0 t x D y D x M MN N2 z y + ( ) + ( ) + gD + = 0 t x D y D y
D = total water depth, D = z + h = density x, y = shear stress along x and y axis

z M N + =0 + x y t M z + gD =0 t x N z =0 + gD t y

M, N = mass fluxes in horizontal plane z = wave height t = time h = ocean water depth

athymetric Data: Etopo1

arameters of Rupture: rom HARVARD Database , Miyaki Ishii

isualization: Amira

An Introduction

Radial Basis Functions (RBF) Method

The RBF method

70s Rolland Hardy introduces a new method for scattered data interpolation for geological data, the MQ method, so named for its use as basis of the multi-quadric function. First published in JGR 70s-80s The method is generalized to more radial functions. It is renamed the Radial Basis Functions (or RBF) method. 90s Ed Kansa from UC Davis uses the RBF method to solve partial differential equations.

Given scattered data The RBF Define the RBF


interpolant

method

Given scattered data The RBF Define the RBF


interpolant

method

Given scattered data The RBF Define the RBF


interpolant Find by solving the system

method

The RBF method


Coding the RBF method is fast and easy
RBF part of the code

The RBF method

Interpolation on scattered data. No grid necessary. Very easy implementation in N-dimensions. The basis functions are not orthogonal with each other, but we are guaranteed a non-singular system for most types of RBFs. Spectral accuracy for infinitely smooth radial functions High complexity. No fast algorithm.

Radial Basis Functions (RBF)--- Cecile

Interpolating data takes the form:

Use RBFs to model 2-D linear waves Cecile Piret wrote simulations using Matlab Convert to GPU using Jacket developed by Accelereyes

The comparison of GPU and CPU ------- Linear Tsunami Codes


Springs linear tsunami code (21600 time steps)

Grid Size 601x601 Grid Size 30x30

GPU (laptop) Speedup times Approx. 240 Approx. 30 8 times Ceciles linear tsunami code (400 time steps) minutes minutes CPU (laptop) Approx. 315 seconds GPU (laptop) Approx. 105 seconds Speedup times 3 times

CPU (Lilli)

Lilli an opteron-based system with 4 CPUs GPU nVIDIA 8600M GT graphics card Laptop standard MacBook Pro

Results for Tsunami Simulation

beginning of simulation

middle of simulation

Simulation Movie

Summary
With the comparison of the computing times of tsunami equations that be solved by different numerical methods (Finite Difference Method and RBF) and different hardware surroundings (GPU and CPU), we would provide a ideal computing and visualization method for tsunami simulation, that allow for hazard preparation and timely warning for lands in the masses in the path of tsunami wave. GPU really speeds up computing time, that is at least 3 times that of CPU for our tsunami code.

What does the future hold?


Complete GPU programming for Nonlinear Shallow Water Code with CUDA ---- Jessica Development of Visualization Interface Erik Sevre

References
Liu, Y. Numerical tsunami modeling[PowerPoint]. Minneapolis, Minnesota: University of Minnesota. (2008, June 7). NVIDIA CUDA compute unified device architecture. Retrieved July 29, 2008, from NVIDIA: http://developer.download.nvidia.com/compute/cuda/2.0Beta2/docs/Programming_Guide_2.0beta2.pdf Piret, C. (2007). Analytical and numerical advances in radial basis functions, (Doctoral dissertation, University of Colorado at Boulder, 2007). Retrieved from http://amath.colorado.edu/student/piret/thesis.pdf Sevre, E., Yuen, D. A., & Liu, Y. (2008). Visualization of tsunami waves with Amira package.

Examples of Commonly Used Radial Basis Functions

Comparison of the 1-D Chebychev Pseudo-Spectral Basis and the Gaussian RBF Basis and Influence of the Shape Parameter Epsilon

Comparison of the Swirling Flow for Different Initial Conditions

Sample MATLAB Code for Solid-Body Rotation


ep = 6; % Value of epsilon to used alpha = pi/2; % Angle of rotation measured from the equator a = 6.37122e6; % Mean radius of the earth (meters) u0 = 2*pi*a/12; % Speed of rotation (m/day)-one full revolution in 12 days R = a/3; % Width of bell %%% Load Nodes: http://web.maths.unsw.edu.au/~rsw/Sphere/Ener gy/index.html%%% load(me1849.dat); x = me1849(:,1); y = me1849(:,2); z = me1849(:,3); %%% Compute r2 = (x_j x_k)2+ (y_j y_k)2+(z_j z_k)2 %%% nodes = [x,y,z]; rd2 = zeros(length(nodes),length(nodes)); for j = 1:3 xd1 = nodes(:,j); xd1 = xd1(:,ones(length(xd1), 1)); xd2 = xd10; rd2 = rd2 + (xd1 xd2).2; end %%% Set-up 2D surface grids in (theta,phi) for computing B (eqn.(11)) %%% theta = atan2(z,sqrt(x.2+y.2)); phi = atan2(y,x); % phi = lambda in paper tn = theta; tn = tn(:,ones(length(xd1), 1)); tc = tn; pn = phi; pn = pn(:,ones(length(phi), 1)); pc = pn; %%% Compute differentiation matrix D %%%% B = 2*(cos(alpha).*cos(tn).*cos(tc).*sin(pn-pc) + sin(alpha).*(cos(tn).*cos(pn).*sin(tc) cos(tc).*cos(pc).*sin(tn))); B = (u0/a)*B.*(-ep2*exp(-ep2.*rd2)); A = exp(-ep2.*rd2); D = B/A; %%% Initial Condition Cosine Bell %%% r = a*acos(cos(theta).*cos(phi)); % initially located at equator, (0,0) h = 1000/2*(1+cos(pi*r/R)); % height of bell is 1000 m h(r >= R)=0; %%% Time-Stepping - 4th Order RK %%% dt = 12/288*5/6; % Time-Step for 12 days revolution for nt = 2:(1*288*6/5) d1 = dt*D*h; d2 = dt*D*(h + 0.5*d1); d3 = dt*D*(h + 0.5*d2); d4 = dt*D*(h + d3); end

Sample MATLAB Code for Solid-Body Rotation with GPU Implementation ( NO BIGGIE )
ep = 6; % Value of epsilon to used alpha = pi/2; % Angle of rotation measured from the equator a = 6.37122e6; % Mean radius of the earth (meters) u0 = 2*pi*a/12; % Speed of rotation (m/day)-one full revolution in 12 days R = a/3; % Width of bell %%% Load Nodes: http://web.maths.unsw.edu.au/~rsw/Sphere/Ener gy/index.html%%% load(me1849.dat); x = me1849(:,1); y = me1849(:,2); z = me1849(:,3); %%% Compute r2 = (x_j x_k)2+ (y_j y_k)2+(z_j z_k)2 %%% nodes = [x,y,z]; rd2 = zeros(length(nodes),length(nodes)); for j = 1:3 xd1 = nodes(:,j); xd1 = xd1(:,ones(length(xd1), 1)); xd2 = xd10; rd2 = rd2 + (xd1 xd2).2; end %%% Set-up 2D surface grids in (theta,phi) for computing B (eqn.(11)) %%% theta = atan2(z,sqrt(x.2+y.2)); phi = atan2(y,x); % phi = lambda in paper tn = theta; tn = tn(:,ones(length(xd1), 1)); tc = tn; pn = phi; pn = pn(:,ones(length(phi), 1)); pc = pn; %%% Compute differentiation matrix D %%%% B = 2*(cos(alpha).*cos(tn).*cos(tc).*sin(pn-pc) + sin(alpha).*(cos(tn).*cos(pn).*sin(tc) cos(tc).*cos(pc).*sin(tn))); B = (u0/a)*B.*(-ep2*exp(-ep2.*rd2)); A = exp(-ep2.*rd2); D = B/A; %%% Initial Condition Cosine Bell %%% r = a*acos(cos(theta).*cos(phi)); % initially located at equator, (0,0) h = 1000/2*(1+cos(pi*r/R)); % height of bell is 1000 m h(r >= R)=0; D=gsingle(D); % puts matrix D on the GPU h=gsingle(h); % puts h on the GPU %%% Time-Stepping - 4th Order RK %%% dt = 12/288*5/6; % Time-Step for 12 days revolution for nt = 2:(1*288*6/5) d1 = dt*D*h; d2 = dt*D*(h + 0.5*d1); d3 = dt*D*(h + 0.5*d2); d4 = dt*D*(h + d3); end

Results for Solid Body Rotation

CPU time 119 seconds

GPU time 23 seconds

Speed up 5.2 times

Notes:
The CPU used was an Intel Duo Core Processor The GPU used was an NVIDIA GeForce 8600M GT in a MacBook Pro The times calculated were the RK4 loop, as that was the part on the GPU. GPU implementation was facilitated by the Jacket software package produced by AccelerEyes

Several Thousand RBF Points Laid Out On Spherical Shell for 3-D thermal convection

Concluding Remarks and Perspectives


GPU can make a difference in speeding up for both single processor on your laptop or clusters of GPU's , they are much cheaper , $10,000 can mean 50 times your present compute power can be put in your office, whither Brutus et TU !! RBF's is a new method which can have a future because of its algorithmic simplicity. Easy to learn and program. It is still in nascent stage, like finite-elements were in the late 1960s, when Paul Tackley was a babe. Combining GPU with RBF, we can now speed up the nonlinear shallow-water equation by a factor close to 100, for the same physical elapsed time so a calculation which took 30 minutes can be done in 20 seconds( on single processor armed with GPU). This makes real-time tsunami warning a definite possibility

You might also like