26
Graphical Processing Units to Accelerate Orthorectification, Atmospheric Correction and Transformations for Big Data Amanda O’Connor, Bryan Justice, and A. Thomas Harris The information contained in this document pertains to software products and services that are subject to the controls of the Export Administration Regulations (EAR). The recipient is responsible for ensuring compliance to all applicable U.S. Export Control laws and regulations. IN52A. Big Data in the Geosciences: New Analytics Methods and Parallel Algorithms I December 13, 2013 AGU 2013 Fall Meeting

Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

Embed Size (px)

Citation preview

Page 1: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

Graphical Processing Units to Accelerate Orthorectification, Atmospheric Correction and Transformations for Big Data Amanda O’Connor, Bryan Justice, and A. Thomas Harris

The information contained in this document pertains to software products and services that are subject to the controls of the Export Administration Regulations (EAR). The recipient is responsible for ensuring compliance to all applicable U.S. Export Control laws and regulations.

IN52A. Big Data in the Geosciences: New Analytics Methods and Parallel Algorithms I December 13, 2013 AGU 2013 Fall Meeting

Page 2: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

5/20/2014

Agenda

˃ Why Earth Science/Remote Sensing

˃ Where Exelis VIS fits in

˃ GPU Background

˃ Earth Science where GPU can be effectively used

˃ Success Story

Page 3: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

GPU, Why Earth Science/Remote Sensing?

˃ Long time “Big Data” Challenge

˃ Hundreds to Thousands of 100+mb images in a collect or large 10gb<< images

˃ Computationally intense numeric processing

˃ Need quick turn around in Intelligence, Disaster Management, or just increased throughput for large processing volumes

5/20/2014

Page 4: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

Where Exelis VIS Fits in….

˃ 35+ years of COTS software development to solve remote sensing problems that include

˃ Planetary Remote Sensing

˃ Earth Remote Sensing (Optical, Radar, Thermal, LiDAR, Sonar)

˃ Medical Imaging (PET, CT, MRI, etc)

˃ Two COTS products lines: IDL and ENVI

˃ IDL is an interpreted programming

language designed to work with imagery

˃ ENVI is a full remote sensing application built in and extensible with IDL

˃ ENVI and IDL can be used in a distributed or cloud computing environment with a Services Engine component

5/20/2014

Page 5: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

5/20/2014

What is GPU Acceleration?

˃ A graphics processing unit or GPU is a specialized processor that offloads 3D or 2D graphics rendering from the main CPU(s)

˃ In a personal computer, a GPU can be present on a video card, or it can be on the motherboard

˃ Their highly parallel structure makes them more effective than general-purpose CPUs for a range of complex algorithms

˃ Certain algorithms can be run on the GPU to greatly speed up numerical processing

˃ Most computers, including laptops, today have GPU(s)

Page 6: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

CPU

DRAM

Cache

Control

GPU

DRAM

Flow control (If, then)

Compute-intensive Highly parallel computation

High-level GPU Architecture (Why it can do what it can do)

CPU (4 cores) GPU (>128 cores)

Page 7: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

Why aren’t all your COTS products GPU enabled?

˃Competing Architectures / Companies

> Exelis VIS went with NVIDIA/CUDA because it’s widely used

> Very similar to C, which our existing staff has expertise in

> Some projects re-purposable, but many are custom

5/20/2014

Page 8: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

Exelis VIS GPU Solution

˃ Developed a CUDA based GPU processing framework that can be redeployed

˃ Services group develops, this ensures meeting needs of specific architectures

˃ Worked with groups with BIG data analysis issues with time critical needs

˃ GPU enabled Existing ENVI and IDL routines, no reinventing the wheel, just make it go faster.

5/20/2014

Page 9: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

EXELIS VIS GPU Approach

CUDA “Compute Unified Device Architecture”

> Royalty-Free “C Language” – extension to ANSI standard C99

> Complete SDK - Freely distributed

> API for thread handling, memory management

> Standard math libraries, BLAS, FFT

Integrated with ENVI/IDL

> Use of IDL’s Internal API to create a DLM

> Integrates fully into IDL as a system routine

> Most flexible solution

> Recommended for most applications

> Maximum performance increases are achieved through custom kernel development

> Can be deployed from ArcGIS

5/20/2014

Page 10: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

Earth Science Applications – Spatial Processing

5/20/2014

Problem: Image projection and registration very slow with standard CPU processing This can delay using imagery to make time critical decisions where location is important e.g. Defense and Security, Disaster response/mitigation, Image production

Image projection

Orthorectification: a process that removes the geometric distortions introduced during image capture and produces an image product that has planimetric geometry, like a map.

Orthorectification

Image Courtesy Sylla Consult

Page 11: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

Earth Science Applications – Spatial Processing

> Rigorous Frame Camera Model

> Used in airborne platforms, small / medium format cameras

> Use GPU to project camera frames to align with GIS layers

> Resample data to a desired grid

> Large format commercial satellite data

> Orthorectification using Rational Polynomial Coefficients (RPC)

> Resample and reproject to desired format

5/20/2014

Problem: Image projection and registration very slow with standard CPU processing This can delay using imagery to make time critical decisions where location is important e.g. Defense and Security, Disaster response/mitigation, Image production

Examples

Page 12: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

Spatial Processing: Orthorectification Example

Hardware: Intel Core 2 Duo @ 2.6GHz, 4GB RAM, GTX280 GPU Elevation Model: SRTM Derived DTED Disk I/O is dominant (60% of total) GPU is only ~25% utilized!

Input / Output CPU Time GPU Time

