Computação Paralela Com Arquitetura De Processamento Gráfico Cuda Aplicada a Um Codificador De Vídeo H.264

Total Page:16

File Type:pdf, Size:1020Kb

Computação Paralela Com Arquitetura De Processamento Gráfico Cuda Aplicada a Um Codificador De Vídeo H.264 CENTRO UNIVERSITÁRIO UNIVATES CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO AUGUSTO LIMBERGER LENZ COMPUTAÇÃO PARALELA COM ARQUITETURA DE PROCESSAMENTO GRÁFICO CUDA APLICADA A UM CODIFICADOR DE VÍDEO H.264 Lajeado 2012 ) u d b / r b . s e t a v i n u . w w w / / : p PROCESSAMENTO GRÁFICOAPLICADA A CUDA UM t COMPUTAÇÃO DE COMARQUITETURA PARALELA t h ( S E T A CODIFICADOR DEH.264 VÍDEO CODIFICADOR V I N U AUGUSTO LIMBERGERAUGUSTO LENZ a d l a t i g i Lajeado Área de concentração: Computação paralela concentração: Computação de Área e Controle Automação. para a obtenção do título de bacharel em Engenharia de Universitário UNIVATES, como parte dos requisitos Centro de Ciências Exatas e Tecnológicas do TrabalhoCentro de Conclusão de Curso apresentado ao ORIENTADOR: ORIENTADOR: 2012 D a c e t o i l b i Ronaldo Hüsemann B – U D B ) u d b / r b . s e t a v i n u . w w w / / : p PROCESSAMENTO GRÁFICOAPLICADA A CUDA UM t COMPUTAÇÃO DE COMARQUITETURA PARALELA t Banca Examinadora: h ( S Mestre pelo PPGCA/UNISINOS –SãoLeopoldo, Brasil peloMestre PPGCA/UNISINOS Prof. pela–Campinas,Mestre FEEC/UNICAMP Brasil Prof. E T Coordenador docursoEngenhariade de Controle Automação e A Maglan CristianoMaglan Diemer Marcelo Gomensoro de Malheiros CODIFICADOR DEH.264 VÍDEO CODIFICADOR V I N U AUGUSTO LIMBERGERAUGUSTO LENZ _______________________________ a d l Prof. Orientador: ____________________________________ Doutor pelo PPGEE/UFRGS – Porto Alegre, –Porto PPGEE/UFRGS Brasil Doutor pelo Prof. a t i g Ronaldo Hüsemann Ronaldo i Rodrigo Porto Wolff pelo Orientador e pela Examinadora. pela Banca e pelo Orientador Automação do CETEC e aprovado em sua forma final título de bacharelEste trabalho foi julgado adequado empara a obtenção do Engenharia de Controle e D , UNIVATES a c e t , UNIVATES o i l b i , UNIVATES B – U Lajeado, de Junho 2012. D B ) u d b / r b . s e t a v i n u . w w w / importância educação. da / : p t t Dedico este trabalho ao meu pai, Edu, e a minha mãe, Ivone, por acreditarem na h ( S E T A V I N U a d l a t i g i D a c e t o i l b i B – U D B ) u d b / r b . s e t a v i n u . w w w / trabalhar em de projetos pela pesquisae amizade ao cultivada desse período. longo transcorrer realização da desse trabalhodemais e atividades da graduação. Schwingel / : p t t À Aos de colegas amizade curso, pela companhia e durantedesta odecorrer jornada. Aos colegas do Laboratório de Engenharia Aplicada: Ao professor À minha família, pelo apoio, incentivo e compreensão nos momentos difíceis, no h ( Luisa e S Marco Gobbi pelas contribuiçõesMarco Gobbipelas nodesenvolvimento trabalho. desse E portodo carinho compreensão. oamor, e T A V Ronaldo Hüsemann I N U a AGRADECIMENTOS d l a t i g i , pela sua orientação, pelas oportunidades de D a c e t o i l b i B Anderson Giacomolli – U D B , Diego ) u d b / r b . s e t a v i n u . w w w / integrado ao software de referência para validação e testes. Os resultados obtidos apontam um foi a implementação do módulo computacional, situado no codificador intraquadro,forma aque acelerar afoi codificação e aliviar a carga da CPU principal. O primeiro estudo de caso davídeo NVIDIA.Dessaalgoritmos paralelizáveis empresa forma, são executados de GPU na implementar módulos do codificador H.264 em tecnologia em arquiteturas de computadores no contexto da codificação deCUDA, vídeo. O objetivo específico é presente nas placas de Este trabalho investiga a utilização de processadores gráficos (GPUs) como coprocessadores Palavras-chaves: Codificação de Vídeo, Computação Paralela, CodificaçãoPalavras-chaves: deVídeo,Computação GPGPU, CUDA. 5,7vezes de torno vídeos para alta de definição. obtidos na estimação de movimento apontam para um aumento na velocidade de execução em foi proposto e implementado, além da estimação de movimento. implementaçãoUm algoritmo de busca adequado à arquiteturado paralela em questão cálculo de SAD. Osdefinição. Noresultados segundo estudo de caso foiganho abordado deo codificadorcerca interquadrosde através 3,9da vezes no tempo de execução deste módulo para vídeos de alta / : p t t h ( S E T A V I N U a d l a t i RESUMO g i D a c e t o i l b i B – U D B ) u d b / r b . s e t a v i n u . w w w / validation and testing. Thesituated resultsin theshow intra-framea ofencoder, speedupthe that main ofCPU. was The 3.9firstintegrated case algorithms have been implemented on the GPU accelerateto the encoding and reduce the load timesintostudy was theinthe implementationreference the of softwarecomputational executionmodules of the H.264 encoder in CUDA, present module, in NVIDIA video cards. Thus, parallelizable for of computer architectures in the context of video encoding. The specificThis goal workis toinvestigates implement the use of graphical processing units (GPUs) as co-processors for Keywords: Video Coding, Parallel Computing, GPGPU, ParallelCUDA. Computing, Keywords: Coding, Video speedup a in executionshow of5.7times the forhigh-definition videos. architecture was proposed and implemented, in addition to the SAD calculation. The results encoder was approached through motion estimation. A search algorithm suitable for parallel computational module for high-definition video. In the second case study, the inter-frame / : p t t h ( S E T A V I N U a d l a t ABSTRACT i g i D a c e t o i l b i B – U D B SUMÁRIO ) u d b / 1 INTRODUÇÃO...................................................................................................................15 r 2 UNIDADE DE PROCESSAMENTO GRÁFICO............................................................19 b . s 2.1 Histórico das GPUs......................................................................................................19 e t 2.1.1 Primeira geração...................................................................................................20 a 2.1.2 Segunda geração....................................................................................................20 v i 2.1.3 Terceira Geração...................................................................................................21 n 2.1.4 Quarta geração......................................................................................................21 u . 2.1.5 Quinta geração......................................................................................................22 w 2.2 Pipeline gráfico tradicional.........................................................................................22 w 2.3 Processamento de propósito geral em GPU...............................................................23 w / / 2.4 Visão Geral da CUDA..................................................................................................23 : 2.5 Arquitetura de hardware............................................................................................25 p t t 2.6 Modelo de programação..............................................................................................27 h 2.6.1 Função Kernel.......................................................................................................27 ( 2.6.2 Hierarquia de threads...........................................................................................28 S 2.6.3 Hierarquia de memória........................................................................................29 E T 2.7 Detalhamento dos espaços de memória......................................................................31 A 2.7.1 Registradores e memória local.............................................................................31 V 2.7.2 Memória compartilhada.......................................................................................31 I N 2.7.3 Memória global.....................................................................................................32 U 2.7.4 Memória de textura e superfície..........................................................................33 a 2.7.5 Memória de constantes.........................................................................................34 d 3 CODIFICAÇÃO DE VÍDEO.............................................................................................35 l a 3.1 Vídeo digital..................................................................................................................35 t i 3.2 Compressão de vídeo...................................................................................................36 g i 3.3 Introdução ao H.264....................................................................................................37 D 3.4 Descrição do codec H.264............................................................................................37 a 3.4.1 Predição intraquadro............................................................................................38 c e 3.4.2 Transformadas diretas e inversas........................................................................40 t o 3.4.2.1 Transformada discreta de cossenos..................................................................41 i l 3.4.2.2 Transformada de Hadamard............................................................................44 b i 3.4.3 Quantização...........................................................................................................45 B 3.4.4 Estimativa de movimento.....................................................................................48 – 3.4.4.1 Algoritmos de busca...........................................................................................50 U 3.4.4.2 Critérios de similaridade...................................................................................53
Recommended publications
  • September 1999
    SEPTEMBER 1999 GAME DEVELOPER MAGAZINE ON THE FRONT LINE OF GAME INNOVATION GAME PLAN DEVELOPER 600 Harrison Street, San Francisco, CA 94107 t: 415.905.2200 f: 415.905.2228 w: www.gdmag.com Fast, Cheap, and Publisher Cynthia A. Blair cblair@mfi.com EDITORIAL Out of Control Editorial Director Alex Dunne [email protected] Managing Editor his past July I was fortunate mond Rio. If major motion picture stu- Kimberley Van Hooser [email protected] to fly out to Monte Carlo for dios, television networks, radio sta- Departments Editor Medpi, a gathering of game tions, and record labels decide that the Jennifer Olsen [email protected] publishers and representa- time’s right to push their content onto Art Director T Laura Pool lpool@mfi.com tives from the largest French game dis- the Internet (I’m talking in a major Editor-At-Large tributors. In a sense it’s like E3, except way — not the half-hearted attempts Chris Hecker [email protected] that the entire Medpi exhibition area we’re seeing today), what will that do Contributing Editors could have fit within Nintendo’s E3 to game sales? Will the competition Jeff Lander [email protected] Mel Guymon [email protected] booth. During my second day at the from other forms of digital entertain- Omid Rahmat [email protected] show, I met a developer on the show ment mean opportunities for game Advisory Board floor who works for a major game developers, or will it threaten the pre- Hal Barwood LucasArts development/publishing company. As eminence of games as computer-based Noah Falstein The Inspiracy Brian Hook id Software 6 we toured his company’s booth and he digital entertainment? Susan Lee-Merrow Lucas Learning demonstrated their upcoming titles for While the current retail model for Mark Miller Harmonix Paul Steed id Software me, we began discussing movies — The games is far from dead and competition Dan Teven Teven Consulting Phantom Menace, specifically.
    [Show full text]
  • Programmable Shading in Opengl
    Computer Graphics - Programmable Shading in OpenGL - Arsène Pérard-Gayot History • Pre-GPU graphics acceleration – SGI, Evans & Sutherland – Introduced concepts like vertex transformation and texture mapping • First-generation GPUs (-1998) – NVIDIA TNT2, ATI Rage, Voodoo3 – Vertex transformation on CPU, limited set of math operations • Second-generation GPUs (1999-2000) – GeForce 256, GeForce2, Radeon 7500, Savage3D – Transformation & lighting, more configurable, still not programmable • Third-generation GPUs (2001) – GeForce3, GeForce4 Ti, Xbox, Radeon 8500 – Vertex programmability, pixel-level configurability • Fourth-generation GPUs (2002) – GeForce FX series, Radeon 9700 and on – Vertex-level and pixel-level programmability (limited) • Eighth-generation GPUs (2007) – Geometry shaders, feedback, unified shaders, … • Ninth-generation GPUs (2009/10) – OpenCL/DirectCompute, hull & tesselation shaders Graphics Hardware Gener Year Product Process Transistors Antialiasing Polygon ation fill rate rate 1st 1998 RIVA TNT 0.25μ 7 M 50 M 6 M 1st 1999 RIVA TNT2 0.22μ 9 M 75 M 9 M 2nd 1999 GeForce 256 0.22μ 23 M 120 M 15 M 2nd 2000 GeForce2 0.18μ 25 M 200 M 25 M 3rd 2001 GeForce3 0.15μ 57 M 800 M 30 M 3rd 2002 GeForce4 Ti 0.15μ 63 M 1,200 M 60 M 4th 2003 GeForce FX 0.13μ 125 M 2,000 M 200 M 8th 2007 GeForce 8800 0.09μ 681 M 36,800 M 13,800 M (GT100) 8th 2008 GeForce 280 0.065μ 1,400 M 48,200 M ?? (GT200) 9th 2009 GeForce 480 0.04μ 3,000 M 42,000 M ?? (GF100) Shading Languages • Small program fragments (plug-ins) – Compute certain aspects of the
    [Show full text]
  • Millennium G400/G400 MAX User Guide
    ENGLISH Millennium G400 • Millennium G400 MAX User Guide 10526-301-0510 1999.05.21 Contents Using this guide 3 Hardware installation 4 Software installation 7 Software setup 8 Accessing PowerDesk property sheets................................................................................................8 Monitor setup ......................................................................................................................................8 DualHead Multi-Display setup............................................................................................................9 More information ..............................................................................................................................11 Troubleshooting 12 Extra troubleshooting 18 Graphics ............................................................................................................................................18 Video .................................................................................................................................................23 DVD ..................................................................................................................................................24 TV output 26 Connection setup...............................................................................................................................26 SCART adapter .................................................................................................................................28 Software
    [Show full text]
  • Troubleshooting Guide Table of Contents -1- General Information
    Troubleshooting Guide This troubleshooting guide will provide you with information about Star Wars®: Episode I Battle for Naboo™. You will find solutions to problems that were encountered while running this program in the Windows 95, 98, 2000 and Millennium Edition (ME) Operating Systems. Table of Contents 1. General Information 2. General Troubleshooting 3. Installation 4. Performance 5. Video Issues 6. Sound Issues 7. CD-ROM Drive Issues 8. Controller Device Issues 9. DirectX Setup 10. How to Contact LucasArts 11. Web Sites -1- General Information DISCLAIMER This troubleshooting guide reflects LucasArts’ best efforts to account for and attempt to solve 6 problems that you may encounter while playing the Battle for Naboo computer video game. LucasArts makes no representation or warranty about the accuracy of the information provided in this troubleshooting guide, what may result or not result from following the suggestions contained in this troubleshooting guide or your success in solving the problems that are causing you to consult this troubleshooting guide. Your decision to follow the suggestions contained in this troubleshooting guide is entirely at your own risk and subject to the specific terms and legal disclaimers stated below and set forth in the Software License and Limited Warranty to which you previously agreed to be bound. This troubleshooting guide also contains reference to third parties and/or third party web sites. The third party web sites are not under the control of LucasArts and LucasArts is not responsible for the contents of any third party web site referenced in this troubleshooting guide or in any other materials provided by LucasArts with the Battle for Naboo computer video game, including without limitation any link contained in a third party web site, or any changes or updates to a third party web site.
    [Show full text]
  • Linux Hardware Compatibility HOWTO
    Linux Hardware Compatibility HOWTO Steven Pritchard Southern Illinois Linux Users Group [email protected] 3.1.5 Copyright © 2001−2002 by Steven Pritchard Copyright © 1997−1999 by Patrick Reijnen 2002−03−28 This document attempts to list most of the hardware known to be either supported or unsupported under Linux. Linux Hardware Compatibility HOWTO Table of Contents 1. Introduction.....................................................................................................................................................1 1.1. Notes on binary−only drivers...........................................................................................................1 1.2. Notes on commercial drivers............................................................................................................1 1.3. System architectures.........................................................................................................................1 1.4. Related sources of information.........................................................................................................2 1.5. Known problems with this document...............................................................................................2 1.6. New versions of this document.........................................................................................................2 1.7. Feedback and corrections..................................................................................................................3 1.8. Acknowledgments.............................................................................................................................3
    [Show full text]
  • From a Programmable Pipeline to an Efficient Stream Processor
    Computation on GPUs: From a Programmable Pipeline to an Efficient Stream Processor João Luiz Dihl Comba 1 Carlos A. Dietrich1 Christian A. Pagot1 Carlos E. Scheidegger1 Resumo: O recente desenvolvimento de hardware gráfico apresenta uma mu- dança na implementação do pipeline gráfico, de um conjunto fixo de funções, para programas especiais desenvolvidos pelo usuário que são executados para cada vértice ou fragmento. Esta programabilidade permite implementações de diversos algoritmos diretamente no hardware gráfico. Neste tutorial serão apresentados as principais técnicas relacionadas a implementação de algoritmos desta forma. Serão usados exemplos baseados em artigos recentemente publicados. Através da revisão e análise da contribuição dos mesmos, iremos explicar as estratégias por trás do desenvolvimento de algoritmos desta forma, formando uma base que permita ao leitor criar seus próprios algoritmos. Palavras-chave: Hardware Gráfico Programável, GPU, Pipeline Gráfico Abstract: The recent development of graphics hardware is presenting a change in the implementation of the graphics pipeline, from a fixed set of functions, to user- developed special programs to be executed on a per-vertex or per-fragment basis. This programmability allows the efficient implementation of different algorithms directly on the graphics hardware. In this tutorial we will present the main techniques that are involved in implementing algorithms in this fashion. We use several test cases based on recently published pa- pers. By reviewing and analyzing their contribution, we explain the reasoning behind the development of the algorithms, establishing a common ground that allow readers to create their own novel algorithms. Keywords: Programmable Graphics Hardware, GPU, Graphics Pipeline 1UFRGS, Instituto de Informática, Caixa Postal 15064, 91501-970 Porto Alegre/RS, Brasil e-mail: {comba, cadietrich, capagot, carlossch}@inf.ufrgs.br Este trabalho foi parcialmente financiado pela CAPES, CNPq e FAPERGS.
    [Show full text]
  • Programming Guide: Revision 1.4 June 14, 1999 Ccopyright 1998 3Dfxo Interactive,N Inc
    Voodoo3 High-Performance Graphics Engine for 3D Game Acceleration June 14, 1999 al Voodoo3ti HIGH-PERFORMANCEopy en GdRAPHICS E NGINEC FOR fi ot 3D GAME ACCELERATION on Programming Guide: Revision 1.4 June 14, 1999 CCopyright 1998 3Dfxo Interactive,N Inc. All Rights Reserved D 3Dfx Interactive, Inc. 4435 Fortran Drive San Jose CA 95134 Phone: (408) 935-4400 Fax: (408) 935-4424 Copyright 1998 3Dfx Interactive, Inc. Revision 1.4 Proprietary and Preliminary 1 June 14, 1999 Confidential Voodoo3 High-Performance Graphics Engine for 3D Game Acceleration Notice: 3Dfx Interactive, Inc. has made best efforts to ensure that the information contained in this document is accurate and reliable. The information is subject to change without notice. No responsibility is assumed by 3Dfx Interactive, Inc. for the use of this information, nor for infringements of patents or the rights of third parties. This document is the property of 3Dfx Interactive, Inc. and implies no license under patents, copyrights, or trade secrets. Trademarks: All trademarks are the property of their respective owners. Copyright Notice: No part of this publication may be copied, reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photographic, or otherwise, or used as the basis for manufacture or sale of any items without the prior written consent of 3Dfx Interactive, Inc. If this document is downloaded from the 3Dfx Interactive, Inc. world wide web site, the user may view or print it, but may not transmit copies to any other party and may not post it on any other site or location.
    [Show full text]
  • Ibm Pc 300Pl
    The network performance solution for today and tomorrow IBM PC 300PL The IBM PC 300PL is the system for Highlights mainstream business applications of today and tomorrow. Designed for Advanced Manageability Total system solutions enhanced network manageability and Managing your networked PCs has never IBM SystemXtra can provide you with security, the IBM PC 300PL delivers been easier. IBM’s Wake on LAN technol- hardware, software, services and innovative features that make system and ogy incorporated into a 10/100 integrated financing in a total, customized package asset management easier than ever Ethernet controller and LANClient Control with a single monthly payment.2 before—so you can concentrate more on Manager software can boost productivity business. It has the performance you for both administrators and users. need, with room to grow, at a great value that will fit most budgets. Protection for your assets IBM AssetCare includes an Enhanced Asset Information Area (on an EEPROM chip) recorded with system and end-user information, as well as features like laser- etching and registration of critical components, to provide a complete asset management solution. Power and performance All models feature an Intel® Pentium® processor with MMX™ technology—with speeds up to 233MHz1—integrated audio and powerful Matrox 3-D graphics, ensuring outstanding application response times. Easy to service and upgrade An NLX-style motherboard and advanced chassis design make this PC a breeze to upgrade and maintain. Available as either a desktop or mini tower, the IBM PC 300PL is ideal for any environment. Just better business IBM Personal Computing Solution Advanced Manageability Protection for your assets Power and performance The IBM PC 300PL has been designed IBM AssetCare represents the latest in Today’s business applications are power from the ground up to be easy to set up system security and data protection hungry, and the IBM PC 300PL delivers and administer, so customers can focus capabilities.
    [Show full text]
  • Graphical Process Unit a New Era
    Nov 2014 (Volume 1 Issue 6) JETIR (ISSN-2349-5162) Graphical Process Unit A New Era Santosh Kumar, Shashi Bhushan Jha, Rupesh Kumar Singh Students Computer Science and Engineering Dronacharya College of Engineering, Greater Noida, India Abstract - Now in present days every computer is come with G.P.U (graphical process unit). The graphics processing unit (G.P.U) has become an essential part of today's mainstream computing systems. Over the past 6 years, there has been a marked increase in the performance and potentiality of G.P.U. The modern G.P.Us is not only a powerful graphics engine but also a deeply parallel programmable processor showing peak arithmetic and memory bandwidth that substantially outpaces its CPU counterpart. The G.P.U's speedy increase in both programmability and capability has spawned a research community that has successfully mapped a broad area of computationally demanding, mixed problems to the G.P.U. This effort in general-purpose computing on the G.P.Us, also known as G.P.U computing, has positioned the G.P.U as a compelling alternative to traditional microprocessors in high-performance computer systems of the future. We illustrate the history, hardware, and programming model for G.P.U computing, abstract the state of the art in tools and techniques, and present 4 G.P.U computing successes in games physics and computational physics that deliver order-of- magnitude performance gains over optimized CPU applications. Index Terms - G.P.U, History of G.P.U, Future of G.P.U, Problems in G.P.U, eG.P.U, Integrated graphics ________________________________________________________________________________________________________ I.
    [Show full text]
  • Sony's Emotionally Charged Chip
    VOLUME 13, NUMBER 5 APRIL 19, 1999 MICROPROCESSOR REPORT THE INSIDERS’ GUIDE TO MICROPROCESSOR HARDWARE Sony’s Emotionally Charged Chip Killer Floating-Point “Emotion Engine” To Power PlayStation 2000 by Keith Diefendorff rate of two million units per month, making it the most suc- cessful single product (in units) Sony has ever built. While Intel and the PC industry stumble around in Although SCE has cornered more than 60% of the search of some need for the processing power they already $6 billion game-console market, it was beginning to feel the have, Sony has been busy trying to figure out how to get more heat from Sega’s Dreamcast (see MPR 6/1/98, p. 8), which has of it—lots more. The company has apparently succeeded: at sold over a million units since its debut last November. With the recent International Solid-State Circuits Conference (see a 200-MHz Hitachi SH-4 and NEC’s PowerVR graphics chip, MPR 4/19/99, p. 20), Sony Computer Entertainment (SCE) Dreamcast delivers 3 to 10 times as many 3D polygons as and Toshiba described a multimedia processor that will be the PlayStation’s 34-MHz MIPS processor (see MPR 7/11/94, heart of the next-generation PlayStation, which—lacking an p. 9). To maintain king-of-the-mountain status, SCE had to official name—we refer to as PlayStation 2000, or PSX2. do something spectacular. And it has: the PSX2 will deliver Called the Emotion Engine (EE), the new chip upsets more than 10 times the polygon throughput of Dreamcast, the traditional notion of a game processor.
    [Show full text]
  • Shader Programming
    Shader Programming The University of Tennessee Dr. Jian Huang Presented by: Jamison Daniel www.cs.utk.edu/~daniel/shaders Specialized and Expensive Graphics Hardware • Silicon Graphics (SGI) and Evans & Sutherland designed specialized and expensive graphics hardware. • Introduced vertex transformation and texture mapping. • Extremely expensive; no mass-market success. Noninteractive Shading Languages • Renderman Shading Language developed by Pixar Animation Studio in the late 1980s. • Inspired by an earlier idea called shade trees. [Rob Cook SIGGRAPH 1984] • Open ended control of the appearance of rendered surfaces in the pursuit of photorealism requires programmability. Pixar Animation Studio PhotoRealistic Renderman™ “Dumb” Frame Buffers • IBM introduced Video Graphics Array (VGA) hardware in 1987. • CPU was responsible for updating all the pixels. • All aspects of computer graphics were “programmable”. First Generation GPUs (up to 1998) • nVidia’s TNT2, ATI’s Rage, and 3dfx’s Voodoo3. • Capable of rasterizing pre-transformed triangles and applying one or two textures. • Completely relieve the CPU from updating individual pixels. • Lack the ability to transform vertices of 3D objects (vertex transformations occur on the CPU). • Limited set of math operations for combining textures to compute the color of rasterized pixels. Second Generation GPUs • nVidia’s GeForce 256 and GeForce2, ATI’s Radeon 7500, and S3’s Savage3D. • Offload 3D vertex transformation and lighting (T&L) from the CPU. • Expanded set of math operations for combining textures and coloring pixels, including cube map textures and signed math operations. • Not programmable. Third-Generation GPUs • nVidia’s GeForce3 and GeForce4 Ti, Microsoft's Xbox, and ATI’s Radeon 8500. • Provides vertex programmability rather than merely offering more configurability.
    [Show full text]
  • GPU Radionica
    GPU radionica Luko Gjenero SRCE 30. Siječnja 2013. GPU? 30. Siječnja 2013. Povijest video igara • Najstariji zapisi • 25 Siječanj 1947 • Thomas T. Goldsmith, Jr. • Estle Ray Mann • "cathode ray tube amusement device" 30. Siječnja 2013. Povijest video igara • Prvi pokušaji zabave 30. Siječnja 2013. Povijest video igara • Prva UNIX aplikacija 30. Siječnja 2013. Povijest video igara • Igraći uređaji – 1970te 30. Siječnja 2013. Povijest video igara • Space Invaders 30. Siječnja 2013. Povijest video igara • Prvi 3D pokušaji 30. Siječnja 2013. Povijest video igara • 1990te – flat 30. Siječnja 2013. Povijest video igara • 1990te – texture mapping 30. Siječnja 2013. Povijest video igara • 1990te – 3D akeceleratori 30. Siječnja 2013. Povijest video igara 30. Siječnja 2013. Danas 30. Siječnja 2013. Povijest GPU -> 30. Siječnja 2013. 3D grafika • Renderiranje – Proces kreiranja slike iz modela • Vertex – Vrh poligona (najčešće trokuta) u modelu • Pixel – Najmanji element ekrana koji se može adresirati 30. Siječnja 2013. 3D grafika • Kako od modela do slike -1.069812 1.643532 -0.283202 -1.523047 1.586146 -0.444300 -1.728016 1.344536 -0.656323 -1.815546 1.037839 -0.906679 -1.810727 0.682244 -1.158979 -1.788165 0.455138 -1.301172 -1.764957 0.177459 -1.467339 -1.701842 -0.448811 -1.830056 -> -1.672400 -1.013893 -2.108265 -1.626917 -1.431036 -2.280596 -1.703426 -1.507439 -1.654671 -1.813526 -1.568119 -0.884709 -1.934581 -1.572616 -0.164067 -2.085154 -1.548759 0.671415 -2.223489 -1.516222 1.435532 … 30. Siječnja 2013. Povijest GPU • Prije GPU -> CPU – Slijedno računanje • Količina operacija – Scena sa 100 000 trokuta – Svaki trokut rasterizira se na prosječno 100 pixela – 10 izvora svjetlosti – 4 ciklusa po izvoru – => 400 000 000 ciklusa 30.
    [Show full text]