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

Mio: fast multipass partitioning via priority-based instruction scheduling

Published: 29 August 2004 Publication History

Abstract

Real-time graphics hardware continues to offer improved resources for programmable vertex and fragment shaders. However, shader programmers continue to write shaders that require more resources than are available in the hardware. One way to virtualize the resources necessary to run complex shaders is to partition the shaders into multiple rendering passes. This problem, called the "Multi-Pass Partitioning Problem" (MPP), and a solution for the problem, Recursive Dominator Split (RDS), have been presented by Eric Chan et al. The O(n3) RDS algorithm and its heuristic-based O(n2) cousin, RDSh, are robust in that they can efficiently partition shaders for many architectures with varying resources. However, RDS's high runtime cost and inability to handle multiple outputs per pass make it less desirable for real-time use on today's latest graphics hardware. This paper redefines the MPP as a scheduling problem and uses scheduling algorithms that allow incremental resource estimation and pass computation in O(n log n) time. Our scheduling algorithm, Mio, is experimentally compared to RDS and shown to have better run-time scaling and produce comparable partitions for emerging hardware architectures.

References

[1]
{AJU77} Aho A. V., Johnson S. C., Ullman J. D.: Code generation for expressions with common subexpressions. Journal of the ACM 24, 1 (1977), 146--160.
[2]
{Bar97} Barzel R.: Lighting controls for computer cinematography. Journal of Graphics Tools 2, 1 (1997), 1--20. http://www.renderman. org/RMR/Shaders/BMRTShaders/uberlight.sl.
[3]
{BP03} Bleiweiss A., Preetham A.: Ashli---Advanced shading language interface. ACM Siggraph Course Notes (2003). http://www.ati.com/developer/SIGGRAPH03/AshliNotes.pdf.
[4]
{BR91} Bernstein D., Rodeh M.: Global instruction scheduling for superscalar machines. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (1991), pp. 241--255.
[5]
{Buc04} Buck I.: GPGPU: General-purpose computation on graphics hardware---GPU computation strategies & tricks. ACM Siggraph Course Notes (Aug. 2004).
[6]
{CNS*02} Chan E., Ng R., Sen P., Proudfoot K., Hanrahan P.: Efficient partitioning of fragment shaders for multipass rendering on programmable graphics hardware. In Graphics Hardware 2002 (Sept. 2002), pp. 69--78.
[7]
{Coo84} Cook R. L.: Shade trees. In Computer Graphics (Proceedings of SIGGRAPH 84) (July 1984), vol. 18, pp. 223--231.
[8]
{CSS98} Cooper K. D., Schielke P. J., Subramanian D.: An Experimental Evaluation of List Scheduling. Tech. Rep. 98-326, Department of Computer Science, Rice University, Sept. 1998.
[9]
{FHH04} Foley T., Houston M., Hanrahan P.: Efficient partitioning of fragment shaders for multiple-output hardware. In Graphics Hardware 2004 (Aug. 2004).
[10]
{GT83} Gabow H. N., Tarjan R. E.: A linear-time algorithm for a special case of disjoint set union. In Proceedings of the Fifteenth Annual ACM Symposium on Theory of Computing (1983), pp. 246--251.
[11]
{HL90} Hanrahan P., Lawson J.: A language for shading and lighting calculations. In Computer Graphics (Proceedings of SIGGRAPH 90) (Aug. 1990), vol. 24, pp. 289--298.
[12]
{IKN03} Inagaki T., Komatsu H., Nakatani T.: Integrated prepass scheduling for a Java just-in-time compiler on the IA-64 architecture. In Proceedings of the International Symposium on Code Generation and Optimization (2003), pp. 159--168.
[13]
{JM98} Jain A. S., Meeran S.: A State-of-the-Art Review of Job-Shop Scheduling Techniques. Tech. rep., Department of Applied Physics, Electronics and Mechanical Engineering, University of Dundee, Scotland, 1998.
[14]
{KBR03} Kessenich J., Baldwin D., Rost R.: The OpenGL Shading Language version 1.051. http://www.opengl.org/documentation/oglsl.html, Feb. 2003.
[15]
{LDSM80} Landskov D., Davidson S., Shriver B., Mallett P. W.: Local microcode compaction techniques. ACM Computing Surveys 12, 3 (1980), 261--294.
[16]
{McC01} McCool M.: SMASH: A Next-Generation API for Programmable Graphics Accelerators. Tech. Rep. CS-2000-14, Department of Computer Science, University of Waterloo, 20 April 2001. API Version 0.2.
[17]
{MGAK03} Mark W. R., Glanville R. S., Akeley K., Kilgard M. J.: Cg: A system for programming graphics hardware in a C-like language. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH 2003) 22, 3 (July 2003), 896--907.
[18]
{PMTH01} Proudfoot K., Mark W. R., Tzvetkov S., Hanrahan P.: A real-time procedural shading system for programmable graphics hardware. In Proceedings of ACM SIGGRAPH 2001 (Aug. 2001), Computer Graphics Proceedings, Annual Conference Series, pp. 159--170.
[19]
{POAU00} Peercy M. S., Olano M., Airey J., Ungar P. J.: Interactive multi-pass programmable shading. In Proceedings of ACM SIGGRAPH 2000 (July 2000), Computer Graphics Proceedings, Annual Conference Series, pp. 425--432.
[20]
{SGI04} SGI: OpenGL Shader, 2004. http://www.sgi.com/software/shader/.
[21]
{SU70} Sethi R., Ullman J. D.: The generation of optimal code for arithmetic expressions. Journal of the ACM 17, 4 (Oct. 1970), 715--728.
[22]
{Ups90} Upstill S.: The Renderman Companion. Addison-Wesley, 1990.

