GPGPU Applications for Hydrological and Atmospheric...

36
Ibrahim Demir for Hydrological and Atmospheric Simulations and Visualizations on the Web GPGPU Applications

Transcript of GPGPU Applications for Hydrological and Atmospheric...

Page 1: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

Ibrahim Demir

for Hydrological and Atmospheric Simulations

and Visualizations on the Web

GPGPU Applications

Page 2: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

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”

Page 3: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

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

Web 3.0 and GPU

Page 4: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

CPU-based Computations

JavaScript (parallel / multi-core)

SIMD.js

ASM.js

GPU-based Computations

WebCL

WebGL

Computing on the Web

Page 5: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

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

JavaScript

Page 6: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

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 Mozilla. 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.

SIMD.js

Page 7: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

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.

ASM.js

Page 8: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

WebCL (Web Computing Language) is a JavaScript binding to OpenCL

for parallel computing within any compatible web browser 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, canvas element and video editing.

WebCL is designed and maintained by the Khronos Group. The completed

specification for WebCL 1.0 was released on March 19, 2014.

WebCL

Page 9: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

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.

WebGL

Page 10: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

GPGPU

Page 11: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

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.

What is GPGPU?

Page 12: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

WATERSHED DELINEATION

40m grid cells – 90m res.

150mb terrain raster data

converted to

5mb custom image data

9 directions

Page 13: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

WATERSHED DELINEATION

INSTANT

OFFLINE

Video

https://www.youtube.com/watch?v=lVMN76sdCrA

Page 14: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

WATERSHED DELINEATION

WEBGL

SHADER

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

Page 15: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

WATERSHED DELINEATION

WEBGL

SHADER

Page 16: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

FLOOD VISUALIZER

• Reflections and refractions• Ambient occlusion• Height-field water simulation• Shadows

Page 17: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

FLOOD VISUALIZER

IMMERSIVE

REALISTIC

Video

https://www.youtube.com/watch?v=vX8UNdM44_c

Page 18: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

DYNAMIC DATA

HIGH-RESOLUTION

FLOW VISUALIZATION

Page 19: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

DYNAMIC DATA

HIGH-RESOLUTION

FLOW VISUALIZATION

Video

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

Page 20: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

Dynamic Objects

Static Objects

Levee/Dam

River System

GAME PHYSICS

VIRTUAL REALITY

Page 21: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

Dynamic Objects

Static Objects

Levee/Dam

River System

GAME PHYSICS

VIRTUAL REALITY

Video

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

Page 22: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

Webcam

Marker

Augmented Projection

AUGMENTED REALITY

MARKER DETECTION

Page 23: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

Augmented Projection

Table

Marker

AUGMENTED REALITY

MARKER DETECTION

Page 24: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

Augmented Projection

Table

Marker

AUGMENTED REALITY

MARKER DETECTION

Video

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

Page 25: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

Distorted Projection of Scene

IMMERSIVE REALITY

HEADS-UP DISPLAY

Page 26: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

Distorted Projection of Scene

IMMERSIVE REALITY

HEADS-UP DISPLAY

Video

https://www.youtube.com/watch?v=tY9QaDHnyAU

Page 27: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

Controls and Interaction

Motion Tracking

Gesture Tracking

Remote

Interaction GESTURE CONTROLS

MOTION TRACKING

Page 28: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

Large Scale Geospatial

Data Visualization

Page 29: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

FLOOD MAP FLIGHT SIMULATOR

3-DIMENSIONAL

REMOTE INTERACTION

Page 30: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

FLOOD MAP FLIGHT SIMULATOR

3-D ENGAGING

REMOTE INTERACTION

Video

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

Page 31: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

Rainfall Maps

Page 32: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

550 hours (2200 steps) of data

RAINFALL & RIVER DRAINAGE

3D PERSPECTIVE VIEW

Page 33: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

550 hours (2200 steps) of data

RAINFALL & RIVER DRAINAGE

3D PERSPECTIVE VIEW

Video

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

Page 34: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

RAINFALL PRODUCT DATA BROWSER

SPECIAL GRID

WEBGL + GPU

Page 35: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

http://ifis.iowafloodcenter.org

Iowa Flood Information System

Page 36: GPGPU Applications for Hydrological and Atmospheric ...on-demand.gputechconf.com/.../s6388...applications.pdfSIMD.js will accelerate a wide range of demanding applications today, including

Thank you

Ibrahim Demir

ibrahim-demir @ uiowa.edu

http://myweb.uiowa.edu/demir/

Questions