GPGPU Applications for Hydrological and Atmospheric Simulations

and Visualizations on the Web

Ibrahim Demir Big Data

 We are collecting and generating data on a petabyte scale (1Pb = 1,000 Tb = 1M Gb)

 Data contains valuable information that can drive insights and discoveries

 It can be difficult to access, manage, and generate knowledge and decisions from this “big data” Web 3.0 and GPU

JS x 100 - Multicore CPU/GPU Big Data Analytics Desktop-like Games Scientific Visualization Image / Video Processing Augmented / Immersive Reality

NVIDIA Titan X – 5760 Cuda Cores 8 TFLOPs compute power Computing on the Web

CPU-based Computations

 JavaScript (parallel / multi-core)

 SIMD.js

 ASM.js

GPU-based Computations

 WebCL

 WebGL JavaScript

Pure JavaScript

50-100x speed improvement

Parallel JavaScript

Web Workers / Multi-core CPU

Background Thread / window-less tab

Distributed volunteer computing applications on the client side SIMD.js

SIMD stands for Single Instruction Multiple Data, and for performing operations on multiple data elements, in parallel.

SIMD.js is a new API being developed by Intel, Google, and . One of the uses of SIMD is to accelerate processing of large arrays of data.

SIMD.js will accelerate a wide range of demanding applications today, including games, video and audio manipulation, scientific simulations, and more, on the web. ASM.js

ASM.JS is a highly optimized subset of JS designed to provide near-native application performance in a browser, and well suited for any computationally intensive task. WebCL

WebCL (Web Computing Language) is a JavaScript binding to OpenCL for within any compatible without plug-ins.

WebCL allows web applications to actualize speed with multi-core CPUs and GPUs; this intends to make computationally intensive programs feasible in the browser, e.g. physics engines, and video editing.

WebCL is designed and maintained by the . The completed specification for WebCL 1.0 was released on March 19, 2014. WebGL

WebGL is a powerful part of the new HTML5 standard, bringing graphics card capabilities directly to the browser.

To get WebGL to perform scientific calculations, simply trick GPU by pretending that it is rendering graphics.

GPU executes Fragment Shader for every pixel of output image after geometry rasterization to calculate resulting colors. For GPGPU calculations, put your functions here, and calculate a new value of a simulation cell represented by a texture pixel. GPGPU What is GPGPU?

The GPGPU is General Purpose computing on GPUs.

GPGPU operates by using graphics methods and primitives to perform general purpose computations.

For example, textures are used as memory, while shaders are programmed to be used as kernels, which are computed on each graphics primitive. 40m grid cells – 90m res.

150mb terrain raster data converted to 5mb custom image data WATERSHED DELINEATION 9 directions Video https://www.youtube.com/watch?v=lVMN76sdCrA

INSTANT

WATERSHED DELINEATION OFFLINE 40m grid cells – 90m resolution

150mb terrain raster data converted to 5mb custom image data 9 directions

Dynamic texture size Data in multi color channels Multi level processing in each iteration

WEBGL

WATERSHED DELINEATION SHADER WEBGL

WATERSHED DELINEATION SHADER FLOOD VISUALIZER

• Reflections and refractions • Ambient occlusion • Height-field water simulation • Shadows Video https://www.youtube.com/watch?v=vX8UNdM44_c

IMMERSIVE

FLOOD VISUALIZER REALISTIC FLOW VISUALIZATION

DYNAMIC DATA

HIGH-RESOLUTION FLOW VISUALIZATION

Video https://www.youtube.com/watch?v=PWY4z-7hOuQ

DYNAMIC DATA

HIGH-RESOLUTION VIRTUAL REALITY

GAME PHYSICS

Levee/Dam

Dynamic Objects

River System Static Objects VIRTUAL REALITY

GAME PHYSICS

Levee/Dam

Video https://www.youtube.com/watch?v=DXrBkjr7nec Dynamic Objects

River System Static Objects Webcam MARKER DETECTION

AUGMENTED REALITY

Augmented Projection

Marker Table

Augmented Projection

Marker

MARKER DETECTION

AUGMENTED REALITY Table

Augmented Projection

Video Marker https://www.youtube.com/watch?v=eHgM_0rw1bY

MARKER DETECTION

AUGMENTED REALITY HEADS-UP DISPLAY

IMMERSIVE REALITY

Distorted Projection of Scene HEADS-UP DISPLAY

IMMERSIVE REALITY

Distorted Projection of Scene

Video https://www.youtube.com/watch?v=tY9QaDHnyAU Controls and Interaction

Gesture Tracking

Motion Tracking

MOTION TRACKING Remote Interaction GESTURE CONTROLS Large Scale Geospatial Data Visualization 3-DIMENSIONAL

FLOOD MAP FLIGHT SIMULATOR REMOTE INTERACTION FLOOD MAP FLIGHT SIMULATOR

Video https://www.youtube.com/watch?v=6ZzLT_8U6fk

3-D ENGAGING

REMOTE INTERACTION Rainfall Maps 550 hours (2200 steps) of data

3D PERSPECTIVE VIEW

RAINFALL & RIVER DRAINAGE 550 hours (2200 steps) of data

Video https://www.youtube.com/watch?v=FhmMAzyd7fI

3D PERSPECTIVE VIEW

RAINFALL & RIVER DRAINAGE SPECIAL GRID RAINFALL PRODUCT DATA BROWSER WEBGL + GPU http://ifis.iowafloodcenter.org

Iowa Flood Information System Thank you Questions

Ibrahim Demir ibrahim-demir @ uiowa.edu http://myweb.uiowa.edu/demir/