algorithm acceleration for geospatial analysis

16
James Goodman, PhD, PE President / CEO HySpeed Computing LLC [email protected] 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

Upload: others

Post on 29-Oct-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algorithm Acceleration for Geospatial Analysis

James Goodman, PhD, PE

President / CEO HySpeed Computing LLC

[email protected]

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

Page 2: Algorithm Acceleration for Geospatial Analysis

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

Page 3: Algorithm Acceleration for Geospatial Analysis

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

Page 4: Algorithm Acceleration for Geospatial Analysis

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

Page 5: Algorithm Acceleration for Geospatial Analysis

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

Page 6: Algorithm Acceleration for Geospatial Analysis

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

Page 7: Algorithm Acceleration for Geospatial Analysis

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

Page 8: Algorithm Acceleration for Geospatial Analysis

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

Page 9: Algorithm Acceleration for Geospatial Analysis

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

Page 10: Algorithm Acceleration for Geospatial Analysis

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

Page 11: Algorithm Acceleration for Geospatial Analysis

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

Page 12: Algorithm Acceleration for Geospatial Analysis

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

Page 13: Algorithm Acceleration for Geospatial Analysis

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

Page 14: Algorithm Acceleration for Geospatial Analysis

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

Page 15: Algorithm Acceleration for Geospatial Analysis

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

Page 16: Algorithm Acceleration for Geospatial Analysis

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