Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/383259.383274acmconferencesArticle/Chapter ViewAbstractPublication PagessiggraphConference Proceedingsconference-collections
Article

A user-programmable vertex engine

Published: 01 August 2001 Publication History

Abstract

In this paper we describe the design, programming interface, and implementation of a very efficient user-programmable vertex engine. The vertex engine of NVIDIA's GeForce3 GPU evolved from a highly tuned fixed-function pipeline requiring considerable knowledge to program. Programs operate only on a stream of independent vertices traversing the pipe. Embedded in the broader fixed function pipeline, our approach preserves parallelism sacrificed by previous approaches. The programmer is presented with a straightforward programming model, which is supported by transparent multi-threading and bypassing to preserve parallelism and performance.
In the remainder of the paper we discuss the motivation behind our design and contrast it with previous work. We present the programming model, the instruction set selection process, and details of the hardware implementation. Finally, we discuss important API design issues encountered when creating an interface to such a device. We close with thoughts about the future of programmable graphics devices.

References

[1]
Advanced Micro Devices. 3DNowTM Technology Manual. www.amd.com/Ko/kodocs/pdf/21928.pdf
[2]
Kurt Akeley. RealityEngine Graphics. In James T. Kajiya, editor, SIGGRAPH 93 Conference Proceedings, Annual Conference Series, pages 109-11o. ACM SIGGRAPH, Addison Wesley, August 1993.
[3]
Kurt Akeley and Tom Jermoluk. High Performance Polygon Rendering. In John Dill, editor, Computer Graphics (SIGGRAPH 88 Conference Proceedings), volume 22, pages 239-24o. Addison Wesley, August 1988.
[4]
Brian Apgar, Bret Bersack, and Abraham Mammen. A Display System for the StellarTM Graphics Supercomputer Model GS1000TM. In John Dill, editor, Computer Graphics (SIGGRAPH 88 Conference Proceedings), volume 22, pages 255-2o2. Addison Wesley, August 1988.
[5]
James H. Clark. The Geometry Engine: A VLSI Geometry System for Graphics. In R. Daniel Bergeron, editor, Computer Graphics (SIGGRAPH 82 Conference Proceedings), volume 1o, pages 127 - 133. Addison Wesley, July 1982.
[6]
DirectX Home. http://www.microsoft.com/directx
[7]
Nick England. A Graphics System Architecture for Interactive Application-Specific Display Functions. IEEE Computer Graphics and Applications, 6(1): 60-70, January 1986.
[8]
I. Ernst, D. Jackel, H. Russeler, O. Wittig, Hardware Supported Bump Mapping: A Step towards Higher Quality Real-Time Rendering, 10 th Eurographics Workshop on Graphics Hardware, August 28-29, 1995, pp. 63-70.
[9]
Sam Fuller. Motorola's AltiVecTM Technology. Motorola Inc.
[10]
Henry Fuchs, John Poulton, John Eyles, Trey Greer, Jack Goldfeather, David Ellsworth, Steve Molnar, Greg Turk, Brice Tebbs, and Laura Israel. Pixel-Planes 5: A Heterogeneous Multiprocessor Graphics System Using Processor-Enhanced Memories. In Jeffrey Lane, editor, Computer Graphics (SIGGRAPH 89 Conference Proceedings), volume 23, pages 79-88. Addison Wesley, July 1989.
[11]
Chandlee Harrell and Farhad Fouladi. Graphics Rendering Architecture for a High Performance Desktop Workstation. In James T. Kajiya, editor, SIGGRAPH 93 Conference Proceedings, Annual Conference Series, pages 93-100. ACM SIGGRAPH, Addison Wesley, August 1993
[12]
Wolfgang Heidrich and Hans-Peter Seidel, Efficient Rendering of Anisotropic Surfaces Using Computer Graphics Hardware, Image and Multi-dimensional Digital Signal Processing Workshop, 1998
[13]
Intel. I860 Microprocessor Family. Programmer's Reference Manual. 1992. ISBN 1-55512-165-9.
[14]
IA-32 Intel Architecture Software Developer's Manual Volume2: Instruction Set Reference. Copyright 1997-2000 Intel Corporation.
[15]
David Kirk and Douglas Voorhies. The Rendering Architecture of the DN10000VS. In Forest Baskett, editor, Computer Graphics (SIGGRAPH 90 Conference Proceedings), volume 24, pages 299- 307. Addison Wesley, August 1990.
[16]
A. Kunimatsu, N. Ide, T. Sato, Y. Endo, H. Murakami, T. Kamei, M. Hirano, M. Oka, A. Ohba, T. Yutaka, T. Okada, and M. Suzuoki. 5.5 GFLOPS Vector Units for Emotion Synthesis. Conference Record, Hot Chips 11, August 15-17, 1999, Stanford University, Palo Alto, California.
[17]
Adam Levinthal and Thomas Porter. Chap - A SIMD Graphics Processor. In Hank Christiansen editor, Computer Graphics (SIGGRAPH 84 Conference Proceedings), volume 18, pages 77-82. Addison Wesley, July 1984.
[18]
MIPS Technologies Inc. MIPS-3DTM ASE: 3D Graphics Application Specific Extension. www.mips.com/products/3d.pdf
[19]
Steven Molnar, John Eyles and John Poulton. PixelFlow: High-Speed Rendering Using Image Composition. In Edwin E. Catmull, editor, Computer Graphics (SIGGRAPH 92 Conference Proceedings), volume 26, pages 231-240. Addison Wesley, July 1992.
[20]
NVIDIA Corporation, NVIDIA OpenGL Extension Specifications, Mark Kilgard, editor, May 2001. http://www.nvidia.com/developer
[21]
Mark Peercy, John Airey, Brian Cabral, Efficient Bump Mapping Hardware, Computer Graphics (SIGGRAPH 97 Conference Proceedings), pages 303-306. Addison Wesley, August 1997.
[22]
Kekoa Proudfoot, William Mark, Svetoslav Tzvetkov, and Pat Hanrahan. A Real-Time Procedural Shading System for Programmable Graphics Hardware, Computer Graphics (SIGGRAPH 2001 Conference Proceedings), Addison Wesley, August 2001.
[23]
John Montrym, Daniel Baum, David Dignam and Chris Migdal. InfiniteReality: A Real-Time Graphics System. In Turner Whitted, editor, SIGGRAPH 97 Conference Proceedings, Annual Conference Series, pages 293-302. ACM SIGGRAPH, Addison Wesley, August 1997.
[24]
Michael Potmesil and Eric Hoffert. The Pixel Machine: A Parallel Image Computer. In Jeffrey Lane, editor, Computer Graphics (SIGGRAPH 89 Conference Proceedings), volume 23, pages 69-78. Addison Wesley, July 1989.
[25]
Mark Segal and Kurt Akeley. The OpenGL Graphics System: A Specification (Version 1.2.1). www.opengl.org
[26]
John Torborg. A parallel processor architecture for graphics arithmetic operations. In Maureen C. Stone, editor, Computer Graphics (SIGGRAPH 87 Conference Proceedings), volume 21, pages 197-204. Addison Wesley, July 1987.
[27]
Channing Verbeck. Personal communication. December 2000.
[28]
Douglas Voorhies, Jim Foran, Reflection Vector Shading Hardware, Computer Graphics (SIGGRAPH 94 Conference Proceedings), pages 163-166. Addison Wesley, July 1994.

