Programming with Opengl: an Introduction
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Using a Next Workstation As a Development Platform for Version 5 Sas Applications
USING A NEXT WORKSTATION AS A DEVELOPMENT PLATFORM FOR VERSION 5 SAS APPLICATIONS Joseph E St Sauver, Office of University Computing, University of Oregon ABSTRACT Similarly. there is liUle sense in tieing up a PC for hours (or days) running a large statistical analysis when a sha.red SAS Institute has yet to announce any firm plans to port the mainframe will often have abundant horsepower to handle just SAS System* to NeXT* workstations. Nonetheless, a NeXT those sorts of CPU-intensive jobs. workstation can serve as an excellent platform for developing VAXNMS· (or other mainframe) SAS System code for remote The PC version of SAS atte~s to explott this philosophy by execution. giving the user the option of either processing SAS code locally using the SUBMIT command, or processing SAS code on a The combination of a strong windowing environment, display remote mainframe SAS host using the RSUBMIT command. In a PostScript support. a built-in athemet interlace and copious perfect world. this approach would allow the user to elect the slorage eapacny bundled on lOP of more-or-Iess BSD 4.3 UNIX" best mix of local and remote resources to achieve his or her make development of SAS System code on the NeXT for objectives in a timely and cost effective manner. remote execution on another mainframe quite easy. Unfortunately, in my experience, the happy symbiosis The author's experience with use of a NeXT as a remote code envisioned between the PC version of the SAS System and the development plaHorm for SAS and SAS/Graph" on a VAXNMS mainframe version of the SAS system often breaks down. -
Overview: Graphics Processing Units
Overview: Graphics Processing Units l advent of GPUs l GPU architecture n the NVIDIA Fermi processor l the CUDA programming model n simple example, threads organization, memory model n case study: matrix multiply using shared memory n memories, thread synchronization, scheduling n case study: reductions n performance considerations: bandwidth, scheduling, resource conflicts, instruction mix u host-device data transfer: multiple GPUs, NVLink, Unified Memory, APUs l the OpenCL programming model l directive-based programming models refs: Lin & Snyder Ch 10, CUDA Toolkit Documentation, An Even Easier Introduction to CUDA (tutorial); NCI NF GPU page, Programming Massively Parallel Processors, Kirk & Hwu, Morgan-Kaufman, 2010; Cuda By Example, by Sanders and Kandrot; OpenCL web page, OpenCL in Action, by Matthew Scarpino COMP4300/8300 L18,19: Graphics Processing Units 2021 JJJ • III × 1 Advent of General-purpose Graphics Processing Units l many applications have massive amounts of mostly independent calculations n e.g. ray tracing, image rendering, matrix computations, molecular simulations, HDTV n can be largely expressed in terms of SIMD operations u implementable with minimal control logic & caches, simple instruction sets l design point: maximize number of ALUs & FPUs and memory bandwidth to take advantage of Moore’s’ Law (shown here) n put this on a co-processor (GPU); have a normal CPU to co-ordinate, run the operating system, launch applications, etc l architecture/infrastructure development requires a massive economic base for its development (the gaming industry!) n pre 2006: only specialized graphics operations (integer & float data) n 2006: ‘General Purpose’ (GPGPU): general computations but only through a graphics library (e.g. -
Sun Ultratm 5 Workstation Just the Facts
Sun UltraTM 5 Workstation Just the Facts Copyrights 1999 Sun Microsystems, Inc. All Rights Reserved. Sun, Sun Microsystems, the Sun logo, Ultra, PGX, PGX24, Solaris, Sun Enterprise, SunClient, UltraComputing, Catalyst, SunPCi, OpenWindows, PGX32, VIS, Java, JDK, XGL, XIL, Java 3D, SunVTS, ShowMe, ShowMe TV, SunForum, Java WorkShop, Java Studio, AnswerBook, AnswerBook2, Sun Enterprise SyMON, Solstice, Solstice AutoClient, ShowMe How, SunCD, SunCD 2Plus, Sun StorEdge, SunButtons, SunDials, SunMicrophone, SunFDDI, SunLink, SunHSI, SunATM, SLC, ELC, IPC, IPX, SunSpectrum, JavaStation, SunSpectrum Platinum, SunSpectrum Gold, SunSpectrum Silver, SunSpectrum Bronze, SunVIP, SunSolve, and SunSolve EarlyNotifier are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the United States and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the United States and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. UNIX is a registered trademark in the United States and other countries, exclusively licensed through X/Open Company, Ltd. OpenGL is a registered trademark of Silicon Graphics, Inc. Display PostScript and PostScript are trademarks of Adobe Systems, Incorporated, which may be registered in certain jurisdictions. Netscape is a trademark of Netscape Communications Corporation. DLT is claimed as a trademark of Quantum Corporation in the United States and other countries. Just the Facts May 1999 Positioning The Sun UltraTM 5 Workstation Figure 1. The Ultra 5 workstation The Sun UltraTM 5 workstation is an entry-level workstation based upon the 333- and 360-MHz UltraSPARCTM-IIi processors. The Ultra 5 is Sun’s lowest-priced workstation, designed to meet the needs of price-sensitive and volume-purchase customers in the personal workstation market without sacrificing performance. -
Encapsulated Postscript Application Guide for Mac And
Encapsulated PostScript Encapsulated PostScript Application Guide for the Macintosh and PCs Peter Vollenweider Manager User Services Universi1y of Zurich A ·Carl Hanser .Verlag :II Prentice Hall First published in German 1989 by Carl Hanser Verlag under the title EPS-Handbuch: Encapsulated PostScript First published in English 1990 by Prentice Hall International (UK) Ltd 66 Wood Lane End, Hemel Hempstead Hertfordshire HP2 4RG A division of Simon & Schuster International Group ©Carl Hanser Verlag, Munich and Vienna 1989 ©Carl Hanser Verlag and Prentice Hall 1990 All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any means, electronic, mechanical, photocopying, recording or otherwise, witliout prior permission, in writing, from the publisher. For permission within the United States of America contact Prentice Hall, Inc., Englewood Cliffs, NJ 07632. The Sonata clef design on the cover shows the mixing of randomly placed Sonata font types, smoothed curves and patterns; courtesy of John F. Sherman, ND Design Program, University of Notre Dame, Indiana 46556, USA. Printed and bound in Great Britain by Dotesios Printers Ltd, Trowbridge, Wiltshire. Library of Congress Cataloging-in-Publication Data Vollenweider, Peter. (Encapsulated PostScript. English) Encapsulated PostScript : application guide for the Macintosh and PC's I Peter Vollenweider. p. em. Includes bibliographical references. ISBN 0-13-275843-1 1. PostScript (Computer program language) I. Title. QA76.73.P67V65 1990 005 .265-dc20 90-35469 CIP British Library Cataloguing-in-Publication Data Vollenweider, Peter Encapsulated PostScript : application guide for the Macintosh and PC's. 1. Microcomputer systems. Software packages I. -
SGI® Opengl Multipipe™ User's Guide
SGI® OpenGL Multipipe™ User’s Guide 007-4318-008 Version 1.4.2 CONTRIBUTORS Written by Ken Jones and Jenn Byrnes Illustrated by Chrystie Danzer Edited by Susan Wilkening Production by Glen Traefald Engineering contributions by Bill Feth, Christophe Winkler, Claude Knaus, and Alpana Kaulgud COPYRIGHT © 2000–2002 Silicon Graphics, Inc. All rights reserved; provided portions may be copyright in third parties, as indicated elsewhere herein. No permission is granted to copy, distribute, or create derivative works from the contents of this electronic documentation in any manner, in whole or in part, without the prior written permission of Silicon Graphics, Inc. LIMITED RIGHTS LEGEND The electronic (software) version of this document was developed at private expense; if acquired under an agreement with the USA government or any contractor thereto, it is acquired as "commercial computer software" subject to the provisions of its applicable license agreement, as specified in (a) 48 CFR 12.212 of the FAR; or, if acquired for Department of Defense units, (b) 48 CFR 227-7202 of the DoD FAR Supplement; or sections succeeding thereto. Contractor/manufacturer is Silicon Graphics, Inc., 1600 Amphitheatre Pkwy 2E, Mountain View, CA 94043-1351. TRADEMARKS AND ATTRIBUTIONS Silicon Graphics, SGI, the SGI logo, InfiniteReality, IRIS, IRIX, Onyx, Onyx2, and OpenGL are registered trademarks and IRIS GL, OpenGL Performer, InfiniteReality2, Open Inventor, OpenGL Multipipe, Power Onyx, Reality Center, and SGI Reality Center are trademarks of Silicon Graphics, Inc. MIPS and R10000 are registered trademarks of MIPS Technologies, Inc. used under license by Silicon Graphics, Inc. Netscape is a trademark of Netscape Communications Corporation. -
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. -
Gscale: Scaling up GPU Virtualization with Dynamic Sharing of Graphics
gScale: Scaling up GPU Virtualization with Dynamic Sharing of Graphics Memory Space Mochi Xue, Shanghai Jiao Tong University and Intel Corporation; Kun Tian, Intel Corporation; Yaozu Dong, Shanghai Jiao Tong University and Intel Corporation; Jiacheng Ma, Jiajun Wang, and Zhengwei Qi, Shanghai Jiao Tong University; Bingsheng He, National University of Singapore; Haibing Guan, Shanghai Jiao Tong University https://www.usenix.org/conference/atc16/technical-sessions/presentation/xue This paper is included in the Proceedings of the 2016 USENIX Annual Technical Conference (USENIX ATC ’16). June 22–24, 2016 • Denver, CO, USA 978-1-931971-30-0 Open access to the Proceedings of the 2016 USENIX Annual Technical Conference (USENIX ATC ’16) is sponsored by USENIX. gScale: Scaling up GPU Virtualization with Dynamic Sharing of Graphics Memory Space Mochi Xue1,2, Kun Tian2, Yaozu Dong1,2, Jiacheng Ma1, Jiajun Wang1, Zhengwei Qi1, Bingsheng He3, Haibing Guan1 {xuemochi, mjc0608, jiajunwang, qizhenwei, hbguan}@sjtu.edu.cn {kevin.tian, eddie.dong}@intel.com [email protected] 1Shanghai Jiao Tong University, 2Intel Corporation, 3National University of Singapore Abstract As one of the key enabling technologies of GPU cloud, GPU virtualization is intended to provide flexible and With increasing GPU-intensive workloads deployed on scalable GPU resources for multiple instances with high cloud, the cloud service providers are seeking for practi- performance. To achieve such a challenging goal, sev- cal and efficient GPU virtualization solutions. However, eral GPU virtualization solutions were introduced, i.e., the cutting-edge GPU virtualization techniques such as GPUvm [28] and gVirt [30]. gVirt, also known as GVT- gVirt still suffer from the restriction of scalability, which g, is a full virtualization solution with mediated pass- constrains the number of guest virtual GPU instances. -
SUSE® Linux Enterprise Desktop 12 and the Workstation Extension: What's New ?
SUSE® Linux Enterprise Desktop 12 and the Workstation Extension: What's New ? Frédéric Crozat <[email protected]> Enterprise Desktop Release Manager Scott Reeves <[email protected]> Enterprise Desktop Development Manager Agenda • Design Criteria • Desktop Environment in SUSE Linux Enterprise 12 • GNOME Shell • Desktop Features and Applications 2 Design Criteria SUSE Linux Enterprise Desktop Interoperability Ease of Use Security Ease of Management Lower Costs 4 SUSE Linux Enterprise Desktop 12 • Focus on technical workstation ‒ Developers and System administrators • One tool for the job • Main desktop applications will be shipped: ‒ Mail client, Office Suite, Graphical Editors, ... • SUSE Linux Enterprise Workstation Extension ‒ Extend SUSE Linux Enterprise Server with packages only available on SUSE Linux Enterprise Desktop. (x86-64 only) 5 Desktop in SUSE Linux Enterprise 12 As Part of the Common Code Base SUSE Linux Enterprise 12 Desktop Environment • SUSE Linux Enterprise 12 contains one primary desktop environment • Additional light-weight environment for special use-cases: ‒ Integrated Systems • Desktop environment is shared between the server and desktop products 7 SUSE Linux Enterprise 12 Desktop Environment • GNOME 3 is the main desktop environment ‒ SLE Classic mode by default ‒ GNOME 3 Classic Mode and GNOME 3 Shell Mode also available • SUSE Linux Enterprise 12 ships also lightweight IceWM ‒ Targeted at Integrated Systems • QT fully supported: ‒ QT5 supported for entire SLE12 lifecycle ‒ QT4 supported, will be removed in future -
Intro to Opengl
Intro to OpenGL CS4620 Lecture 14 Guest Instructor: Nicolas Savva What is OpenGL? ● Open Graphics Library ● A low level API for 2D/3D rendering with the Graphics Hardware (GPU) ● Cross-platform (Windows, OS X, Linux, iOS, Android, ...) ● Developed by SGI in 1992 – 2014: OpenGL 4.5 – 2008: OpenGL 3.0 – 2006: OpenGL 2.1 ● Main alternative: DirectX/3D Cornell CS4620 Fall 2015 How does it fit in? ● Tap massive power of GPU hardware to render images ● Use GPU without caring about the exact details of the hardware Cornell CS4620 Fall 2015 CPU and GPU memory CPU BUS GPU SHADERS B B U U S S B U S F GPU MEMORY B SYSTEM MEMORY Display Cornell CS4620 Fall 2015 What OpenGL does for us ● Controls GPU ● Lets user specify resources...: – Geometry (vertices and primitives) – Textures – Shaders (programmable pieces of rendering pipeline) – Etc. ● ...and use them: – Rasterize and draw geometry Cornell CS4620 Fall 2015 How we will use OpenGL ● OpenGL version – We use 2.x-3.x (plus extensions) – Code avoids older, deprecated parts of OpenGL standard ● LWJGL – Lightweight Java Game Library – Java bindings for OpenGL API ● CS 4620/4621 Framework – Simplifies creating and using OpenGL resources Cornell CS4620 Fall 2015 LWJGL ● OpenGL originally written for C. ● LWJGL contains OpenGL binding for Java www.lwjgl.org/ ● Gives Java interface to C OpenGL commands ● Manages framebuffer (framebuffer: a buffer that holds the image that is displayed on the monitor) Cornell CS4620 Fall 2015 MainGame ● A window which can display GameScreens ● Initializes OpenGL context -
Release Notes for Xfree86® 4.8.0 the Xfree86 Project, Inc December 2008
Release Notes for XFree86® 4.8.0 The XFree86 Project, Inc December 2008 Abstract This document contains information about the various features and their current sta- tus in the XFree86 4.8.0 release. 1. Introduction to the 4.x Release Series XFree86 4.0 was the first official release of the XFree86 4 series. The current release (4.8.0) is the latest in that series. The XFree86 4.x series represents a significant redesign of the XFree86 X server,with a strong focus on modularity and configurability. 2. Configuration: aQuickSynopsis Automatic configuration was introduced with XFree86 4.4.0 which makes it possible to start XFree86 without first creating a configuration file. This has been further improved in subsequent releases. If you experienced any problems with automatic configuration in a previous release, it is worth trying it again with this release. While the initial automatic configuration support was originally targeted just for Linux and the FreeBSD variants, as of 4.5.0 it also includes Solaris, NetBSD and OpenBSD support. Full support for automatic configuration is planned for other platforms in futurereleases. If you arerunning Linux, FreeBSD, NetBSD, OpenBSD, or Solaris, try Auto Configuration by run- ning: XFree86 -autoconfig If you want to customise some things afterwards, you can cut and paste the automatically gener- ated configuration from the /var/log/XFree86.0.log file into an XF86Config file and make your customisations there. If you need to customise some parts of the configuration while leav- ing others to be automatically detected, you can combine a partial static configuration with the automatically detected one by running: XFree86 -appendauto If you areusing a platform that is not currently supported, then you must try one of the older methods for getting started like "xf86cfg", which is our graphical configuration tool. -
20 Years of Opengl
20 Years of OpenGL Kurt Akeley © Copyright Khronos Group, 2010 - Page 1 So many deprecations! • Application-generated object names • Depth texture mode • Color index mode • Texture wrap mode • SL versions 1.10 and 1.20 • Texture borders • Begin / End primitive specification • Automatic mipmap generation • Edge flags • Fixed-function fragment processing • Client vertex arrays • Alpha test • Rectangles • Accumulation buffers • Current raster position • Pixel copying • Two-sided color selection • Auxiliary color buffers • Non-sprite points • Context framebuffer size queries • Wide lines and line stipple • Evaluators • Quad and polygon primitives • Selection and feedback modes • Separate polygon draw mode • Display lists • Polygon stipple • Hints • Pixel transfer modes and operation • Attribute stacks • Pixel drawing • Unified text string • Bitmaps • Token names and queries • Legacy pixel formats © Copyright Khronos Group, 2010 - Page 2 Technology and culture © Copyright Khronos Group, 2010 - Page 3 Technology © Copyright Khronos Group, 2010 - Page 4 OpenGL is an architecture Blaauw/Brooks OpenGL SGI Indy/Indigo/InfiniteReality Different IBM 360 30/40/50/65/75 NVIDIA GeForce, ATI implementations Amdahl Radeon, … Code runs equivalently on Top-level goal Compatibility all implementations Conformance tests, … It’s an architecture, whether Carefully planned, though Intentional design it was planned or not . mistakes were made Can vary amount of No feature subsetting Configuration resource (e.g., memory) Config attributes (e.g., FB) Not a formal -
3Dfx Oral History Panel Gordon Campbell, Scott Sellers, Ross Q. Smith, and Gary M. Tarolli
3dfx Oral History Panel Gordon Campbell, Scott Sellers, Ross Q. Smith, and Gary M. Tarolli Interviewed by: Shayne Hodge Recorded: July 29, 2013 Mountain View, California CHM Reference number: X6887.2013 © 2013 Computer History Museum 3dfx Oral History Panel Shayne Hodge: OK. My name is Shayne Hodge. This is July 29, 2013 at the afternoon in the Computer History Museum. We have with us today the founders of 3dfx, a graphics company from the 1990s of considerable influence. From left to right on the camera-- I'll let you guys introduce yourselves. Gary Tarolli: I'm Gary Tarolli. Scott Sellers: I'm Scott Sellers. Ross Smith: Ross Smith. Gordon Campbell: And Gordon Campbell. Hodge: And so why don't each of you take about a minute or two and describe your lives roughly up to the point where you need to say 3dfx to continue describing them. Tarolli: All right. Where do you want us to start? Hodge: Birth. Tarolli: Birth. Oh, born in New York, grew up in rural New York. Had a pretty uneventful childhood, but excelled at math and science. So I went to school for math at RPI [Rensselaer Polytechnic Institute] in Troy, New York. And there is where I met my first computer, a good old IBM mainframe that we were just talking about before [this taping], with punch cards. So I wrote my first computer program there and sort of fell in love with computer. So I became a computer scientist really. So I took all their computer science courses, went on to Caltech for VLSI engineering, which is where I met some people that influenced my career life afterwards.