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 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.
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 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.
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. WATERSHED DELINEATION 150mb terrain raster data converted to 5mb custom image data 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 https://www.youtube.com/watch?v=ehgm_0rw1by Marker 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 Remote Interaction MOTION TRACKING 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 WEBGL + GPU RAINFALL PRODUCT DATA BROWSER
http://ifis.iowafloodcenter.org Iowa Flood Information System
Thank you Questions Ibrahim Demir ibrahim-demir @ uiowa.edu http://myweb.uiowa.edu/demir/