Cited By

View all
  • (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
  • (2014)shade.jsComputer Graphics Forum10.1111/cgf.1247333:7(51-60)Online publication date: 1-Oct-2014
  • (2009)Out‐of‐Core and Dynamic Programming for Data Distribution on a Volume Visualization ClusterComputer Graphics Forum10.1111/j.1467-8659.2008.01307.x28:1(141-153)Online publication date: 23-Feb-2009
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
HWWS '04: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware
August 2004
142 pages
ISBN:3905673150
DOI:10.1145/1058129
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: 29 August 2004

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

GH04
Sponsor:
GH04: Graphics Hardware 2004
August 29 - 30, 2004
Grenoble, France

Acceptance Rates

Overall Acceptance Rate 37 of 94 submissions, 39%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 21 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (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
  • (2014)shade.jsComputer Graphics Forum10.1111/cgf.1247333:7(51-60)Online publication date: 1-Oct-2014
  • (2009)Out‐of‐Core and Dynamic Programming for Data Distribution on a Volume Visualization ClusterComputer Graphics Forum10.1111/j.1467-8659.2008.01307.x28:1(141-153)Online publication date: 23-Feb-2009
  • (2008)Control flow emulation on tiled SIMD architecturesProceedings of the Joint European Conferences on Theory and Practice of Software 17th international conference on Compiler construction10.5555/1788374.1788384(100-115)Online publication date: 29-Mar-2008
  • (2008)Control Flow Emulation on Tiled SIMD ArchitecturesCompiler Construction10.1007/978-3-540-78791-4_7(100-115)Online publication date: 2008
  • (2007)ScoutParallel Computing10.1016/j.parco.2007.09.00133:10-11(648-662)Online publication date: 1-Nov-2007
  • (2006)Distributed texture memory in a multi-GPU environmentProceedings of the 21st ACM SIGGRAPH/EUROGRAPHICS symposium on Graphics hardware10.1145/1283900.1283905(31-38)Online publication date: 3-Sep-2006
  • (2006)The Direct3D 10 systemACM SIGGRAPH 2006 Papers10.1145/1179352.1141947(724-734)Online publication date: 30-Jul-2006
  • (2006)The Direct3D 10 systemACM Transactions on Graphics10.1145/1141911.114194725:3(724-734)Online publication date: 1-Jul-2006
  • (2006)The CGiS compiler—a tool demonstrationProceedings of the 15th international conference on Compiler Construction10.1007/11688839_10(105-108)Online publication date: 30-Mar-2006
  • 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