Upload
dinhtu
View
229
Download
0
Embed Size (px)
Citation preview
James Goodman, PhD, PE
President / CEO HySpeed Computing LLC
Matthew Sellitto & David Kaeli
Electrical and Computer Engineering
Northeastern University
www.hyspeedcomputing.com Copyright 2012, HySpeed Computing. CC BY 3.0. GTC 2012, San Jose, CA
Algorithm Acceleration for
Geospatial Analysis
GTC 2012 / May 14-18 / San Jose, CA
Introduction | Sunglint Algorithm | Optimization Algorithm | Real-Time Processing | App Development
Geospatial Data Google maps is a combination of vector and raster geospatial data,
merged into a multi-layer visualization
San Jose, CA – Google maps
Source: maps.google.com
www.hyspeedcomputing.com Copyright 2012, HySpeed Computing. CC BY 3.0. GTC 2012, San Jose, CA
Introduction | Sunglint Algorithm | Optimization Algorithm | Real-Time Processing | App Development
San Jose, CA – Vector data
Source: maps.google.com
Geospatial Data: Vector Vector data consists of points, lines and polygons with associated
geographic coordinates and descriptive attributes
www.hyspeedcomputing.com Copyright 2012, HySpeed Computing. CC BY 3.0. GTC 2012, San Jose, CA
Introduction | Sunglint Algorithm | Optimization Algorithm | Real-Time Processing | App Development
San Jose, CA – Raster data
Source: maps.google.com
Geospatial Data: Raster Raster data consists of image layers comprised of pixels with associated
geographic coordinates and descriptive attributes
www.hyspeedcomputing.com Copyright 2012, HySpeed Computing. CC BY 3.0. GTC 2012, San Jose, CA
Introduction | Sunglint Algorithm | Optimization Algorithm | Real-Time Processing | App Development
Hyperspectral framework
Hyperspectral Remote sensing imagery comprised of multiple layers representing discrete
portions of the electromagnetic spectrum
x
y
λ
(x,y) = geospatial
λ = wavelength Wavelength (nm)
Hyperspectral Data “Cube” Coral Reflectance Spectrum
Re
fle
cta
nce
0.00
0.04
0.08
0.12
0.16
0.20
400 500 600 700
www.hyspeedcomputing.com Copyright 2012, HySpeed Computing. CC BY 3.0. GTC 2012, San Jose, CA
Introduction | Sunglint Algorithm | Optimization Algorithm | Real-Time Processing | App Development
Healthy coral reef (left) – Dead (right)
Source: NOAA Photo Library; D. Burdick Source: NOAA Photo Library; J. Bedford
Project Motivation Coral reef health is being threatened worldwide. Conservation requires
effective quantitative tools for monitoring and assessment over large areas
www.hyspeedcomputing.com Copyright 2012, HySpeed Computing. CC BY 3.0. GTC 2012, San Jose, CA
Introduction | Sunglint Algorithm | Optimization Algorithm | Real-Time Processing | App Development
Schematic of light interactions for coastal remote sensing
Marine Remote Sensing Detecting and identifying objects and surfaces through the atmosphere and
water column is a complex process
Source: Introduction to Subsurface Sensing; B. Saleh
www.hyspeedcomputing.com Copyright 2012, HySpeed Computing. CC BY 3.0. GTC 2012, San Jose, CA
Introduction | Sunglint Algorithm | Optimization Algorithm | Real-Time Processing | App Development
French Frigate Shoals, Hawaii – AVIRIS imagery
Sunglint Correction Specular reflection of sunlight from the water surface obscures underlying
features and needs to be suppressed
Sunglint
Correction
www.hyspeedcomputing.com Copyright 2012, HySpeed Computing. CC BY 3.0. GTC 2012, San Jose, CA
Serial C++ sunglint correction algorithm outperforms GPU
Understanding the Overhead Without sufficient utilization of GPU resources, the benefits of GPU
acceleration can be offset by input/output overhead
0.001
C++
CUDA
OpenCL
IDL
Time/pixel (ms)
Sunglint Processing Times (200MB image; 1,305,600 pixels; 42 bands)
Tesla C2070
2x Hexa 2.67 GHz
Windows 7 SP1 x64
0.002 0.003
www.hyspeedcomputing.com Copyright 2012, HySpeed Computing. CC BY 3.0. GTC 2012, San Jose, CA
Introduction | Sunglint Algorithm | Optimization Algorithm | Real-Time Processing | App Development
Introduction | Sunglint Algorithm | Optimization Algorithm | Real-Time Processing | App Development
Inversion model based on a constrained non-linear optimization
Coastal Algorithm Overview Applies to shallow coastal environments, e.g., coral reefs,
deriving environmental information from hyperspectral imagery
Inversion
Model Unmixing
Model
Hyperspectral
Imagery
Water Properties
Water Depth
Bottom Albedo
Habitat
Characteristics
www.hyspeedcomputing.com Copyright 2012, HySpeed Computing. CC BY 3.0. GTC 2012, San Jose, CA
Kaneohe Bay, Hawaii – AVIRIS imagery
Coastal Algorithm Overview Using IDL, the native environment for ENVI (geospatial software), the
algorithm takes ~60 minutes to process this small area (~500,000 pixels)
Sand
Algae Coral
Coastal
Algorithm
www.hyspeedcomputing.com Copyright 2012, HySpeed Computing. CC BY 3.0. GTC 2012, San Jose, CA
Introduction | Sunglint Algorithm | Optimization Algorithm | Real-Time Processing | App Development
Optimization is used across an array of computing fields
Optimization Mathematical optimization routines are used to maximize or minimize a
function to find the optimal solution
Source: mathworld.wolfram.com; J. Pinter
2-Dimensional Optimization:
find 2-D global minimum or maximum
1-Dimensional Optimization:
find 1-D global minimum or maximum
Source: www.mathworks.com; S. Kozola
www.hyspeedcomputing.com Copyright 2012, HySpeed Computing. CC BY 3.0. GTC 2012, San Jose, CA
Introduction | Sunglint Algorithm | Optimization Algorithm | Real-Time Processing | App Development
Estimated water depth for synthetic “test” image (13,056 pixels)
Known
Water Depth
Search
1,478,741 Values
CUDA = 27 s
Levenberg-
Marquardt Opt.
IDL = 319 s
CUDA = 1,564 s
Search
31,250 Values
www.hyspeedcomputing.com Copyright 2012, HySpeed Computing. CC BY 3.0. GTC 2012, San Jose, CA
Understanding the Scope of the Problem A naïve approach to solving the optimization problem using a brute-force
exhaustive search was neither accurate nor efficient
Introduction | Sunglint Algorithm | Optimization Algorithm | Real-Time Processing | App Development
Estimated water depth for synthetic “test” image (13,056 pixels)
Known
Water Depth
Understanding your Tradeoffs In many complex problems there is often a tradeoff between speed and
accuracy, and it is important to know the risk tolerance of the problem
Steepest
Descent Opt.
C++ = 104 s
Levenberg-
Marquardt Opt.
IDL = 319 s
C++ = 17,048 s
CUDA = 96 s
BFGS-B
Opt. OpenCL = 7 s
www.hyspeedcomputing.com Copyright 2012, HySpeed Computing. CC BY 3.0. GTC 2012, San Jose, CA
180x
15x
Introduction | Sunglint Algorithm | Optimization Algorithm | Real-Time Processing | App Development
3x
45x
Introduction | Sunglint Algorithm | Optimization Algorithm | Real-Time Processing | App Development
Further improvements are needed to achieve real-time processing
Real-Time Processing? With current optimization algorithm and utilization of GPU resources,
performance is approaching real-time processing rates
0.01 0.1 1 10 100
OpenCL: BFGS-B
C++: BFGS-B
CUDA: SD
IDL: LM
Time/pixel (ms)
Optimization Processing Times (200MB image; 1,305,600 pixels; 42 bands)
Tesla C2070
2x Hexa 2.67 GHz
Windows 7 SP1 x64
real-time
www.hyspeedcomputing.com Copyright 2012, HySpeed Computing. CC BY 3.0. GTC 2012, San Jose, CA
Introduction | Sunglint Algorithm | Optimization Algorithm | Real-Time Processing | App Development
HySpeed Computing – An Innovation Community Offering a framework for scientists and developers to obtain advanced
software, sell user-created applications, and build collaborations
www.hyspeedcomputing.com Copyright 2012, HySpeed Computing. CC BY 3.0. GTC 2012, San Jose, CA
Become part of the community!
www.hyspeedcomputing.com