Tsunami Modeling with Accelerated Graphics Board (GPU) and

advertisement
Tsunami Modeling with Graphics
Processing Unit (GPU) and Radial Basis
Functions (RDF)
DAVID A. YUEN
Minnesota Supercomputing
Institute,University of Minnesota,
Minnesota
JESSICA SCHMIDT
Saint Scholastica College, Duluth, Minnesota
JESSICA SCHMIDT
Saint Scholastica College, Duluth,
Minnesota
CECIL PIRET
Institute of Applied Mathematics for
Geosciences, National Center of Atmospheric
Research, Boulder, Colorado
ERIK O.D. SEVRE
Minnesota Supercomputing
Institute University of Minnesota,
Minnesota
SPRING LIU
Minnesota Supercomputing Institute
University of Minnesota, Minnesota
NAN ZHANG
Medical School, University of
Minnesota Minnesota
NATASHA FLYER
Institute of Applied Mathematics for
Geosciences, National Center for Atmospheric
Research, Boulder, Colorado
GRADY B. WRIGHT
Dept. of Mathematics , Boise State
University, Boise, Idaho
Outline
 Introduction to Tsunamis and Tsunami Modeling
 Visualization of tsunamis with Amira visualization





package
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
Background
What is a Tsunami?
(soo-NAH-mee)
Tsunami Definition & Causes
Wave types
Wave in the Ocean
Most of the waves present on the ocean’s 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.
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
Tsunami Sources in the world
(2180 events from 1628BC to 2005)
Numerical Tsunami Modeling
Background
Seismic Tsunami Modelling
Killer Tsunamis in Historical Times
General Tsunami Modelling
1
Physical Analysis
2
Numerical Simulation
3
Visualization
4
Result Analysis and
Digestion
 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
4 solution of grid
(Local and Far-field)
Navier-Stokes Equations System
Boussinesq Equations
Shallow Water Equations
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) Visualization promotes a rapid understanding
of the waves' paths from initial stages ; influences
from the initial surroundings
(2) Visualization Allows us to understand better
the subsequent events when the waves are
interacting with the coastline and off-shore islands
(3) Visualization Helps to teach people about wave
propagation for local and regional scenarios
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
Tsuna
mi
Tsunami
Simulation with
GPU
Programming
Real Tsunami
Visualization
(Interface
Window)
By Erik
Tsunami
Warning
Seismology
Bathymetric
Data
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
 Difficult to find
CPU
 Easy to learn and
implement
video card , MAC is
cooler for this .
GPU Specs.
GPU
GeForce 8600M GeForce 8800
GT
Ultra
Core clock (MHz)
540
612
Shader clock (MHz)
1190
1500
Memory clock (MHz) 700
1080
Memory Amount
(MB)
256
768
Memory Interface
128-bit
384-bit
Memory bandwidth
(GB/s)
22.4
103.7
There are
other GPUs
Texture
Fill Rate
8.64that work with CUDA
39.2 as well.
- NVIDIA GeForce 8000 and above
(billion/sec)
- NVIDIA Quadro, DELUXE MODEL
- NVIDIA Tesla
Jessica’s Job This Summer
 Covert linear tsunami codes
Spring
Liu ----second Finite Difference
Method
Cecile Piret ---- Radial Basis Function
(RBF)
 Implement CUDA for Spring’s and
Cecile’s linear codes, then see if
there is speedup
2-D Shallow Water Equations
Linear
z M N


0
t x
y
M
z
 gD
0
t
x
N
z
 gD
0
t
y
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 
M, N = mass fluxes in horizontal plane
z = wave height
t = time
h = ocean water depth
D = total water depth, D = z + h
ρ = density
τx, τy = shear stress along x and y axis
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
The data
RBF
• Define the RBF
interpolant
method
• Given scattered
The data
RBF
• Define the RBF
interpolant
method
• Given scattered
The data
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
Spring’s linear tsunami code (21600 time steps)
Grid
Size
601x601
CPU (Lilli)
GPU (laptop) Speedup
times
Approx. 240
Approx. 30
8 times
Cecile’s linear
tsunami code (400 time
steps)
minutes
minutes
Grid
Size
30x30
CPU (laptop)
GPU (laptop)
Approx. 315
seconds
Approx. 105
seconds
Lilli – an opteron-based system with 4 CPUs
GPU – nVIDIA 8600M GT graphics card
Laptop – standard MacBook Pro
Speedup
times
3 times
Results for Tsunami Simulation
beginning of simulation
middle of simulation
Simulation Movie
Comparison
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/E
nergy/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/E
nergy/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
GPU time
Speed up
119 seconds
23 seconds
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 1960’s,
 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
Download