Cited By

View all
  • (2023)Brook for GPUs: Stream Computing on Graphics HardwareSeminal Graphics Papers: Pushing the Boundaries, Volume 210.1145/3596711.3596716(29-38)Online publication date: 1-Aug-2023
  • (2023)Skybox: Open-Source Graphic Rendering on Programmable RISC-V GPUsProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 310.1145/3582016.3582024(616-630)Online publication date: 25-Mar-2023
  • (2022)Query Processing on Heterogeneous CPU/GPU SystemsACM Computing Surveys10.1145/348512655:1(1-38)Online publication date: 17-Jan-2022
  • Show More Cited By

Index Terms

  1. A user-programmable vertex engine

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SIGGRAPH '01: Proceedings of the 28th annual conference on Computer graphics and interactive techniques
    August 2001
    600 pages
    ISBN:158113374X
    DOI:10.1145/383259
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 August 2001

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. graphics hardware
    2. graphics systems

    Qualifiers

    • Article

    Conference

    SIGGRAPH01
    Sponsor:

    Acceptance Rates

    SIGGRAPH '01 Paper Acceptance Rate 65 of 300 submissions, 22%;
    Overall Acceptance Rate 1,822 of 8,601 submissions, 21%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)39
    • Downloads (Last 6 weeks)5
    Reflects downloads up to 04 Oct 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Brook for GPUs: Stream Computing on Graphics HardwareSeminal Graphics Papers: Pushing the Boundaries, Volume 210.1145/3596711.3596716(29-38)Online publication date: 1-Aug-2023
    • (2023)Skybox: Open-Source Graphic Rendering on Programmable RISC-V GPUsProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 310.1145/3582016.3582024(616-630)Online publication date: 25-Mar-2023
    • (2022)Query Processing on Heterogeneous CPU/GPU SystemsACM Computing Surveys10.1145/348512655:1(1-38)Online publication date: 17-Jan-2022
    • (2022)General Purpose Computing on Graphics Processing Units: From Fixed-Function Pipelines to Programmable Cores2022 4th International Conference on Advances in Computing, Communication Control and Networking (ICAC3N)10.1109/ICAC3N56670.2022.10074048(2064-2075)Online publication date: 16-Dec-2022
    • (2021)Co-designing the Topology/Algorithm to Accelerate Distributed Training2021 IEEE Intl Conf on Parallel & Distributed Processing with Applications, Big Data & Cloud Computing, Sustainable Computing & Communications, Social Computing & Networking (ISPA/BDCloud/SocialCom/SustainCom)10.1109/ISPA-BDCloud-SocialCom-SustainCom52081.2021.00141(1010-1018)Online publication date: Sep-2021
    • (2021)3DStyleNet: Creating 3D Shapes with Geometric and Texture Style Variations2021 IEEE/CVF International Conference on Computer Vision (ICCV)10.1109/ICCV48922.2021.01223(12436-12445)Online publication date: Oct-2021
    • (2019)Specialization Opportunities in Graphical Workloads2019 28th International Conference on Parallel Architectures and Compilation Techniques (PACT)10.1109/PACT.2019.00029(272-283)Online publication date: Sep-2019
    • (2018)General-Purpose Graphics Processor ArchitecturesSynthesis Lectures on Computer Architecture10.2200/S00848ED1V01Y201804CAC04413:2(1-140)Online publication date: 21-May-2018
    • (2018)Heterogeneous computing for epidemiological model fitting and simulationBMC Bioinformatics10.1186/s12859-018-2108-319:1Online publication date: 16-Mar-2018
    • (2018)A Cross-platform Evaluation of Graphics Shader Compiler Optimization2018 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)10.1109/ISPASS.2018.00035(219-228)Online publication date: Apr-2018
    • Show More Cited By

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media