Parallel Web Programming
|
|
- Bernice Mason
- 8 years ago
- Views:
Transcription
1 Parallel Web Programming Tobias Groß, Björn Meier Hardware/Software Co-Design, University of Erlangen-Nuremberg May 23, 2013
2 Outline WebGL OpenGL Rendering Pipeline Shader WebCL Motivation Development Design A portable javascript thread library for Ajax applications Ajax Multithread library Web Workers Motivation Programing with Web Workers Load distribution by using Web Workers for a real-time web aaplication May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 2
3 WebGL cross-browser and cross-platform API to create 2D/3D graphics based on OpenGL ES 2.0 uses OpenGL shading language GLSL runs in HTML5 canvas elements low-level API can be simplified by WebGL libraries (three.js, GLGE,...) Matrix libraries May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 3
4 Figure: OpenGL ES 2.0 rendering pipeline[1] May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 4
5 Rendering Pipeline 1. Vertex Shader 2. Triangle assembly 3. Rasterization 4. Fragment Shader Figure: Example for rendering an object. May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 5
6 Shader Vertex Shader receives a single vertex composed of a series of Vertex Attributes produces an output vertex 1:1 mapping from input vertices to output vertices Fragment Shader processes a Fragment from the rasterization process into a set of colors and a single depth value < s c r i p t i d ="2d vertex shader " type ="x shader / x vertex " > a t t r i b u t e vec2 a _ p o s i t i o n ; void main ( ) { g l _ P o s i t i o n = vec4 ( a_position, 0, 1) ; } </ s c r i p t > Figure: vertex shader < s c r i p t i d ="2d fragment shader " type ="x shader / x fragment " > void main ( ) { gl_fragcolor = vec4 ( 0, 1, 0, 1 ) ; / / green } </ s c r i p t > Figure: fragment shader May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 6
7 WebGL is gather system fast for a special purpose lack of flexibility gather read The program will write to a fixed position (like the target fragment position of a fragment shader), but has fast access to arbitrary data sources (textures, uniforms, etc.). scatter write The program receives a stream of input data which it cannot arbitarily address, but can do fast writes to arbitrary memory locations. May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 7
8 Outline WebGL OpenGL Rendering Pipeline Shader WebCL Motivation Development Design A portable javascript thread library for Ajax applications Ajax Multithread library Web Workers Motivation Programing with Web Workers Load distribution by using Web Workers for a real-time web aaplication May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 8
9 Motivation for WebCL increasing number of compute intensive browser applications complex image and audio processing scientific simulations games augmented reality... JavaScript is insufficient use of heterogeneous resources OpenCL kernel vs GLSL shader OpenCL has functionality not available in GLSL shaders Scattered writes Local memory Thread synchronization Atomic memory operations May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 9
10 Development Specification of an JavaScript binding to the Khronos OpenCL standard is still in progress by the Khronos Group. Implementation prototypes Nokia (Firefox extension) Samsung (WebKit) Motorola (NodeJS) May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 10
11 Design for Samsung implementation[2] (Nokia and Motorola are similar) interface above OpenCL (drivers with OpenCL support are required) single WebCL object Error handling: JavaScript-like exception handling mechanism Interoperability with HTML Canvas, Image and Video Elements kernel source code must be part of web page WebGL interoperability May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 11
12 < s c r i p t i d =" square " type ="x k e r nel " > kernel void square ( global f l o a t input, global f l o a t output, const unsigned i n t count ) { i n t i = g e t _ g l o b a l _ i d ( 0 ) ; i f ( i < count ) output [ i ] = i n p u t [ i ] i n p u t [ i ] ; } </ s c r i p t > < s c r i p t > f u n c t i o n getkernel ( i d ) { var k e r n e l S c r i p t = document. getelementbyid ( i d ) ; i f ( k e r n e l S c r i p t === n u l l k e r n e l S c r i p t. type!== " x kernel " ) r e t u r n n u l l ; r e t u r n k e r n e l S c r i p t. f i r s t C h i l d. textcontent ; } </ s c r i p t > < s c r i p t >... var kernelsource = getkernel ( " square " ) ;... program = context. createprogram ( kernelsource ) ; / / B u i l d the program executable program. b u i l d ( device ) ; / / Create the compute k e r n e l i n the program we wish to run kernel = program. createkernel ( " square " ) ;... / / Set the arguments to our compute kernel kernel. setarg ( 0, i n p u t ) ;... queue. enqueuendrangekernel ( kernel, n u l l, globalworksize, localworksize ) ;... </ s c r i p t > May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 12
13 Outline WebGL OpenGL Rendering Pipeline Shader WebCL Motivation Development Design A portable javascript thread library for Ajax applications Ajax Multithread library Web Workers Motivation Programing with Web Workers Load distribution by using Web Workers for a real-time web aaplication May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 13
14 Ajax (Asynchronous JavaScript and XML) asynchronous web applications dynamicly changing web pages Figure: classic web application[7] Figure: Ajax web application[7] Problem: event driven asynchronous programs on a single thread May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 14
15 Multithread library[4][3] Features: JavaScript library concurrent programming with threads preemptive scheduler object-oriented API portability May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 15
16 API Public methods: create stop sleep yield kill Http.get Http.post... f u n c t i o n load ( u r l ) { var th = Thread. create ( nowloading ) ; t r y { var res = Thread. Http. get ( u r l ) ; document. w r i t e ( res. responsetext ) ; } catch ( e ) { document. w r i t e ( "ERROR: " + e ) ; } th. k i l l ( ) ; } f u n c t i o n nowloading ( ) { var bar = [ " ", " / ", " ", " \ " ] ; var i = 0; while ( t r u e ) { window. s t a t u s = "Now loading... " + bar [ i =( i +1) %4]; Thread. sleep (125) ; } } Thread. create ( load, " h t t p : / /... " ) ; Figure: example for the multithread library[3] May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 16
17 Design timesharing the UI-thread for pseudo multithreading program break-up into basic blocks continuation-based multithreading f u n c t i o n f ( ) { var c = getc ( ) ; / / ( ) document. w r i t e ( c, " \ n " ) ; } f u n c t i o n f ( ) { var c = getc ( ) ; f u n c t i o n r e s t ( ) { document. w r i t e ( c, " \ n " ) ; } r e s t ( ) ; } Figure: Original program[7] Figure: Rewriting result[7] trampolined style do { t r y { context = context. c o n t i n u a t i o n. procedure. c a l l ( context. c o n t i n u a t i o n. t h i s _ v a l, context. r e t _ v a l ) ; } catch ( e ) { exception handling } } while ( context. timeout == undefined && time s l i c e remains ) ; Figure: trampoline[7] May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 17
18 Outline WebGL OpenGL Rendering Pipeline Shader WebCL Motivation Development Design A portable javascript thread library for Ajax applications Ajax Multithread library Web Workers Motivation Programing with Web Workers Load distribution by using Web Workers for a real-time web aaplication May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 18
19 Motivation What are Web Workers? extension for JavaScript available in all modern browsers allows to run scripts in the background are relatively heavy-weight high start-up performance cost high per-instance memory cost Why using Web Workers? they allow to write client-side code, that utilize threads, which run in background this threads don t block the frontend (keeps the webpage responsive) you can relocate computing power from server-side to client-side May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 19
20 Example using Web Workers < s c r i p t > var worker = new Worker ( worker. js ) ; worker. onmessage = f u n c t i o n ( event ) { document. getelementbyid ( r e s u l t ). textcontent = event. data ; } ; </ s c r i p t > Figure: compute prime numbers 1 [6] var n = 1; search : while ( t r u e ) { n += 1; f o r ( var i = 2; i <= Math. s q r t ( n ) ; i += 1) i f ( n % i == 0) continue search ; / / found a prime! postmessage ( n ) ; } Figure: compute prime numbers 2 [6] May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 20
21 Web Workers API (extract) Constructors Worker( script.js ) Communication main thread uses postmessage method to communicate with the worker worker handle messages with a onmessage function, which must be implemented communication in other direction uses function postmessage and a messagehandler as well May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 21
22 The web application Initial situation it s a web-based multiplayer online role-playing game every user operates an avatar the avatars interact with other avatars or NPCs to interact, avatars have to move arround the movement is computed depending on forces which affect the avatar Problem Server has to compute forces of all avatars and NPCs the latency has to be smaller than 500 ms this limits the number of avatars a server can handle at once Solution Load distribution from server to client using Web Workers May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 22
23 Program flow with Web Worker Figure: System with Web Worker[5] May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 23
24 Evaluation Figure: Web Worker performance based on browser implementation[5] May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 24
25 Evaluation Figure: CPU Usage of server[5] May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 25
26 Evaluation Figure: Data transfer rate[5] May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 26
27 References I [1] Khronos Group. The standard for embedded accelerated 3d graphics, [Online; accessed 23-Mai-2013]. [2] Won Jeon, Tasneem Brutch, and Simon Gibbs. Webcl for hardware-accelerated web applications [3] Daisuke Maki and Hideya Iwasaki. Javascript multithread framework for asynchronous processing. IPSJ Transactions on Programming, 48:1 18. [4] Daisuke Maki and Hideya Iwasaki. A portable javascript thread library for ajax applications. In Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion, OOPSLA 07, pages , New York, NY, USA, ACM. May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 27
28 References II [5] Shusuke Okamoto and Masaki Kohana. Load distribution by using web workers for a real-time web application. In International Journal of Web Information Systems, pages , [6] W3C. Web workers, [Online; accessed 20-Mai-2013]. [7] Wikipedia. Ajax (programmierung), [Online; accessed 20-Mai-2013]. May 23, 2013 Tobias Groß, Björn Meier Hardware/Software Co-Design Parallel Web Programming 28
Performance Optimization and Debug Tools for mobile games with PlayCanvas
Performance Optimization and Debug Tools for mobile games with PlayCanvas Jonathan Kirkham, Senior Software Engineer, ARM Will Eastcott, CEO, PlayCanvas 1 Introduction Jonathan Kirkham, ARM Worked with
More informationWebCL for Hardware-Accelerated Web Applications. Won Jeon, Tasneem Brutch, and Simon Gibbs
WebCL for Hardware-Accelerated Web Applications Won Jeon, Tasneem Brutch, and Simon Gibbs What is WebCL? WebCL is a JavaScript binding to OpenCL. WebCL enables significant acceleration of compute-intensive
More informationPress Briefing. GDC, March 2014. Neil Trevett Vice President Mobile Ecosystem, NVIDIA President Khronos. Copyright Khronos Group 2014 - Page 1
Copyright Khronos Group 2014 - Page 1 Press Briefing GDC, March 2014 Neil Trevett Vice President Mobile Ecosystem, NVIDIA President Khronos Copyright Khronos Group 2014 - Page 2 Lots of Khronos News at
More informationEnabling OpenCL Acceleration of Web Applications
Enabling OpenCL Acceleration of Web Applications Tasneem Brutch Samsung Electronics Khronos WebCL Working Group Chair LinuxCon Sept. 17, 2013, New Orleans, LA Outline WebCL tutorial, demos and coding examples
More informationIntroduction GPU Hardware GPU Computing Today GPU Computing Example Outlook Summary. GPU Computing. Numerical Simulation - from Models to Software
GPU Computing Numerical Simulation - from Models to Software Andreas Barthels JASS 2009, Course 2, St. Petersburg, Russia Prof. Dr. Sergey Y. Slavyanov St. Petersburg State University Prof. Dr. Thomas
More informationIntroduction to WebGL
Introduction to WebGL Alain Chesnais Chief Scientist, TrendSpottr ACM Past President chesnais@acm.org http://www.linkedin.com/in/alainchesnais http://facebook.com/alain.chesnais Housekeeping If you are
More informationPARALLEL JAVASCRIPT. Norm Rubin (NVIDIA) Jin Wang (Georgia School of Technology)
PARALLEL JAVASCRIPT Norm Rubin (NVIDIA) Jin Wang (Georgia School of Technology) JAVASCRIPT Not connected with Java Scheme and self (dressed in c clothing) Lots of design errors (like automatic semicolon
More informationComputer Graphics on Mobile Devices VL SS2010 3.0 ECTS
Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS Peter Rautek Rückblick Motivation Vorbesprechung Spiel VL Framework Ablauf Android Basics Android Specifics Activity, Layouts, Service, Intent, Permission,
More informationGeo-Scale Data Visualization in a Web Browser. Patrick Cozzi pcozzi@agi.com
Geo-Scale Data Visualization in a Web Browser Patrick Cozzi pcozzi@agi.com About Me Developer Lecturer Author Editor http://www.seas.upenn.edu/~pcozzi/ About Cesium A WebGL virtual globe and map engine
More informationGraphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011
Graphics Cards and Graphics Processing Units Ben Johnstone Russ Martin November 15, 2011 Contents Graphics Processing Units (GPUs) Graphics Pipeline Architectures 8800-GTX200 Fermi Cayman Performance Analysis
More informationA Hybrid Visualization System for Molecular Models
A Hybrid Visualization System for Molecular Models Charles Marion, Joachim Pouderoux, Julien Jomier Kitware SAS, France Sébastien Jourdain, Marcus Hanwell & Utkarsh Ayachit Kitware Inc, USA Web3D Conference
More informationWeb Based 3D Visualization for COMSOL Multiphysics
Web Based 3D Visualization for COMSOL Multiphysics M. Jüttner* 1, S. Grabmaier 1, W. M. Rucker 1 1 University of Stuttgart Institute for Theory of Electrical Engineering *Corresponding author: Pfaffenwaldring
More informationJavaFX Session Agenda
JavaFX Session Agenda 1 Introduction RIA, JavaFX and why JavaFX 2 JavaFX Architecture and Framework 3 Getting Started with JavaFX 4 Examples for Layout, Control, FXML etc Current day users expect web user
More informationGPGPU Computing. Yong Cao
GPGPU Computing Yong Cao Why Graphics Card? It s powerful! A quiet trend Copyright 2009 by Yong Cao Why Graphics Card? It s powerful! Processor Processing Units FLOPs per Unit Clock Speed Processing Power
More informationWeb-Based Enterprise Data Visualization a 3D Approach. Oleg Kachirski, Black and Veatch
Web-Based Enterprise Data Visualization a 3D Approach Oleg Kachirski, Black and Veatch Contents - Introduction - Why 3D? - Applications of 3D - 3D Content Authoring - 3D/4D in GIS - Challenges of Presenting
More informationDevelopment Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin
Development Techniques for Native/Hybrid Tizen Apps Presented by Kirill Kruchinkin Agenda Introduction and Definitions Practices Case Studies 2 Introduction & Definitions 2 App Types Browser Apps Installable
More informationCrosswalk: build world class hybrid mobile apps
Crosswalk: build world class hybrid mobile apps Ningxin Hu Intel Today s Hybrid Mobile Apps Application HTML CSS JS Extensions WebView of Operating System (Tizen, Android, etc.,) 2 State of Art HTML5 performance
More informationOutline. 1.! Development Platforms for Multimedia Programming!
Outline 1.! Development Platforms for Multimedia Programming! 1.1.! Classification of Development Platforms! 1.2.! A Quick Tour of Various Development Platforms! 2.! Multimedia Programming with Python
More informationCSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University
GPU Generations CSE 564: Visualization GPU Programming (First Steps) Klaus Mueller Computer Science Department Stony Brook University For the labs, 4th generation is desirable Graphics Hardware Pipeline
More informationIntroduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science Laboratory University of New Mexico 1 Programming
More informationChapter 2 - Graphics Programming with JOGL
Chapter 2 - Graphics Programming with JOGL Graphics Software: Classification and History JOGL Hello World Program 2D Coordinate Systems in JOGL Dealing with Window Reshaping 3D Coordinate Systems in JOGL
More informationComputer Graphics Hardware An Overview
Computer Graphics Hardware An Overview Graphics System Monitor Input devices CPU/Memory GPU Raster Graphics System Raster: An array of picture elements Based on raster-scan TV technology The screen (and
More informationInstitutionen för systemteknik Department of Electrical Engineering
Institutionen för systemteknik Department of Electrical Engineering Examensarbete 3D Graphics Technologies for Web Applications An Evaluation from the Perspective of a Real World Application Master thesis
More informationBeginning Mobile Application Development in the Cloud
Brochure More information from http://www.researchandmarkets.com/reports/2050480/ Beginning Mobile Application Development in the Cloud Description: Learn how to build apps for mobile devices on Cloud
More informationThe Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA
The Evolution of Computer Graphics Tony Tamasi SVP, Content & Technology, NVIDIA Graphics Make great images intricate shapes complex optical effects seamless motion Make them fast invent clever techniques
More informationVisualizing Data: Scalable Interactivity
Visualizing Data: Scalable Interactivity The best data visualizations illustrate hidden information and structure contained in a data set. As access to large data sets has grown, so has the need for interactive
More informationProgramming 3D Applications with HTML5 and WebGL
Programming 3D Applications with HTML5 and WebGL Tony Parisi Beijing Cambridge Farnham Köln Sebastopol Tokyo Table of Contents Preface ix Part I. Foundations 1. Introduction 3 HTML5: A New Visual Medium
More informationOpen Source Open Possibilities. Vellamo. System Level Benchmarking October 2012. Open Source Open Possibilities PAGE 1
Vellamo System Level Benchmarking October 2012 PAGE 1 Disclaimer Nothing in these materials is an offer to sell any of the components or devices referenced herein. Certain components for use in the U.S.
More informationIntroduction to GPU Programming Languages
CSC 391/691: GPU Programming Fall 2011 Introduction to GPU Programming Languages Copyright 2011 Samuel S. Cho http://www.umiacs.umd.edu/ research/gpu/facilities.html Maryland CPU/GPU Cluster Infrastructure
More informationColor correction in 3D environments Nicholas Blackhawk
Color correction in 3D environments Nicholas Blackhawk Abstract In 3D display technologies, as reviewers will say, color quality is often a factor. Depending on the type of display, either professional
More informationSilverlight for Windows Embedded Graphics and Rendering Pipeline 1
Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline Windows Embedded Compact 7 Technical Article Writers: David Franklin,
More informationL20: GPU Architecture and Models
L20: GPU Architecture and Models scribe(s): Abdul Khalifa 20.1 Overview GPUs (Graphics Processing Units) are large parallel structure of processing cores capable of rendering graphics efficiently on displays.
More informationHow To Understand The Power Of Unity 3D (Pro) And The Power Behind It (Pro/Pro)
Optimizing Unity Games for Mobile Platforms Angelo Theodorou Software Engineer Brains Eden, 28 th June 2013 Agenda Introduction The author ARM Ltd. What do you need to have What do you need to know Identify
More informationHow To Teach Computer Graphics
Computer Graphics Thilo Kielmann Lecture 1: 1 Introduction (basic administrative information) Course Overview + Examples (a.o. Pixar, Blender, ) Graphics Systems Hands-on Session General Introduction http://www.cs.vu.nl/~graphics/
More informationIntroducing PgOpenCL A New PostgreSQL Procedural Language Unlocking the Power of the GPU! By Tim Child
Introducing A New PostgreSQL Procedural Language Unlocking the Power of the GPU! By Tim Child Bio Tim Child 35 years experience of software development Formerly VP Oracle Corporation VP BEA Systems Inc.
More informationResearch on HTML5 in Web Development
Research on HTML5 in Web Development 1 Ch Rajesh, 2 K S V Krishna Srikanth 1 Department of IT, ANITS, Visakhapatnam 2 Department of IT, ANITS, Visakhapatnam Abstract HTML5 is everywhere these days. HTML5
More informationHow to test OpenGL drivers with Free Software
glgenvertexarrays(1, &vao); glbindvertexarray(vao); /* Draw and record */ glbegintransformfeedback(gl_points); gldrawarrays(gl_points, 0, 1); for (i = 0; i < STREAMS; i++) { How to test OpenGL drivers
More informationLets3D: A Collaborative 3D Editing Tool Based On Cloud Storage
, pp.189-198 http://dx.doi.org/10.14257/ijmue.2015.10.9.20 Lets3D: A Collaborative 3D Editing Tool Based On Cloud Storage Yeoun-Ui Ha 1, Jae-Hwan Jin 1 and Myung-Joon Lee 2* Department of Electrical/Electronic
More informationUSING RUST TO BUILD THE NEXT GENERATION WEB BROWSER
USING RUST TO BUILD THE NEXT GENERATION WEB BROWSER Lars Bergstrom Mozilla Research Mike Blumenkrantz Samsung R&D America Why a new web engine? Support new types of applications and new devices All modern
More informationRich Internet Applications
Rich Internet Applications Prepared by: Husen Umer Supervisor: Kjell Osborn IT Department Uppsala University 8 Feb 2010 Agenda What is RIA? RIA vs traditional Internet applications. Why to use RIAs? Running
More informationWebSocket Server. To understand the Wakanda Server side WebSocket support, it is important to identify the different parts and how they interact:
WebSocket Server Wakanda Server provides a WebSocket Server API, allowing you to handle client WebSocket connections on the server. WebSockets enable Web applications (clients) to use the WebSocket protocol
More informationSome Issues on Ajax Invocation
Some Issues on Ajax Invocation I. Introduction AJAX is a set of technologies that together a website to be -or appear to be- highly responsive. This is achievable due to the following natures of AJAX[1]:
More informationTitolo del paragrafo. Titolo del documento - Sottotitolo documento The Benefits of Pushing Real-Time Market Data via a Web Infrastructure
1 Alessandro Alinone Agenda Introduction Push Technology: definition, typology, history, early failures Lightstreamer: 3rd Generation architecture, true-push Client-side push technology (Browser client,
More informationTrends in HTML5. Matt Spencer UI & Browser Marketing Manager
Trends in HTML5 Matt Spencer UI & Browser Marketing Manager 6 Where to focus? Chrome is the worlds leading browser - by a large margin 7 Chrome or Chromium, what s the difference Chromium is an open source
More informationSelenium WebDriver. Gianluca Carbone. Selenium WebDriver 1
Selenium WebDriver Gianluca Carbone Selenium WebDriver 1 Contents What is Selenium? History WebDriver High-Level Architectures Architectural themes Non Functional quality Layers & Javascript Design issues
More informationAn introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0
An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Rational Application Developer, Version 8.0, contains
More information2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT
COMP27112 Computer Graphics and Image Processing 2: Introducing image synthesis Toby.Howard@manchester.ac.uk 1 Introduction In these notes we ll cover: Some orientation how did we get here? Graphics system
More informationNVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA
NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA GFLOPS 3500 3000 NVPRO-PIPELINE Peak Double Precision FLOPS GPU perf improved
More informationProgramming in HTML5 with JavaScript and CSS3
Course 20480B: Programming in HTML5 with JavaScript and CSS3 Course Details Course Outline Module 1: Overview of HTML and CSS This module provides an overview of HTML and CSS, and describes how to use
More informationJenkins XML API and Mobile Devices
Jenkins XML API and Mobile Devices Simone Ardissone Luca Milanesio LMIT Software Ltd. http://www. jenkins-ci.mobi Who we are (1 st guy)! My name is Luca! Founder and Director of LMIT Ltd (UK) the ones
More informationMaking the Most of Existing Public Web Development Frameworks WEB04
Making the Most of Existing Public Web Development Frameworks WEB04 jquery Mobile Write less, do more 2 The jquery Suite UI Overhaul Look and Feel Transitions Interactions Touch, Mouse, Keyboard Don t
More informationHow To Create A Flood Simulator For A Web Browser (For Free)
Interactive Web-based Flood Simulation System for Realistic Experiments of Flooding and Flood Damage Ibrahim Demir Big Data We are generating data on a petabyte scale through observations and modeling
More information4 Understanding. Web Applications IN THIS CHAPTER. 4.1 Understand Web page development. 4.2 Understand Microsoft ASP.NET Web application development
4 Understanding Web Applications IN THIS CHAPTER 4.1 Understand Web page development 4.2 Understand Microsoft ASP.NET Web application development 4.3 Understand Web hosting 4.4 Understand Web services
More informationDynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT
Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT AGENDA 1. Introduction to Web Applications and ASP.net 1.1 History of Web Development 1.2 Basic ASP.net processing (ASP
More informationStep into the Future: HTML5 and its Impact on SSL VPNs
Step into the Future: HTML5 and its Impact on SSL VPNs Aidan Gogarty HOB, Inc. Session ID: SPO - 302 Session Classification: General Interest What this is all about. All about HTML5 3 useful components
More informationANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi
ANDROID PROGRAMMING - INTRODUCTION Roberto Beraldi Introduction Android is built on top of more than 100 open projects, including linux kernel To increase security, each application runs with a distinct
More informationIntroduction to GPGPU. Tiziano Diamanti t.diamanti@cineca.it
t.diamanti@cineca.it Agenda From GPUs to GPGPUs GPGPU architecture CUDA programming model Perspective projection Vectors that connect the vanishing point to every point of the 3D model will intersecate
More informationCross-Platform GP with Organic Vectory BV Project Services Consultancy Services Expertise Markets 3D Visualization Architecture/Design Computing Embedded Software GIS Finance George van Venrooij Organic
More information1 How to Monitor Performance
1 How to Monitor Performance Contents 1.1. Introduction... 1 1.2. Performance - some theory... 1 1.3. Performance - basic rules... 3 1.4. Recognizing some common performance problems... 3 1.5. Monitoring,
More informationA Pipeline From COLLADA to WebGL for Skeletal Animation
A Pipeline From COLLADA to WebGL for Skeletal Animation Jeffery McRiffey, Ralph M. Butler, and Chrisila C. Pettey Computer Science Department, Middle Tennessee State University, Murfreesboro, TN, USA Abstract
More informationGR.jl Plotting for Julia based on GR
Member of the Helmholtz Association GR.jl Plotting for Julia based on GR June 24 th 28 th, 2015 Massachusetts Institute of Technology, Cambridge, Massachusetts JuliaCon 2015 Josef Heinen @josef_heinen
More informationOpenGL Insights. Edited by. Patrick Cozzi and Christophe Riccio
OpenGL Insights Edited by Patrick Cozzi and Christophe Riccio Browser Graphics Analysis and Optimizations 36 Chris Dirks and Omar A. Rodriguez 36.1 Introduction Understanding performance bottlenecks in
More informationNext Generation GPU Architecture Code-named Fermi
Next Generation GPU Architecture Code-named Fermi The Soul of a Supercomputer in the Body of a GPU Why is NVIDIA at Super Computing? Graphics is a throughput problem paint every pixel within frame time
More informationHTML5 the new. standard for Interactive Web
WHITE PAPER HTML the new standard for Interactive Web by Gokul Seenivasan, Aspire Systems HTML is everywhere these days. Whether desktop or mobile, windows or Mac, or just about any other modern form factor
More informationWriting Applications for the GPU Using the RapidMind Development Platform
Writing Applications for the GPU Using the RapidMind Development Platform Contents Introduction... 1 Graphics Processing Units... 1 RapidMind Development Platform... 2 Writing RapidMind Enabled Applications...
More informationAdding Panoramas to Google Maps Using Ajax
Adding Panoramas to Google Maps Using Ajax Derek Bradley Department of Computer Science University of British Columbia Abstract This project is an implementation of an Ajax web application. AJAX is a new
More informationRecent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005
Recent Advances and Future Trends in Graphics Hardware Michael Doggett Architect November 23, 2005 Overview XBOX360 GPU : Xenos Rendering performance GPU architecture Unified shader Memory Export Texture/Vertex
More informationAn evaluation of JavaFX as 2D game creation tool
An evaluation of JavaFX as 2D game creation tool Abstract With the current growth in the user experience,and the existence of multiple publishing platforms, the investigation of new game creation tools
More informationTiers of Web Programming - case of weborigami - Tetsuo Ida Department of Computer Science University of Tsukuba Japan
Tiers of Web Programming - case of weborigami - Tetsuo Ida Department of Computer Science University of Tsukuba Japan Contributions from Bruno Buchberger Fadoua Ghourabi Assem Kasem Mircea Marin Judit
More informationShader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group
Shader Model 3.0 Ashu Rege NVIDIA Developer Technology Group Talk Outline Quick Intro GeForce 6 Series (NV4X family) New Vertex Shader Features Vertex Texture Fetch Longer Programs and Dynamic Flow Control
More informationGPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith
GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series By: Binesh Tuladhar Clay Smith Overview History of GPU s GPU Definition Classical Graphics Pipeline Geforce 6 Series Architecture Vertex
More informationFront-End Performance Testing and Optimization
Front-End Performance Testing and Optimization Abstract Today, web user turnaround starts from more than 3 seconds of response time. This demands performance optimization on all application levels. Client
More informationAbstractions from Multimedia Hardware. Libraries. Abstraction Levels
Abstractions from Multimedia Hardware Chapter 2: Basics Chapter 3: Multimedia Systems Communication Aspects and Services Chapter 4: Multimedia Systems Storage Aspects Chapter 5: Multimedia Usage and Applications
More informationProgrammable Graphics Hardware
Programmable Graphics Hardware Alessandro Martinelli alessandro.martinelli@unipv.it 6 November 2011 Rendering Pipeline (6): Programmable Graphics Hardware Rendering Architecture First Rendering Pipeline
More informationOpenGL ES Safety-Critical Profile Philosophy
OpenGL ES Safety-Critical Profile Philosophy Claude Knaus July 5th, 2004 OpenGL is a registered trademark, and OpenGL ES is a trademark, of Silicon Graphics, Inc. 1 1 Overview The Safety-Critical profile
More informationTable of contents. HTML5 Data Bindings SEO DMXzone
Table of contents Table of contents... 1 About HTML5 Data Bindings SEO... 2 Features in Detail... 3 The Basics: Insert HTML5 Data Bindings SEO on a Page and Test it... 7 Video: Insert HTML5 Data Bindings
More informationInteractive visualization of big data
University of West Bohemia, section of Geomatics jezekjan@kma.zcu.cz September 15, 2015 There are many systems that collect continuous data of various phenomenons in time. Collected data often exceed the
More informationLearning HTML5 Game Programming
Learning HTML5 Game Programming A Hands-on Guide to Building Online Games Using Canvas, SVG, and WebGL James L. Williams AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York
More informationXML3D Interactive 3D Graphics for the Web
XML3D Interactive 3D Graphics for the Web Kristian Sons DFKI Saarbru cken Felix Klein Saarland University Dmitri Rubinstein DFKI Saarbru cken Saarland University Sergiy Byelozyorov Saarland University
More informationThe Future Of Animation Is Games
The Future Of Animation Is Games 王 銓 彰 Next Media Animation, Media Lab, Director cwang@1-apple.com.tw The Graphics Hardware Revolution ( 繪 圖 硬 體 革 命 ) : GPU-based Graphics Hardware Multi-core (20 Cores
More informationHardware design for ray tracing
Hardware design for ray tracing Jae-sung Yoon Introduction Realtime ray tracing performance has recently been achieved even on single CPU. [Wald et al. 2001, 2002, 2004] However, higher resolutions, complex
More informationMaking Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association
Making Multicore Work and Measuring its Benefits Markus Levy, president EEMBC and Multicore Association Agenda Why Multicore? Standards and issues in the multicore community What is Multicore Association?
More informationOptimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August
Optimizing Unity Games for Mobile Platforms Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August Agenda Introduction The author and ARM Preliminary knowledge Unity Pro, OpenGL ES 3.0 Identify
More informationStream Processing on GPUs Using Distributed Multimedia Middleware
Stream Processing on GPUs Using Distributed Multimedia Middleware Michael Repplinger 1,2, and Philipp Slusallek 1,2 1 Computer Graphics Lab, Saarland University, Saarbrücken, Germany 2 German Research
More informationLecture Notes, CEng 477
Computer Graphics Hardware and Software Lecture Notes, CEng 477 What is Computer Graphics? Different things in different contexts: pictures, scenes that are generated by a computer. tools used to make
More informationWeb Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence
Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence Brief Course Overview An introduction to Web development Server-side Scripting Web Servers PHP Client-side Scripting HTML & CSS JavaScript &
More informationSYCL for OpenCL. Andrew Richards, CEO Codeplay & Chair SYCL Working group GDC, March 2014. Copyright Khronos Group 2014 - Page 1
SYCL for OpenCL Andrew Richards, CEO Codeplay & Chair SYCL Working group GDC, March 2014 Copyright Khronos Group 2014 - Page 1 Where is OpenCL today? OpenCL: supported by a very wide range of platforms
More informationDATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER
DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER RAMA HOETZLEIN, DEVELOPER TECHNOLOGY, NVIDIA Data Visualizations assist humans with data analysis by representing information
More informationIntroduction to Computer Graphics
Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 torsten@sfu.ca www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics
More informationMobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013
Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone
More informationClient-side Web Engineering From HTML to AJAX
Client-side Web Engineering From HTML to AJAX SWE 642, Spring 2008 Nick Duan 1 What is Client-side Engineering? The concepts, tools and techniques for creating standard web browser and browser extensions
More informationGetting more out of Matplotlib with GR
Member of the Helmholtz Association Getting more out of Matplotlib with GR July 20 th 26 th, 2015 Bilbao EuroPython 2015 Josef Heinen @josef_heinen Visualization needs visualize and analyzing two- and
More informationWebGL Massively Multiplayer Online Game
WebGL Massively Multiplayer Online Game Student Gianni Chen giannic@seas.upenn.edu Advisor Professor Norm Badler badler@seas.upenn.edu Advisor Aline Normoyle alinen@seas.upenn.edu Figure 1: Hexmki, HexGL
More informationCLOUD GAMING WITH NVIDIA GRID TECHNOLOGIES Franck DIARD, Ph.D., SW Chief Software Architect GDC 2014
CLOUD GAMING WITH NVIDIA GRID TECHNOLOGIES Franck DIARD, Ph.D., SW Chief Software Architect GDC 2014 Introduction Cloud ification < 2013 2014+ Music, Movies, Books Games GPU Flops GPUs vs. Consoles 10,000
More informationSoftware Requirements Specification For Real Estate Web Site
Software Requirements Specification For Real Estate Web Site Brent Cross 7 February 2011 Page 1 Table of Contents 1. Introduction...3 1.1. Purpose...3 1.2. Scope...3 1.3. Definitions, Acronyms, and Abbreviations...3
More information3D Graphics and Cameras
3D Graphics and Cameras Kari Pulli Senior Director Overview OpenGL ES 1.x OpenGL ES 2.0 WebGL OpenCV FCam All examples on this session on Android OpenGL: Project vertices to camera connect them to triangles
More informationImage Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg
Image Processing and Computer Graphics Rendering Pipeline Matthias Teschner Computer Science Department University of Freiburg Outline introduction rendering pipeline vertex processing primitive processing
More informationGame Development in Android Disgruntled Rats LLC. Sean Godinez Brian Morgan Michael Boldischar
Game Development in Android Disgruntled Rats LLC Sean Godinez Brian Morgan Michael Boldischar Overview Introduction Android Tools Game Development OpenGL ES Marketing Summary Questions Introduction Disgruntled
More information1 How to Monitor Performance
1 How to Monitor Performance Contents 1.1. Introduction... 1 1.1.1. Purpose of this How To... 1 1.1.2. Target Audience... 1 1.2. Performance - some theory... 1 1.3. Performance - basic rules... 3 1.4.
More informationLoad Testing RIA using WebLOAD. Amir Shoval, VP Product Management amirs@radview.com
Load Testing RIA using WebLOAD Amir Shoval, VP Product Management amirs@radview.com Agenda Introduction to performance testing Introduction to WebLOAD Load testing Rich Internet Applications 2 Introduction
More information