WV1 Point Collect – 2.4gb

(32k x 32k In, 35k x 35k Out)

2+ Hours 3 Minutes

QuickBird 4-band Image – 600mb

(6878k x 7184k In, 8652k x 9204k Out)

15 Minutes 17 Seconds

RPC Orthorectification Results

5/20/2014

Page 13: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

GPU Ortho – ArcGIS Integration

5/20/2014

˃ With EXELIS VIS’ Integration with ArcGIS, call GPU enabled ENVI in an ArcGIS environment

˃ Available for any ENVI/IDL routine

˃ Harness GPU in a GIS

˃ Deploy best image processing practices to GIS users

Page 14: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

Earth Science Applications – Image Transforms

Spectral Processing – ICA/PCA

> Calculations map very well to GPU

> Functions are called iteratively

> Very heavy use of matrix multiplication operations

> Exelis VIS performed work to GPU enable image transforms for a government contract, this add on is freely available to certain segments of the US Government

5/20/2014

Problem: Many imaging bands are highly correlated. Image transformations help remove correlation and boost signals of hard to find information in imagery or finding change. These transforms are computationally expensive

Page 15: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

Earth Science Applications – Image Transforms

5/20/2014

Problem: Many imaging bands are highly correlated. Image transformations help remove correlation and boost signals of hard to find information in imagery or finding change. These transforms are computationally expensive

2002 2007

ICA Change ICA Band 6

Page 16: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

Earth Science Applications – Image Transforms (PCA)

Benchmarks Input data set HSI cube: 614 samples x 1024 lines x 244 bands, 16-bit Integer, 300mb Hardware CPU: 6‐Cores @ 3.2 GHz, RAM: 6GB GPU: NVIDIA GTX480, 1GB Video RAM, PCIe 2.0

5/20/2014

CPU Time

(seconds)

GPU Time

(seconds)

Improvement

29.61 2.25 13X

Page 17: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

Earth Science Applications: Atmospheric Correction

5/20/2014

Problem: Atmosphere interferes with data integrity and needs to be removed to earth science research and analysis, esp. looking an long term trends. This is a computationally heavy application that can easily be modified by GPU processing.

Page 18: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

Earth Science Applications: Atmospheric Correction

CPU Time

(seconds)

GPU Time

(seconds)

Improvement

23.19 2.87 8X

5/20/2014

Benchmarks Input data set HSI cube: 614 samples x 1024 lines x 244 bands, 16-bit Integer, 300mb Hardware CPU: 6‐Cores @ 3.2 GHz, RAM: 6GB GPU: NVIDIA GTX480, 1GB Video RAM, PCIe 2.0

Page 19: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

Use ENVI Services Engine to task farm with multiple GPUs

> With multiple GPUs, a desktop or laptop can behave as a small super computer

> The ENVI and IDL Services Engine can distribute task to GPU “workers”

> ESE is a COTS product available now

> Limitation is still file I/O, but have potentially 1000s of cores in one machine with GPU use

5/20/2014

DATA

ENVI Services Engine

Page 20: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

Success Story: Range and Bearing

Overview

˃ Small Aerial Photography Company

˃ Collects thermal and multispectral imagery, full motion ortho imagery over fires, disasters, pipeline monitoring, environmental assessment—anything where imagery can help the mission in real time.

˃ Acquires MANY images and need to have images ortho’d to accurately show hotspots and change.

Solution

˃ Contracted EXELIS VIS to develop GPU solution for high-speed ortho

˃ Images collected and processed on plane with a laptop

˃ Laptop a low draw on power

˃ The fire features are exploited from the real-time ortho imagery

˃ Fire features stream into a common operating picture live

5/20/2014

Page 21: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

Success Story: Range and Bearing

5/20/2014

Page 22: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

Essentially, the creation of GPU based real-time processing and exploitation enables Range and Bearing's Spot-HAWK platform to provide government, media, and the public live geoint of what the wildfire is doing NOW, not a report of what happened yesterday. —Doug Campbell, Range and Bearing President/CEO

5/20/2014

Success Story: Range and Bearing

Page 23: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

Summary

˃ Exelis VIS has developed tools with GPU technology to process large volumes of imagery and create meaningful products in near real time

˃ With multiple GPUs a desktop or laptop can behave as a small super computer

˃ Image processing, in particular pixel analysis is very well suited for GPUs

˃ Reusing existing ENVI and IDL functionality keep cost low and maintains analytical repeatability

˃ Utilizing video card resources like NVIDIA products is a low cost way to get amazingly fast results for big data

5/20/2014

Page 24: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

Thank you!

For Further information please contact [email protected] or [email protected]

5/20/2014

Page 25: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

UPCOMING GTC EXPRESS WEBINARS

May 28: An Introduction to CUDA Programming

June 3: The Next Steps for Folding@home

June 4: Using NVIDIA GPUs for Real-time Data Processing in a

Holographic Radar System

July 16: GPU Architecture & the CUDA Memory Model

August 12: Asynchronous Operations & Dynamic Parallelism in

CUDA

October 16: Essential CUDA Optimization Techniques

www.gputechconf.com

Page 26: Using GPUs to Accelerate Orthorectification, Atmospheric ...on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-exelis... · Graphical Processing Units to Accelerate Orthorectification,

NVIDIA GLOBAL IMPACT AWARD

• $150,000 annual award

• Categories include: disease research, automotive safety, weather prediction

• Submission deadline: Dec. 12, 2014

• Winner announced at GTC 2015

Recognizing groundbreaking work with GPUs in tackling key social and humanitarian problems

impact.nvidia.com