SOC Programming Tutorial Hot Chips 2012 Neil Trevett Khronos President

Total Page:16

File Type:pdf, Size:1020Kb

SOC Programming Tutorial Hot Chips 2012 Neil Trevett Khronos President SOC Programming Tutorial Hot Chips 2012 Neil Trevett Khronos President © Copyright Khronos Group 2012 | Page 1 Welcome! • An exploration of SOC capabilities from the programmer’s perspective - How is mobile silicon interfacing to mobile apps? • Overview of acceleration APIs on today’s mobile OS - And how they can be used to optimize performance and power • Focus on mobile innovation hotspots - Vision and gesture processing, Augmented Reality, Sensor Fusion, Computational Photography, 3D Graphics • Highlight silicon-level opportunities and challenges still be to solved - While exploring the state of the art in mobile programming SOC = ‘System On Chip’ Minus memory and some peripherals © Copyright Khronos Group 2012 | Page 2 Speakers Session Speaker Company Title Connecting Mobile SOC Hardware to Apps Neil Trevett Khronos Khronos President and NVIDIA VP of Mobile Content Break Break Camera and Video Sean Mao ArcSoft VP Marketing, Advanced Imaging Technologies Vision and Gesture Processing Itay Katz Eyesight Co-Founder & CTO Augmented Reality Ben Blachnitzky Metaio Director of R&D Sensor Fusion Jim Steele Sensor Platforms VP Engineering 3D Gaming Daniel Wexler the11ers CXO Panel Session All Speakers © Copyright Khronos Group 2012 | Page 3 Khronos Connects Software to Silicon • Khronos APIs define processor acceleration capabilities - Graphics, video, audio, compute, vision and sensor processing APIs developed today define the functionality of platforms and devices tomorrow © Copyright Khronos Group 2012 | Page 4 APIs BY the Industry FOR the Industry • Khronos defines APIs at the software silicon interface - Low-level “Foundation” functionality needed on every platform • Khronos standards have strong industry momentum - 100s of man years invested by industry experts - Shipping on billions of devices across multiple operating systems - Rigorous conformance tests for cross-vendor consistency • Khronos is OPEN for any company to join and participate - Standards are cooperative – one company, one vote - Proven legal and IP framework for industry cooperation - Khronos membership fees to cover expenses • Khronos standards are FREE to use - Members agree to not request royalties Silicon Software © Copyright Khronos Group 2012 | Page 5 Apple Over 100 members – any company worldwide is welcome to join Board of Promoters © Copyright Khronos Group 2012 | Page 6 API Standards Evolution WEB INTEROP, VISION MOBILE AND SENSORS DESKTOP OpenVL New API technology first evolves on high- Mobile is the new platform for Apps embrace mobility’s end platforms apps innovation. Mobile unique strengths and need Diverse platforms – mobile, TV, APIs unlock hardware and complex, interoperating APIs embedded – means HTML5 will conserve battery life with rich sensory inputs become increasingly important e.g. Augmented Reality as a universal app platform © Copyright Khronos Group 2012 | Page 7 A New Era in Computing Mobile PC Internet Computing 1990’s 2000’s 2010’s © Copyright Khronos Group 2012 | Page 8 20 Years Faster to 100M Per Year 140 Cumulative Shipments 120 iOS & Android MacOS & Windows 100 80 60 40 Units in Millions Millions in Units 20 0 Year 1 Year 2 Year 3 Year 4 Year 5 Year 6 Year 7 Year 8 Year 9 Source: Gartner, Apple, NVIDIA © Copyright Khronos Group 2012 | Page 9 The Largest Device Market Ever • IDC - 1.8 billion mobile phones will ship in 2012 - By the end of 2016, 2.3 billion mobile phones will ship per year Smart phones account for approximately half of total phone market © Copyright Khronos Group 2012 | Page 10 Global Smartphone Market Share Windows Mobile/Phone © Copyright Khronos Group 2012 | Page 11 ARM is Licensable and Pervasive 14 12 ARM 10 x86 8 Units in Billions 6 Annual Shipments (Billions) 4 2 0 2005 2006 2007 2008 2009 2010 2011 2012e 2013e 2014e 2015e Source: ARM, Mercury Research © Copyright Khronos Group 2012 | Page 12 Mobile Performance Increases 100 75x STARK 50x LOGAN WAYNE 10 10x Core i5 5x Tegra 3 (KAL-EL) Core 2 Duo CPU/GPU AGGREGATE PERFORMANCE AGGREGATE CPU/GPU TEGRA 2 1 2011 2012 2013 2014 2010 © Copyright Khronos Group 2012 | Page 13 Power is the New Design Limit • The Process Fairy keeps bringing more transistors - Transistors are getting cheaper • The End of Voltage Scaling - The Process Fairy isn’t helping as much on power as in the past In the Good Old Days The New Reality Leakage was not important, and voltage scaled Leakage has limited threshold voltage, largely with feature size ending voltage scaling L’ = L/ L’ = L/ V’ = V/ V’ = ~V E’ = CV2 = E/8 E’ = CV2 = E/2 f’ = f f’ = ~2f D’ = /L2 = 4D D’ = /L2 = 4D P’ = P P’ = 4P Halve L and get 4x the transistors and 8x Halve L and get 4x the transistors and 8x the capability for the capability for the same power 4x the power!! © Copyright Khronos Group 2012 | Page 14 Mobile Thermal Design Point 10” Screen takes 1-2W Resolution makes a difference! 7” Screen The iPad3 screen takes up to 8W 4-5” Screen takes takes 1W 250-500mW 2-4W 4-7W 6-10W 30-90W Max system power before thermal failure Even as battery technology improves - these thermal limits remain © Copyright Khronos Group 2012 | Page 15 Apps and Power Write 32-bits to LP-DDR2 600pJ • Much more expensive to MOVE data than COMPUTE data Send 32-bits Off-chip 50pJ • Process improvements WIDEN the gap - 10nm process will increase ratio another 4X • Energy efficiency must be key metric during silicon AND app design Send 32-bits 2mm - Awareness of where data lives, where 24pJ computation happens, how is it scheduled 32-bit Float Operation For 40nm, 7pJ 1V process 32-bit Integer Add 1pJ 32-bit Register Write 0.5pJ © Copyright Khronos Group 2012 | Page 16 Energy Optimization Opportunities • Dark Silicon - Lots of space for transistors – just can’t turn them all on at same time - Multiple specialized hardware units that are only turned on when needed - Increase locality and parallelism of computation to save power compared to programmable processors • Dynamic and feedback-driven software power optimization - Instrumentation for energy-aware compilers and profilers - Most compilers just look at one thread, take a more global view - Power optimizing compiler back-end / installers • Smart, holistic use of sensors and peripherals - Wireless modems and networks - Motion sensors, cameras, networking, GPS © Copyright Khronos Group 2012 | Page 17 Camera Sensor Processing • CPU - Single processor or Neon SIMD - Makes heavy use of general memory - Non-optimal performance and power • GPU - Many way parallelism - Efficient image caching into general memory - Programmable and flexible - Still significant use of cache/memory • Camera ISP = Image Signal Processor - Scan-line-based - Data flows through compact hardware pipe - No global memory used to minimize power - Little or no programmability © Copyright Khronos Group 2012 | Page 18 Typical Camera ISP • ~760 math Ops • Computational photography apps beginning to mix non-programmable ISP processing with • ~42K vals = 670Kb more flexible GPU or CPU processing • 300MHz ~250Gops • ISP pipelines could provide tap/insertion points to/from CPU/GPU at critical pipeline points 2 MADs 1 Mul 9 MADs 50 MADs 6 MADs 2 I/O reg 2 I/O reg 2 I/O reg 300 vals 6 I/O reg 256 LUT 4 vals 9 vals 3*256 LUT 1 adder 12 MADs 9 MADs 9 MADs 100 MADs 40M 75 MADs 9 MADs 2 I/O reg 2 I/O reg 2 I/O reg 6 I/O reg 400 vals vals 300 vals 2 I/O reg 4 vals 400 vals 9 vals 9 vals 9 vals 100 MADs 100 vals Black While Raw Level Bal. Offset Gain Bayer Sharp Luma + NR -1 YUV Contr. Yuv Yuv 12 Luma (Y) 12 12 12 Gamma Linearize Flatfield Early Demosaicer 3x3 Color Color Color LUT 12 Signal Image x De- Color Matrix Matrix 12 12 Matrix - S14 Non-Linear 12 S12 S12 S14 noising 12 Matrix 12 Chroma Linear Non-linear Linear Sat. sRGB sRGB Yuv 12 12 NR 12 12 camera sRGB Chroma (uv) RGB n-Rows line buffer © Copyright Khronos Group 2012 | Page 19 Programmers View of Typical SOC c. 2012 Unified memory is CPU Complex Automatic scaling of critical departure from 1-5 Cortex A9/A15 Cores frequency/voltage and # cores to meet PC architecture L1 Cache Software current software load configurability Common virtual L2 Cache HD Audio address space for all units – but typically Engine / IO not coherent Peripheral Sensor Unified Busses Array 2D/3D GPU Graphics Memory Cache Complex Controller for 1-4 Display 0.5-2GB DDR3L/LP-DDR3 Controllers Significant programmable acceleration. OpenGL ES today. OpenCL soon. 10-50+ cores Image Video Vision Signal Encoder Processor Processor Decoder (Future) Programmable? Or dedicated Software Typically NO or very limited hardware for power efficiency? programmable functionality 1-3 Cameras configurability © Copyright Khronos Group 2012 | Page 20 HSA Feature Roadmap Heterogeneous System Architecture Foundation: AMD, ARM, Imagination, TI, MediaTek Physical Optimized Architectural System Integration Platforms Integration Integration Unified Address Integrate CPU & GPU GPU Compute C++ GPU compute Space for CPU and in silicon support context switch GPU GPU uses pageable Unified Memory User mode GPU graphics system memory via Controller scheduling pre-emption CPU pointers Common Bi-Directional Power Fully coherent Manufacturing Mgmt between CPU memory between Quality of Service Technology and GPU CPU & GPU Time Current Innovation © Copyright Khronos Group 2012 | Page 21 Mobile Innovation Hot Spots • New platform capabilities being driven by SILICON and APIs Vision - Camera as sensor Computational Photography Console-Class 3D Gesture Processing Performance, Quality, Augmented Reality Controllers and TV connectivity • Media
Recommended publications
  • GLSL 4.50 Spec
    The OpenGL® Shading Language Language Version: 4.50 Document Revision: 7 09-May-2017 Editor: John Kessenich, Google Version 1.1 Authors: John Kessenich, Dave Baldwin, Randi Rost Copyright (c) 2008-2017 The Khronos Group Inc. All Rights Reserved. This specification is protected by copyright laws and contains material proprietary to the Khronos Group, Inc. It or any components may not be reproduced, republished, distributed, transmitted, displayed, broadcast, or otherwise exploited in any manner without the express prior written permission of Khronos Group. You may use this specification for implementing the functionality therein, without altering or removing any trademark, copyright or other notice from the specification, but the receipt or possession of this specification does not convey any rights to reproduce, disclose, or distribute its contents, or to manufacture, use, or sell anything that it may describe, in whole or in part. Khronos Group grants express permission to any current Promoter, Contributor or Adopter member of Khronos to copy and redistribute UNMODIFIED versions of this specification in any fashion, provided that NO CHARGE is made for the specification and the latest available update of the specification for any version of the API is used whenever possible. Such distributed specification may be reformatted AS LONG AS the contents of the specification are not changed in any way. The specification may be incorporated into a product that is sold as long as such product includes significant independent work developed by the seller. A link to the current version of this specification on the Khronos Group website should be included whenever possible with specification distributions.
    [Show full text]
  • Computer Graphics on Mobile Devices
    Computer Graphics on Mobile Devices Bruno Tunjic∗ Vienna University of Technology Figure 1: Different mobile devices available on the market today. Image courtesy of ASU [ASU 2011]. Abstract 1 Introduction Computer graphics hardware acceleration and rendering techniques Under the term mobile device we understand any device designed have improved significantly in recent years. These improvements for use in mobile context [Marcial 2010]. In other words this term are particularly noticeable in mobile devices that are produced in is used for devices that are battery-powered and therefore physi- great amounts and developed by different manufacturers. New tech- cally movable. This group of devices includes mobile (cellular) nologies are constantly developed and this extends the capabilities phones, personal media players (PMP), personal navigation devices of such devices correspondingly. (PND), personal digital assistants (PDA), smartphones, tablet per- sonal computers, notebooks, digital cameras, hand-held game con- soles and mobile internet devices (MID). Figure 1 shows different In this paper, a review about the existing and new hardware and mobile devices available on the market today. Traditional mobile software, as well as a closer look into some of the most important phones are aimed at making and receiving telephone calls over a revolutionary technologies, is given. Special emphasis is given on radio link. PDAs are personal organizers that later evolved into de- new Application Programming Interfaces (API) and rendering tech- vices with advanced units communication, entertainment and wire- niques that were developed in recent years. A review of limitations less capabilities [Wiggins 2004]. Smartphones can be seen as a that developers have to overcome when bringing graphics to mobile next generation of PDAs since they incorporate all its features but devices is also provided.
    [Show full text]
  • Report of Contributions
    X.Org Developers Conference 2020 Report of Contributions https://xdc2020.x.org/e/XDC2020 X.Org Developer … / Report of Contributions State of text input on Wayland Contribution ID: 1 Type: not specified State of text input on Wayland Wednesday, 16 September 2020 20:15 (5 minutes) Between the last impromptu talk at GUADEC 2018, text input on Wayland has become more organized and more widely adopted. As before, the three-pronged approach of text_input, in- put_method, and virtual keyboard still causes confusion, but increased interest in implementing it helps find problems and come closer to something that really works for many usecases. The talk will mention how a broken assumption causes a broken protocol, and why we’re notdone with Wayland input methods yet. It’s recommended to people who want to know more about the current state of input methods on Wayland. Recommended background: aforementioned GUADEC talk, wayland-protocols reposi- tory, my blog: https://dcz_self.gitlab.io/ Code of Conduct Yes GSoC, EVoC or Outreachy No Primary author: DCZ, Dorota Session Classification: Demos / Lightning talks I Track Classification: Lightning Talk September 30, 2021 Page 1 X.Org Developer … / Report of Contributions IGT GPU Tools 2020 Update Contribution ID: 2 Type: not specified IGT GPU Tools 2020 Update Wednesday, 16 September 2020 20:00 (5 minutes) Short update on IGT - what has changed in the last year, where are we right now and what we have planned for the near future. IGT GPU Tools is a collection of tools and tests aiding development of DRM drivers. It’s widely used by Intel in its public CI system.
    [Show full text]
  • Vector Screencast
    Charles University in Prague Faculty of Mathematics and Physics BACHELOR THESIS Simonˇ Rozs´ıval Vektorov´yscreencast Department of Distributed and Dependable Systems Supervisor of the bachelor thesis: Mgr. Martin Dˇeck´y Study programme: Computer science Specialization: Programming and software systems Prague 2015 I would like to thank my supervisor, Martin Dˇeck´y, for his valuable pieces of advice, and Otakar J´ıcha from Khanova ˇskola, for the idea of this project and for lending me a graphics tablet for testing. I would also like to thank my family and friends for supporting me during my studies. I declare that I carried out this bachelor thesis independently, and only with the cited sources, literature and other professional sources. I understand that my work relates to the rights and obligations under the Act No. 121/2000 Coll., the Copyright Act, as amended, in particular the fact that the Charles University in Prague has the right to conclude a license agreement on the use of this work as a school work pursuant to Section 60 paragraph 1 of the Copyright Act. In ........ date ............ signature of the author N´azev pr´ace: Vektorov´yscreencast Autor: Simonˇ Rozs´ıval Katedra: Katedra distribuovan´ych a spolehliv´ych syst´em˚u Vedouc´ıbakal´aˇrsk´epr´ace: Mgr. Martin Dˇeck´y Abstrakt: C´ılem bakal´aˇrsk´epr´ace je vytvoˇrit software pro z´aznam a pˇrehr´av´an´ı v´yukov´ych vide´ıpro potˇreby Khanovy ˇskoly. Na rozd´ılod bˇeˇzn´ych vide´ınejsou obrazov´adata uloˇzena ve formˇebitmap, ale jako vektory, coˇz umoˇzn´ısn´ıˇzit da- tovou n´aroˇcnost a vykreslit obraz ostˇre pˇri libovolnˇevelk´em rozliˇsen´ıobrazovky uˇzivatele.
    [Show full text]
  • Browser MMS Email OMA DL Codecs
    Solutions for OEM, ODM and Platform manufacturers Page 1 www.winwap.com Browser MMS Email OMA DL Codecs Page 2 Applications for connected consumer devices WEB Browser . 4 MMS Client . 8 Email Client . 11 OMA Download Agent . 16 Multimedia Codecs by On2 . 17 About Winwap Technologies. 18 OEM SOLUTIONS Page 3 WEB & WAP Browser Apps with open User-Interface The core functionality is built into the SDK. Keep one look and feel for your entire device Only a simple browser frame UI is required as most action takes place The Winwap MMS, Email, Browser and OMA DL solutions for most within the actual browser engine, but you platforms are dividied into SDK and User-Interface parts. The SDK is can design any UI provided in binary object code and provides the core functionality for yourself. each application. The User-Interface can optionally be provided as source code for easy integration and customization. Integrate the applications seamlessly into your device. Email Client The SDK’s support both touch and non-touch methods. Licensing are terms adjusted to fit your business model. All the complex POP and IMAP functionality as Get quick integration support from the same guys that well as folder handling has been integrated into have developed the softare. this very sofisticated SDK. The UI can as with Interoperable on a global scale thanks to over 10 years MMS be designed to look of development. any way you like and this allows you to integrate into widgets and any other part of your specific device solution to add Device integration is simple and allows to customize the value to the product.
    [Show full text]
  • Implementing FPGA Design with the Opencl Standard
    Implementing FPGA Design with the OpenCL Standard WP-01173-3.0 White Paper Utilizing the Khronos Group’s OpenCL™ standard on an FPGA may offer significantly higher performance and at much lower power than is available today from hardware architectures such as CPUs, graphics processing units (GPUs), and digital signal processing (DSP) units. In addition, an FPGA-based heterogeneous system (CPU + FPGA) using the OpenCL standard has a significant time-to-market advantage compared to traditional FPGA development using lower level hardware description languages (HDLs) such as Verilog or VHDL. 1 OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos. Introduction The initial era of programmable technologies contained two different extremes of programmability. As illustrated in Figure 1, one extreme was represented by single core CPU and digital signal processing (DSP) units. These devices were programmable using software consisting of a list of instructions to be executed. These instructions were created in a manner that was conceptually sequential to the programmer, although an advanced processor could reorder instructions to extract instruction-level parallelism from these sequential programs at run time. In contrast, the other extreme of programmable technology was represented by the FPGA. These devices are programmed by creating configurable hardware circuits, which execute completely in parallel. A designer using an FPGA is essentially creating a massively- fine-grained parallel application. For many years, these extremes coexisted with each type of programmability being applied to different application domains. However, recent trends in technology scaling have favored technologies that are both programmable and parallel. Figure 1.
    [Show full text]
  • Comparison of Technologies for General-Purpose Computing on Graphics Processing Units
    Master of Science Thesis in Information Coding Department of Electrical Engineering, Linköping University, 2016 Comparison of Technologies for General-Purpose Computing on Graphics Processing Units Torbjörn Sörman Master of Science Thesis in Information Coding Comparison of Technologies for General-Purpose Computing on Graphics Processing Units Torbjörn Sörman LiTH-ISY-EX–16/4923–SE Supervisor: Robert Forchheimer isy, Linköpings universitet Åsa Detterfelt MindRoad AB Examiner: Ingemar Ragnemalm isy, Linköpings universitet Organisatorisk avdelning Department of Electrical Engineering Linköping University SE-581 83 Linköping, Sweden Copyright © 2016 Torbjörn Sörman Abstract The computational capacity of graphics cards for general-purpose computing have progressed fast over the last decade. A major reason is computational heavy computer games, where standard of performance and high quality graphics con- stantly rise. Another reason is better suitable technologies for programming the graphics cards. Combined, the product is high raw performance devices and means to access that performance. This thesis investigates some of the current technologies for general-purpose computing on graphics processing units. Tech- nologies are primarily compared by means of benchmarking performance and secondarily by factors concerning programming and implementation. The choice of technology can have a large impact on performance. The benchmark applica- tion found the difference in execution time of the fastest technology, CUDA, com- pared to the slowest, OpenCL, to be twice a factor of two. The benchmark applica- tion also found out that the older technologies, OpenGL and DirectX, are compet- itive with CUDA and OpenCL in terms of resulting raw performance. iii Acknowledgments I would like to thank Åsa Detterfelt for the opportunity to make this thesis work at MindRoad AB.
    [Show full text]
  • Slang: Language Mechanisms for Extensible Real-Time Shading Systems
    Slang: language mechanisms for extensible real-time shading systems YONG HE, Carnegie Mellon University KAYVON FATAHALIAN, Stanford University TIM FOLEY, NVIDIA Designers of real-time rendering engines must balance the conicting goals and GPU eciently, and minimizing CPU overhead using the new of maintaining clear, extensible shading systems and achieving high render- parameter binding model oered by the modern Direct3D 12 and ing performance. In response, engine architects have established eective de- Vulkan graphics APIs. sign patterns for authoring shading systems, and developed engine-specic To help navigate the tension between performance and maintain- code synthesis tools, ranging from preprocessor hacking to domain-specic able/extensible code, engine architects have established eective shading languages, to productively implement these patterns. The problem is design patterns for authoring shading systems, and developed code that proprietary tools add signicant complexity to modern engines, lack ad- vanced language features, and create additional challenges for learning and synthesis tools, ranging from preprocessor hacking, to metapro- adoption. We argue that the advantages of engine-specic code generation gramming, to engine-proprietary domain-specic languages (DSLs) tools can be achieved using the underlying GPU shading language directly, [Tatarchuk and Tchou 2017], for implementing these patterns. For provided the shading language is extended with a small number of best- example, the idea of shader components [He et al. 2017] was recently practice principles from modern, well-established programming languages. presented as a pattern for achieving both high rendering perfor- We identify that adding generics with interface constraints, associated types, mance and maintainable code structure when specializing shader and interface/structure extensions to existing C-like GPU shading languages code to coarse-grained features such as a surface material pattern or enables real-time renderer developers to build shading systems that are a tessellation eect.
    [Show full text]
  • Webgl™ Optimizations for Mobile
    WebGL™ Optimizations for Mobile Lorenzo Dal Col Senior Software Engineer, ARM 1 Agenda 1. Introduction to WebGL™ on mobile . Rendering Pipeline . Locate the bottleneck 2. Performance analysis and debugging tools for WebGL . Generic optimization tips 3. PlayCanvas experience . WebGL Inspector 4. Use case: PlayCanvas Swooop . ARM® DS-5 Streamline . ARM Mali™ Graphics Debugger 5. Q & A 2 Bring the Power of OpenGL® ES to Mobile Browsers What is WebGL™? Why WebGL? . A cross-platform, royalty free web . It brings plug-in free 3D to the web, standard implemented right into the browser. Low-level 3D graphics API . Major browser vendors are members of . Based on OpenGL® ES 2.0 the WebGL Working Group: . A shader based API using GLSL . Apple (Safari® browser) . Mozilla (Firefox® browser) (OpenGL Shading Language) . Google (Chrome™ browser) . Opera (Opera™ browser) . Some concessions made to JavaScript™ (memory management) 3 Introduction to WebGL™ . How does it fit in a web browser? . You use JavaScript™ to control it. Your JavaScript is embedded in HTML5 and uses its Canvas element to draw on. What do you need to start creating graphics? . Obtain WebGLrenderingContext object for a given HTMLCanvasElement. It creates a drawing buffer into which the API calls are rendered. For example: var canvas = document.getElementById('canvas1'); var gl = canvas.getContext('webgl'); canvas.width = newWidth; canvas.height = newHeight; gl.viewport(0, 0, canvas.width, canvas.height); 4 WebGL™ Stack What is happening when a WebGL page is loaded . User enters URL . HTTP stack requests the HTML page Browser . Additional requests will be necessary to get Space User JavaScript™ code and other resources WebKit JavaScript Engine .
    [Show full text]
  • Chapter 10 Document Object Model and Dynamic HTML
    Chapter 10 Document Object Model and Dynamic HTML The term Dynamic HTML, often abbreviated as DHTML, refers to the technique of making Web pages dynamic by client-side scripting to manipulate the document content and presen- tation. Web pages can be made more lively, dynamic, or interactive by DHTML techniques. With DHTML you can prescribe actions triggered by browser events to make the page more lively and responsive. Such actions may alter the content and appearance of any parts of the page. The changes are fast and e±cient because they are made by the browser without having to network with any servers. Typically the client-side scripting is written in Javascript which is being standardized. Chapter 9 already introduced Javascript and basic techniques for making Web pages dynamic. Contrary to what the name may suggest, DHTML is not a markup language or a software tool. It is a technique to make dynamic Web pages via client-side programming. In the past, DHTML relies on browser/vendor speci¯c features to work. Making such pages work for all browsers requires much e®ort, testing, and unnecessarily long programs. Standardization e®orts at W3C and elsewhere are making it possible to write standard- based DHTML that work for all compliant browsers. Standard-based DHTML involves three aspects: 447 448 CHAPTER 10. DOCUMENT OBJECT MODEL AND DYNAMIC HTML Figure 10.1: DOM Compliant Browser Browser Javascript DOM API XHTML Document 1. Javascript|for cross-browser scripting (Chapter 9) 2. Cascading Style Sheets (CSS)|for style and presentation control (Chapter 6) 3. Document Object Model (DOM)|for a uniform programming interface to access and manipulate the Web page as a document When these three aspects are combined, you get the ability to program changes in Web pages in reaction to user or browser generated events, and therefore to make HTML pages more dynamic.
    [Show full text]
  • Khronos Template 2015
    Ecosystem Overview Neil Trevett | Khronos President NVIDIA Vice President Developer Ecosystem [email protected] | @neilt3d © Copyright Khronos Group 2016 - Page 1 Khronos Mission Software Silicon Khronos is an Industry Consortium of over 100 companies creating royalty-free, open standard APIs to enable software to access hardware acceleration for graphics, parallel compute and vision © Copyright Khronos Group 2016 - Page 2 http://accelerateyourworld.org/ © Copyright Khronos Group 2016 - Page 3 Vision Pipeline Challenges and Opportunities Growing Camera Diversity Diverse Vision Processors Sensor Proliferation 22 Flexible sensor and camera Use efficient acceleration to Combine vision output control to GENERATE PROCESS with other sensor data an image stream the image stream on device © Copyright Khronos Group 2016 - Page 4 OpenVX – Low Power Vision Acceleration • Higher level abstraction API - Targeted at real-time mobile and embedded platforms • Performance portability across diverse architectures - Multi-core CPUs, GPUs, DSPs and DSP arrays, ISPs, Dedicated hardware… • Extends portable vision acceleration to very low power domains - Doesn’t require high-power CPU/GPU Complex - Lower precision requirements than OpenCL - Low-power host can setup and manage frame-rate graph Vision Engine Middleware Application X100 Dedicated Vision Processing Hardware Efficiency Vision DSPs X10 GPU Compute Accelerator Multi-core Accelerator Power Efficiency Power X1 CPU Accelerator Computation Flexibility © Copyright Khronos Group 2016 - Page 5 OpenVX Graphs
    [Show full text]
  • Khronos Data Format Specification
    Khronos Data Format Specification Andrew Garrard Version 1.3.1 2020-04-03 1 / 281 Khronos Data Format Specification License Information Copyright (C) 2014-2019 The Khronos Group Inc. All Rights Reserved. This specification is protected by copyright laws and contains material proprietary to the Khronos Group, Inc. It or any components may not be reproduced, republished, distributed, transmitted, displayed, broadcast, or otherwise exploited in any manner without the express prior written permission of Khronos Group. You may use this specification for implementing the functionality therein, without altering or removing any trademark, copyright or other notice from the specification, but the receipt or possession of this specification does not convey any rights to reproduce, disclose, or distribute its contents, or to manufacture, use, or sell anything that it may describe, in whole or in part. This version of the Data Format Specification is published and copyrighted by Khronos, but is not a Khronos ratified specification. Accordingly, it does not fall within the scope of the Khronos IP policy, except to the extent that sections of it are normatively referenced in ratified Khronos specifications. Such references incorporate the referenced sections into the ratified specifications, and bring those sections into the scope of the policy for those specifications. Khronos Group grants express permission to any current Promoter, Contributor or Adopter member of Khronos to copy and redistribute UNMODIFIED versions of this specification in any fashion, provided that NO CHARGE is made for the specification and the latest available update of the specification for any version of the API is used whenever possible.
    [Show full text]