Real-Time Geospatial Processing with NVIDIA® GPUs and CUDA...
Transcript of Real-Time Geospatial Processing with NVIDIA® GPUs and CUDA...
March 25, 2014
Srinivas Reddy, CTO [email protected]
The Problem Domain
Geospatial Data-centric
Incredibly large volumes Small but requiring massively intensive
computations Computational analysis Real-time results Uncompromised Speed and Accuracy
The Problem Details Fictional border control example…well, sorta
fictional ;) Drone based system (Self-guided and Self-
tracking) Aware of terrain and structures Producing telemetry and sensor data in real-time Primary responsibility ○ To remain within its host country’s border ○ To autonomously track heat sources deployed in
their zone Alert command center upon acquiring heat source
Real-time processing of data and spatial location of the drone
Current Methods
Database system approach Cost metrics - $1.2 M Not real-time processing Found drift with more information
Current Methods
CPU based systems Cost metrics - $600 k Could NOT maintain true real-time posture
with volume of data to be processed
Hypothesis Develop algorithms on NVIDIA GPUs
Enormous scale GIS operations performed in sub-second times ○ Highly parallelized and deeply pipelined
Increase efficiency Reactive computing (Interactive and real-
time) Enhanced responsiveness
Our Solution Kernels Implemented
Great Circle Distance [Haversine] ○ Accurate to ~ 0.3% ○ Light and simple computations
Vincenty’s Distance ○ Accurate to 0.5mm ○ Slight decrease in speed and more
computationally intensive [Ideal for GPUs]
Our Solution Kernels Implemented
Bearing Midpoint Equi-rectangular approximation Destination point-- given distance and
bearing from start point Intersection of two paths-- given start points
and bearings Cross-track distance
Architecture
Dell R720 2 CPU @ 2.0
GHz each 8 cores each 64 GB
memory
Architecture
NVIDIA K20x x2 3.52 teraflops of
single precision floating point each
2496 CUDA cores each
5 GB GDDR5 memory each
Method CUDA Algorithm on GPUs
Scalable parallel programming model Software environment for parallel computing
Findings CPU/GPU Comparisons
CPU 4 processes: 80-98/sec CPU 8 processes: ~200/sec GPU 1 total process: ~10,000/sec GPU 2 total processes: ~20,000/sec CPU 8 processes/ GPU 2 processes:
~20,400/sec
Implications Biometrics [Fingerprint, Palm, Face, Iris]
Real-time processing for denial of access or suspect alerting against national databases
Big Data Text Analytics Unstructured text--Word and geo-hashing for
content similarity and recommenders Predictive analysis based on unstructured text
content Medical
Near real-time diagnosis and analytic judgments from DNA sampling or blood work
Next Steps Pursue new ideas based on ever-
growing CUDA GIS algorithms Integrate SRIS GIS CUDA algorithms
with alternate database technologies
www.sriscompany.com [email protected]