The Nile Programming Language: Declarative Stream Processing for Media Applications. Dan Amelang Viewpoints Research Institute UCSD PhD Student
|
|
|
- Dortha Nicholson
- 10 years ago
- Views:
Transcription
1 The Nile Programming Language: Declarative Stream Processing for Media Applications Dan Amelang Viewpoints Research Institute UCSD PhD Student Southern California Programming Languages and Systems Workshop Spring 2011
2 2D Vector Graphics
3 State of the Art 10,000+ lines of... Cairo (Firefox, Linux)... if (lxi > fill_start) { ADD_SATURATE_8 (ap + fill_start, fill_size * N_X_FRAC (8), lxi - fill_start); fill_start = lxi; } else if (lxi < fill_start) { ADD_SATURATE_8 (ap + lxi, N_X_FRAC (8), fill_start - lxi); } if (rxi < fill_end) { ADD_SATURATE_8 (ap + rxi, fill_size * N_X_FRAC (8), fill_end rxi);... Skia (Chrome, Android)... if (curre->flasty == curr_y) { if (curre->fcurvecount < 0) { if (((SkCubicEdge*)currE)->updateCubic()) { SkASSERT(currE->fFirstY == curr_y + 1); newx = curre->fx; goto NEXT_X; } } else if (curre->fcurvecount > 0) { if (((SkQuadraticEdge*)currE)->updateQuadratic()) { newx = curre->fx; goto NEXT_X; } }...
4 type Color = (a, r, g, b : Real) type Point = (x, y : Real) type Matrix = (a, b, c, d, e, f : Real) type Bezier = (A, B, C : Point) type EdgeSpan = (x, y, c, l : Real) type EdgeSample = (x, y, a, h : Real) type PixelCoverage = (x, y, c, ic : Real) type Texture = Point >> Color type Compositor = (Color, Color) >> Color (a : Real) : Real { -a if a < 0, a } (a : Real) (b : Real) : Real {a if a < b, b} (a : Real) (b : Real) : Real {a if a > b, b} (a : Real) ~ (b : Real) : Real (a + b) / 2 (M : Matrix) (A : Point) : Point (M.a A.x + M.c A.y + M.e, M.b A.x + M.d A.y + M.f) TransformBeziers (M : Matrix) : Bezier >> Bezier (A, B, C) >> (M A, M B, M C) UniformColor (C : Color) : Texture _ >> (C.a, C.a C.r, C.a C.g, C.a C.b) CompositeOver : Compositor (a, b) >> a + b (1 - a.a) ClipBeziers (min, max : Point) : Bezier >> Bezier (A, B, C) bmin = A B C bmax = A B C inside = min bmin bmax max outside = bmax min max bmin if inside.x inside.y >> (A, B, C) else if outside.x outside.y ca = min A max cc = min C max >> (ca, ca ~ cc, cc) else ABBC = (A ~ B) ~ (B ~ C) nearmin = ABBC - min < 0.1 nearmax = ABBC - max < 0.1 M = {min if nearmin, max if nearmax, ABBC} << (M, B ~ C, C) << (A, A ~ B, M) CompositeTextures (t1 : Texture, t2 : Texture, c : Compositor) : Texture DupZip (t1, t2) c ExpandSpans : EdgeSpan >> PixelCoverage (x, y, c, l) if c >> (x, y, c, 1 - c) if l > 0 << (x + 1, y, 1, l - 1) ExtractSamplePoints : PixelCoverage >> Point (x, y, _, _) >> (x, y) ApplyTexture (t : Texture) : EdgeSpan >> (Color, PixelCoverage) ExpandSpans DupZip (ExtractSamplePoints t, ( )) DecomposeBeziers : Bezier >> EdgeSample (A, B, C) inside = ( A = C A = C ) if inside.x inside.y P = A C w = P.x (C.x ~ A.x) h = C.y - A.y >> (P.x + 1/2, P.y + 1/2, w h, h) else ABBC = (A ~ B) ~ (B ~ C) min = ABBC max = ABBC nearmin = ABBC - min < 0.1 nearmax = ABBC - max < 0.1 M = {min if nearmin, max if nearmax, ABBC} << (M, B ~ C, C) << (A, A ~ B, M) CombineEdgeSamples : EdgeSample >> EdgeSpan (x, y, A, H) = 0 (x', y', a, h) if y' = y if x' = x A' = A + a H' = H + h else l = {x' - x - 1 if H > 0.5, 0} >> (x, y, A 1, l) A' = H + a H' = H + h else >> (x, y, A 1, 0) A' = a H' = h >> (x, y, A 1, 0) Rasterize : Bezier >> EdgeSpan DecomposeBeziers SortBy (@x) SortBy (@y) CombineEdgeSamples
5 Talk Overview The Nile language Dataflow Data manipulation Graphics rendering in Nile Parallelism in Nile The Frankenstein Application Future Work Related Work
6 Nile Dataflow Processes communicate asynchronously via unidirectional, homogenous, typed streams of structured data Single input / single output (with some exceptions)
7 Rendering Pipeline TransformBeziers (matrix) ClipBeziers (min, max) Rasterize ApplyTexture (texture) WriteToImage (image)
8 Rasterization Pipeline Rasterize : Bezier >> EdgeSpan DecomposeBeziers SortBy (@x) SortBy (@y) CombineEdgeSamples
9 Texturing Pipeline ApplyTexture (t : Texture) : EdgeSpan >> (Color, PixelCoverage) ExpandSpans DupZip (ExtractSamplePoints t, ( ))
10 Data Manipulation Statically typed with type inference Single assignment User-defined record types and operators Pattern matching Syntax for stream I/O
11 Data Manipulation Sum : Real >> Real s = 0 x s' = s + x >> s >> s
12 User-defined Types and Operators type Point = (x, y : Real) type Matrix = (a, b, c, d, e, f : Real) type Bezier = (A, B, C : Point) (M : Matrix) (A : Point) : Point (M.a A.x + M.c A.y + M.e, M.b A.x + M.d A.y + M.f) TransformBeziers (M : Matrix) : Bezier >> Bezier (A, B, C) >> (M A, M B, M C)
13 Gezira: A 2D Vector Graphics Renderer Written in Nile In under 400 lines of code: Anti-aliased rasterization of Bezier shapes Affine transformation Geometry clipping 26 compositing operators Texture transformation and extend styles Bilinear and bicubic filters Gaussian blur Multi-stop linear and radial color gradients Pen stroke paths with 3 join styles and 3 cap styles Geometry bounds calculation
14 Workflow core.nl bezier.nl... Nile-to-C gezira.h gezira.c C compiler libgezira.a libnile.a libgezira.a app.exe app.c
15 Intra-pipeline Parallelism
16 Inter-pipeline Parallelism
17 Instruction-level SIMD Parallelism (M : Matrix) (A : Point) : Point (M.a A.x + M.c A.y + M.e, M.b A.x + M.d A.y + M.f) TransformBeziers (M : Matrix) : Bezier >> Bezier (A, B, C) >> (M A, M B, M C)
18 Process-level Data Parallelism
19 Nile Runtime Multi-threaded Load balancing Heap balancing User space synchronization
20 Speedup on 40 core machine Speedup Cores
21 Meet Frank
22 Future Work More applications Data compression (zlib, png) Audio/video decoding 3D graphics Image processing More compiler backends OpenCL (for GPUs) Javascript More language features Sliding windows Feedback networks Binary streams
23 Related Work Programming models Kahn Process Networks [Kahn74, Kahn76] Dataflow Process Networks [Lee95] Programming languages Lucid [Wadge85] VAL [Acherman79], later SISAL [Mcgraw85] Id [Arvind90], later Parallel Haskell (ph) [Nikhil93] Streamit [Thies02] Single Assignment C [Scholz03] and S-Net [Grelck07]
24
25 Extra slides...
26 Model of Graphics Rendering? From Computer Graphics: Principles and Practice [Foley et al.]: Once the ET has been formed, the following processing steps for the scan-line algorithm are completed: 1. Set y to the smallest y coordinate that has an entry in the ET, that is, y for the first nonempty bucket. 2. Initialize the AET to be empty. 3. Repeat until the AET and ET are empty; (a) Move from ET bucket y to the AET edges whose ymin = y (add entering edges). (b) Remove from the AET those entries for which y = ymax (edges not involved in the next scan line), then sort the AET on x. (c) Fill in desired pixel values on scan line y by using pairs of x coordinates from the AET (suitably rounded). (d) Increment y by 1 (to the coordinate of the next scan line). (e) For each nonvertical edge remaining in the AET, update x for the new y.
27
28
29 TODO: size graph of cairo vs. gezira
Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list
Scan-Line Fill Can also fill by maintaining a data structure of all intersections of polygons with scan lines Sort by scan line Fill each span vertex order generated by vertex list desired order Scan-Line
Introduction to Computer Graphics
Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 [email protected] www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics
Modern PHP Graphics with Cairo. Michael Maclean FrOSCon 2011
Modern PHP Graphics with Cairo Michael Maclean FrOSCon 2011 Who am I? PHP developer for a number of years Working on some PECL extensions Mainly graphics extensions What is Cairo? It's a vector graphics
Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.
CSCI 480 Computer Graphics Lecture 1 Course Overview January 14, 2013 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s13/ Administrative Issues Modeling Animation
Introduction 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
Arithmetic Coding: Introduction
Data Compression Arithmetic coding Arithmetic Coding: Introduction Allows using fractional parts of bits!! Used in PPM, JPEG/MPEG (as option), Bzip More time costly than Huffman, but integer implementation
Dynamic Resolution Rendering
Dynamic Resolution Rendering Doug Binks Introduction The resolution selection screen has been one of the defining aspects of PC gaming since the birth of games. In this whitepaper and the accompanying
COMPUTER GRAPHICS Computer Graphics
COMPUTER GRAPHICS Computer Graphics involves display, manipulation and storage of pictures and experimental data for proper visualization using a computer. Typical graphics system comprises of a host computer
COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies
COMP175: Computer Graphics Lecture 1 Introduction and Display Technologies Course mechanics Number: COMP 175-01, Fall 2009 Meetings: TR 1:30-2:45pm Instructor: Sara Su ([email protected]) TA: Matt Menke
QCD as a Video Game?
QCD as a Video Game? Sándor D. Katz Eötvös University Budapest in collaboration with Győző Egri, Zoltán Fodor, Christian Hoelbling Dániel Nógrádi, Kálmán Szabó Outline 1. Introduction 2. GPU architecture
Visualizing 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
ACE: Illustrator CC Exam Guide
Adobe Training Services Exam Guide ACE: Illustrator CC Exam Guide Adobe Training Services provides this exam guide to help prepare partners, customers, and consultants who are actively seeking accreditation
Touchstone -A Fresh Approach to Multimedia for the PC
Touchstone -A Fresh Approach to Multimedia for the PC Emmett Kilgariff Martin Randall Silicon Engineering, Inc Presentation Outline Touchstone Background Chipset Overview Sprite Chip Tiler Chip Compressed
Using HTML5 Pack for ADOBE ILLUSTRATOR CS5
Using HTML5 Pack for ADOBE ILLUSTRATOR CS5 ii Contents Chapter 1: Parameterized SVG.....................................................................................................1 Multi-screen SVG.......................................................................................................4
Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007
Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Questions 2007 INSTRUCTIONS: Answer all questions. Spend approximately 1 minute per mark. Question 1 30 Marks Total
Simple and efficient online algorithms for real world applications
Simple and efficient online algorithms for real world applications Università degli Studi di Milano Milano, Italy Talk @ Centro de Visión por Computador Something about me PhD in Robotics at LIRA-Lab,
PARALLEL 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
MyGraphicsLab ADOBE ILLUSTRATOR CC COURSE FOR GRAPHIC DESIGN & ILLUSTRATION Curriculum Mapping to ACA Objectives
ADOBE ILLUSTRATOR CC COURSE FOR GRAPHIC DESIGN & ILLUSTRATION Curriculum Mapping to ACA Domain Domain 1.0 Setting Project Requirements 1.1 Identify the purpose, audience, and audience needs for preparing
VA (Video Acceleration) API. Jonathan Bian 2009 Linux Plumbers Conference
VA (Video Acceleration) API Jonathan Bian 2009 Linux Plumbers Conference Motivation for creating a new API Lack of a video decode acceleration API for Unixlike OS that fully exposes fixed function video
Lecture 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
CPIT-285 Computer Graphics
Department of Information Technology B.S.Information Technology ABET Course Binder CPIT-85 Computer Graphics Prepared by Prof. Alhasanain Muhammad Albarhamtoushi Page of Sunday December 4 0 : PM Cover
INTRODUCTION TO RENDERING TECHNIQUES
INTRODUCTION TO RENDERING TECHNIQUES 22 Mar. 212 Yanir Kleiman What is 3D Graphics? Why 3D? Draw one frame at a time Model only once X 24 frames per second Color / texture only once 15, frames for a feature
Implementation of Canny Edge Detector of color images on CELL/B.E. Architecture.
Implementation of Canny Edge Detector of color images on CELL/B.E. Architecture. Chirag Gupta,Sumod Mohan K [email protected], [email protected] Abstract In this project we propose a method to improve
The Future Of Animation Is Games
The Future Of Animation Is Games 王 銓 彰 Next Media Animation, Media Lab, Director [email protected] The Graphics Hardware Revolution ( 繪 圖 硬 體 革 命 ) : GPU-based Graphics Hardware Multi-core (20 Cores
Silverlight 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,
Core Curriculum to the Course:
Core Curriculum to the Course: Environmental Science Law Economy for Engineering Accounting for Engineering Production System Planning and Analysis Electric Circuits Logic Circuits Methods for Electric
ACE: After Effects CC
Adobe Training Services Exam Guide ACE: After Effects CC Adobe Training Services provides this exam guide to help prepare partners, customers, and consultants who are actively seeking accreditation as
CSE 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
Radeon HD 2900 and Geometry Generation. Michael Doggett
Radeon HD 2900 and Geometry Generation Michael Doggett September 11, 2007 Overview Introduction to 3D Graphics Radeon 2900 Starting Point Requirements Top level Pipeline Blocks from top to bottom Command
HIGH PERFORMANCE BIG DATA ANALYTICS
HIGH PERFORMANCE BIG DATA ANALYTICS Kunle Olukotun Electrical Engineering and Computer Science Stanford University June 2, 2014 Explosion of Data Sources Sensors DoD is swimming in sensors and drowning
Geo-Scale Data Visualization in a Web Browser. Patrick Cozzi [email protected]
Geo-Scale Data Visualization in a Web Browser Patrick Cozzi [email protected] About Me Developer Lecturer Author Editor http://www.seas.upenn.edu/~pcozzi/ About Cesium A WebGL virtual globe and map engine
Introduction to Imagery and Raster Data in ArcGIS
Esri International User Conference San Diego, California Technical Workshops July 25, 2012 Introduction to Imagery and Raster Data in ArcGIS Simon Woo slides Cody Benkelman - demos Overview of Presentation
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
GPU Renderfarm with Integrated Asset Management & Production System (AMPS) Tackling two main challenges in CG movie production Presenter: Dr. Chen Quan Multi-plAtform Game Innovation Centre (MAGIC), Nanyang
Elemental functions: Writing data-parallel code in C/C++ using Intel Cilk Plus
Elemental functions: Writing data-parallel code in C/C++ using Intel Cilk Plus A simple C/C++ language extension construct for data parallel operations Robert Geva [email protected] Introduction Intel
Big Data looks Tiny from the Stratosphere
Volker Markl http://www.user.tu-berlin.de/marklv [email protected] Big Data looks Tiny from the Stratosphere Data and analyses are becoming increasingly complex! Size Freshness Format/Media Type
Dynamic load balancing of parallel cellular automata
Dynamic load balancing of parallel cellular automata Marc Mazzariol, Benoit A. Gennart, Roger D. Hersch Ecole Polytechnique Fédérale de Lausanne, EPFL * ABSTRACT We are interested in running in parallel
Bildverarbeitung und Mustererkennung Image Processing and Pattern Recognition
Bildverarbeitung und Mustererkennung Image Processing and Pattern Recognition 1. Image Pre-Processing - Pixel Brightness Transformation - Geometric Transformation - Image Denoising 1 1. Image Pre-Processing
Design and Optimization of OpenFOAM-based CFD Applications for Hybrid and Heterogeneous HPC Platforms
Design and Optimization of OpenFOAM-based CFD Applications for Hybrid and Heterogeneous HPC Platforms Amani AlOnazi, David E. Keyes, Alexey Lastovetsky, Vladimir Rychkov Extreme Computing Research Center,
Facts about Visualization Pipelines, applicable to VisIt and ParaView
Facts about Visualization Pipelines, applicable to VisIt and ParaView March 2013 Jean M. Favre, CSCS Agenda Visualization pipelines Motivation by examples VTK Data Streaming Visualization Pipelines: Introduction
Course Developer: Charles Shami, Professor, Savannah College of Art and Design
Course Developer: Charles Shami, Professor, Savannah College of Art and Design Course: Survey of Computer Art Applications Description: This class is for students already well versed in the use of art
Rethinking SIMD Vectorization for In-Memory Databases
SIGMOD 215, Melbourne, Victoria, Australia Rethinking SIMD Vectorization for In-Memory Databases Orestis Polychroniou Columbia University Arun Raghavan Oracle Labs Kenneth A. Ross Columbia University Latest
Introduction to GPGPU. Tiziano Diamanti [email protected]
[email protected] 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
Parallel Computing for Data Science
Parallel Computing for Data Science With Examples in R, C++ and CUDA Norman Matloff University of California, Davis USA (g) CRC Press Taylor & Francis Group Boca Raton London New York CRC Press is an imprint
JavaFX 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
H 261. Video Compression 1: H 261 Multimedia Systems (Module 4 Lesson 2) H 261 Coding Basics. Sources: Summary:
Video Compression : 6 Multimedia Systems (Module Lesson ) Summary: 6 Coding Compress color motion video into a low-rate bit stream at following resolutions: QCIF (76 x ) CIF ( x 88) Inter and Intra Frame
Adobe Training Services Exam Guide. ACE: Illustrator CS6
Adobe Training Services Exam Guide ACE: Illustrator CS6 Adobe Training Services provides this exam guide to help prepare partners, customers, and consultants who are actively seeking accreditation as Adobe
Software Synthesis from Dataflow Models for G and LabVIEW
Presented at the Thirty-second Annual Asilomar Conference on Signals, Systems, and Computers. Pacific Grove, California, U.S.A., November 1998 Software Synthesis from Dataflow Models for G and LabVIEW
Drupal Performance Tuning
Drupal Performance Tuning By Jeremy Zerr Website: http://www.jeremyzerr.com @jrzerr http://www.linkedin.com/in/jrzerr Overview Basics of Web App Systems Architecture General Web
jorge s. marques image processing
image processing images images: what are they? what is shown in this image? What is this? what is an image images describe the evolution of physical variables (intensity, color, reflectance, condutivity)
Real-Time Realistic Rendering. Michael Doggett Docent Department of Computer Science Lund university
Real-Time Realistic Rendering Michael Doggett Docent Department of Computer Science Lund university 30-5-2011 Visually realistic goal force[d] us to completely rethink the entire rendering process. Cook
WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math
Textbook Correlation WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Following Directions Unit FIRST QUARTER AND SECOND QUARTER Logic Unit
Introducing 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.
International Journal of Software and Web Sciences (IJSWS) www.iasir.net
International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) ISSN (Print): 2279-0063 ISSN (Online): 2279-0071 International
Radeon GPU Architecture and the Radeon 4800 series. Michael Doggett Graphics Architecture Group June 27, 2008
Radeon GPU Architecture and the series Michael Doggett Graphics Architecture Group June 27, 2008 Graphics Processing Units Introduction GPU research 2 GPU Evolution GPU started as a triangle rasterizer
DATA 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
Texture Screening Method for Fast Pencil Rendering
Journal for Geometry and Graphics Volume 9 (2005), No. 2, 191 200. Texture Screening Method for Fast Pencil Rendering Ruiko Yano, Yasushi Yamaguchi Dept. of Graphics and Computer Sciences, Graduate School
Information Technology Systems (2012)
Information Technology Systems (2012) Sample work program April 2012 Information Technology Systems (2012) Sample work program Compiled by the Queensland Studies Authority April 2012 This work program
18-742 Lecture 4. Parallel Programming II. Homework & Reading. Page 1. Projects handout On Friday Form teams, groups of two
age 1 18-742 Lecture 4 arallel rogramming II Spring 2005 rof. Babak Falsafi http://www.ece.cmu.edu/~ece742 write X Memory send X Memory read X Memory Slides developed in part by rofs. Adve, Falsafi, Hill,
GRID SEARCHING Novel way of Searching 2D Array
GRID SEARCHING Novel way of Searching 2D Array Rehan Guha Institute of Engineering & Management Kolkata, India Abstract: Linear/Sequential searching is the basic search algorithm used in data structures.
Interactive Level-Set Deformation On the GPU
Interactive Level-Set Deformation On the GPU Institute for Data Analysis and Visualization University of California, Davis Problem Statement Goal Interactive system for deformable surface manipulation
December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B. KITCHENS
December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B KITCHENS The equation 1 Lines in two-dimensional space (1) 2x y = 3 describes a line in two-dimensional space The coefficients of x and y in the equation
WEB DESIGN COURSE CONTENT
WEB DESIGN COURSE CONTENT INTRODUCTION OF WEB TECHNOLOGIES Careers in Web Technologies How Websites are working Domain Types and Server About Static and Dynamic Websites Web 2.0 Standards PLANNING A BASIC
Lab 2: Visualization with d3.js
Lab 2: Visualization with d3.js SDS235: Visual Analytics 30 September 2015 Introduction & Setup In this lab, we will cover the basics of creating visualizations for the web using the d3.js library, which
External Sorting. Why Sort? 2-Way Sort: Requires 3 Buffers. Chapter 13
External Sorting Chapter 13 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Why Sort? A classic problem in computer science! Data requested in sorted order e.g., find students in increasing
Big Data Mining Services and Knowledge Discovery Applications on Clouds
Big Data Mining Services and Knowledge Discovery Applications on Clouds Domenico Talia DIMES, Università della Calabria & DtoK Lab Italy [email protected] Data Availability or Data Deluge? Some decades
Computer 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
Medical Image Processing on the GPU. Past, Present and Future. Anders Eklund, PhD Virginia Tech Carilion Research Institute [email protected].
Medical Image Processing on the GPU Past, Present and Future Anders Eklund, PhD Virginia Tech Carilion Research Institute [email protected] Outline Motivation why do we need GPUs? Past - how was GPU programming
SIMERO Software System Design and Implementation
SIMERO Software System Design and Implementation AG Eingebettete Systeme und Robotik (RESY),, http://resy.informatik.uni-kl.de/ 1. Motivation and Introduction 2. Basic Design Decisions 3. Major System
Optimization Modeling for Mining Engineers
Optimization Modeling for Mining Engineers Alexandra M. Newman Division of Economics and Business Slide 1 Colorado School of Mines Seminar Outline Linear Programming Integer Linear Programming Slide 2
Creating and Using Databases for Android Applications
Creating and Using Databases for Android Applications Sunguk Lee * 1 Research Institute of Industrial Science and Technology Pohang, Korea [email protected] *Correspondent Author: Sunguk Lee* ([email protected])
Adobe Certified Expert Program
Adobe Certified Expert Program Product Proficiency Exam Bulletin Adobe Flash CS4 Recertification Exam Exam # 9A0-093 ACE Certification Checklist The checklist below will help guide you through the process
GUJARAT TECHNOLOGICAL UNIVERSITY Computer Engineering (07) BE 1st To 8th Semester Exam Scheme & Subject Code
GUJARAT TECHNOLOGICAL UNIVERSITY Computer Engineering (07) BE 1st To 8th Semester Scheme & EVALUATION SCHEME Continuous (Theory) (E) Evaluation Practical (I) (Practical) (E) Process(M) MAX MIN MAX MIN
A Short Introduction to Computer Graphics
A Short Introduction to Computer Graphics Frédo Durand MIT Laboratory for Computer Science 1 Introduction Chapter I: Basics Although computer graphics is a vast field that encompasses almost any graphical
Developer Tutorial Version 1. 0 February 2015
Developer Tutorial Version 1. 0 Contents Introduction... 3 What is the Mapzania SDK?... 3 Features of Mapzania SDK... 4 Mapzania Applications... 5 Architecture... 6 Front-end application components...
Lecture 2 February 12, 2003
6.897: Advanced Data Structures Spring 003 Prof. Erik Demaine Lecture February, 003 Scribe: Jeff Lindy Overview In the last lecture we considered the successor problem for a bounded universe of size u.
Visualizing a Neo4j Graph Database with KeyLines
Visualizing a Neo4j Graph Database with KeyLines Introduction 2! What is a graph database? 2! What is Neo4j? 2! Why visualize Neo4j? 3! Visualization Architecture 4! Benefits of the KeyLines/Neo4j architecture
How To Get A Computer Science Degree At Appalachian State
118 Master of Science in Computer Science Department of Computer Science College of Arts and Sciences James T. Wilkes, Chair and Professor Ph.D., Duke University [email protected] http://www.cs.appstate.edu/
Gephi Tutorial Quick Start
Gephi Tutorial Welcome to this introduction tutorial. It will guide you to the basic steps of network visualization and manipulation in Gephi. Gephi version 0.7alpha2 was used to do this tutorial. Get
Visualization and Feature Extraction, FLOW Spring School 2016 Prof. Dr. Tino Weinkauf. Flow Visualization. Image-Based Methods (integration-based)
Visualization and Feature Extraction, FLOW Spring School 2016 Prof. Dr. Tino Weinkauf Flow Visualization Image-Based Methods (integration-based) Spot Noise (Jarke van Wijk, Siggraph 1991) Flow Visualization:
B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.
B2.53-R3: COMPUTER GRAPHICS NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered in the TEAR-OFF ANSWER
Graphics 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
Low power GPUs a view from the industry. Edvard Sørgård
Low power GPUs a view from the industry Edvard Sørgård 1 ARM in Trondheim Graphics technology design centre From 2006 acquisition of Falanx Microsystems AS Origin of the ARM Mali GPUs Main activities today
ALLIED PAPER : DISCRETE MATHEMATICS (for B.Sc. Computer Technology & B.Sc. Multimedia and Web Technology)
ALLIED PAPER : DISCRETE MATHEMATICS (for B.Sc. Computer Technology & B.Sc. Multimedia and Web Technology) Subject Description: This subject deals with discrete structures like set theory, mathematical
Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries
First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as
Certificate Courses in Animation
UNIVERSITY OF PUNE Certificate Courses in Animation 1) Certificate Course in Animation using Flash 2) Certificate Course in Animation Using Photoshop 3) Certificate Course of Animation using Maya (To be
Scalable Machine Learning - or what to do with all that Big Data infrastructure
- or what to do with all that Big Data infrastructure TU Berlin blog.mikiobraun.de Strata+Hadoop World London, 2015 1 Complex Data Analysis at Scale Click-through prediction Personalized Spam Detection
CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) 3 4 4 7 5 9 6 16 7 8 8 4 9 8 10 4 Total 92.
Name: Email ID: CSE 326, Data Structures Section: Sample Final Exam Instructions: The exam is closed book, closed notes. Unless otherwise stated, N denotes the number of elements in the data structure
ATI Radeon 4800 series Graphics. Michael Doggett Graphics Architecture Group Graphics Product Group
ATI Radeon 4800 series Graphics Michael Doggett Graphics Architecture Group Graphics Product Group Graphics Processing Units ATI Radeon HD 4870 AMD Stream Computing Next Generation GPUs 2 Radeon 4800 series
Demo: Real-time Tracking of Round Object
Page 1 of 1 Demo: Real-time Tracking of Round Object by: Brianna Bikker and David Price, TAMU Course Instructor: Professor Deepa Kundur Introduction Our project is intended to track the motion of a round
Enhanced LIC Pencil Filter
Enhanced LIC Pencil Filter Shigefumi Yamamoto, Xiaoyang Mao, Kenji Tanii, Atsumi Imamiya University of Yamanashi {[email protected], [email protected], [email protected]}
BUILDING TELEPRESENCE SYSTEMS: Translating Science Fiction Ideas into Reality
BUILDING TELEPRESENCE SYSTEMS: Translating Science Fiction Ideas into Reality Henry Fuchs University of North Carolina at Chapel Hill (USA) and NSF Science and Technology Center for Computer Graphics and
Programming models for heterogeneous computing. Manuel Ujaldón Nvidia CUDA Fellow and A/Prof. Computer Architecture Department University of Malaga
Programming models for heterogeneous computing Manuel Ujaldón Nvidia CUDA Fellow and A/Prof. Computer Architecture Department University of Malaga Talk outline [30 slides] 1. Introduction [5 slides] 2.
How 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/
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
