Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Whippletree: task-based scheduling of dynamic workloads on the GPU

Published: 19 November 2014 Publication History
  • Get Citation Alerts
  • Abstract

    In this paper, we present Whippletree, a novel approach to scheduling dynamic, irregular workloads on the GPU. We introduce a new programming model which offers the simplicity and expressiveness of task-based parallelism while retaining all aspects of the multi-level execution hierarchy essential to unlocking the full potential of a modern GPU. At the same time, our programming model lends itself to efficient implementation on the SIMD-based architecture typical of a current GPU. We demonstrate the practical utility of our model by providing a reference implementation on top of current CUDA hardware. Furthermore, we show that our model compares favorably to traditional approaches in terms of both performance as well as the range of applications that can be covered. We demonstrate the benefits of our model for recursive Reyes rendering, procedural geometry generation and volume rendering with concurrent irradiance caching.

    Supplementary Material

    ZIP File (a228.zip)
    Supplemental material.

    References

    [1]
    Aila, T., and Laine, S. 2009. Understanding the efficiency of ray traversal on GPUs. In Proc. HPG, 145--149.
    [2]
    Breitbart, J. 2011. Static GPU threads and an improved scan algorithm. In Proc. Euro-Par 2010, 373--380.
    [3]
    Cederman, D., and Tsigas, P. 2008. On dynamic load balancing on graphics processors. In Proc. Graphics Hardware, 57--64.
    [4]
    Chatterjee, S., Grossman, M., Sbirlea, A., and Sarkar, V. 2011. Dynamic task parallelism with a GPU work-stealing runtime system. In Proc. Languages and Compilers for Parallel Computing.
    [5]
    Chen, L., Villa, O., Krishnamoorthy, S., and Gao, G. 2010. Dynamic load balancing on single- and multi-gpu systems. In IEEE Parallel Distributed Processing.
    [6]
    Cook, R. L., Carpenter, L., and Catmull, E. 1987. The reyes image rendering architecture. SIGGRAPH Comput. Graph. 21, 4 (Aug.), 95--102.
    [7]
    Hargreaves, S. 2005. Generating shaders from HLSL fragments. ShaderX3: Advanced rendering with DirectX and OpenGL.
    [8]
    Hoberock, J., Lu, V., Jia, Y., and Hart, J. C. 2009. Stream compaction for deferred shading. In Proc. HPG, 173--180.
    [9]
    Kroes, T., Post, F. H., and Botha, C. P. 2012. Exposure render: An interactive photo-realistic volume rendering framework. PLoS ONE 7, 7 (07).
    [10]
    Laine, S., Karras, T., and Aila, T. 2013. Megakernels considered harmful: Wavefront path tracing on GPUs. In Proc. HPG.
    [11]
    Liu, F., Huang, M.-C., Liu, X.-H., and Wu, E.-H. 2010. Freepipe: A programmable parallel rendering architecture for efficient multi-fragment effects. In Proc. I3D, 75--82.
    [12]
    Luo, L., Wong, M., and Hwu, W.-M. 2010. An effective GPU implementation of breadth-first search. In Proc. Design Automation Conference, ACM, 52--55.
    [13]
    NVIDIA. 2012. CUDA Dynamic Parallelism Programming Guide.
    [14]
    Parker, S. G., Bigler, J., Dietrich, A., Friedrich, H., Hoberock, J., Luebke, D., McAllister, D., McGuire, M., Morley, K., Robison, A., and Stich, M. 2010. Optix: a general purpose ray tracing engine. ACM TOG 29, 4(66).
    [15]
    Patney, A., and Owens, J. D. 2008. Real-time Reyes-style adaptive surface subdivision. ACM TOG 27, 5(143).
    [16]
    Satish, N., Harris, M., and Garland, M. 2009. Designing efficient sorting algorithms for manycore GPUs. In Proc. IEEE Parallel&Distributed Processing.
    [17]
    Steinberger, M., Kainz, B., Kerbl, B., Hauswiesner, S., Kenzel, M., and Schmalstieg, D. 2012. Softshell: Dynamic scheduling on GPUs. ACM TOG 31, 6(161).
    [18]
    Steinberger, M., Kenzel, M., Kainz, B., Müller, J., Wonka, P., and Schmalstieg, D. 2014. Parallel generation of architecture on the GPU. In Computer Graphics Forum, vol. 33, 73--82.
    [19]
    Stuart, J. A., and Owens, J. D. 2009. Message passing on data-parallel architectures. In Proc. Parallel&Distributed Processing, IEEE.
    [20]
    Sugerman, J., Fatahalian, K., Boulos, S., Akeley, K., and Hanrahan, P. 2009. GRAMPS: A programming model for graphics pipelines. ACM TOG 28, 1, 4:1--4:11.
    [21]
    Tzeng, S., Patney, A., and Owens, J. D. 2010. Task management for irregular-parallel workloads on the GPU. In Proc. HPG, 29--37.
    [22]
    Xiao, S., and Feng, W. 2010. Inter-block GPU communication via fast barrier synchronization. In IEEE Parallel Distributed Processing.
    [23]
    Yan, S., Long, G., and Zhang, Y. 2013. Streamscan: fast scan algorithms for GPUs without global barrier synchronization. In ACM Principles and Practice of Parallel Programming, 229--238.
    [24]
    Zhou, K., Hou, Q., Ren, Z., Gong, M., Sun, X., and Guo, B. 2009. RenderAnts: interactive Reyes rendering on GPUs. ACM TOG 28, 5 (Dec.), 155:1--155:11.

    Cited By

    View all
    • (2024)GPU-Initiated Resource Allocation for Irregular WorkloadsProceedings of the 3rd International Workshop on Extreme Heterogeneity Solutions10.1145/3642961.3643799(1-8)Online publication date: 2-Mar-2024
    • (2024)AGAThA: Fast and Efficient GPU Acceleration of Guided Sequence Alignment for Long Read MappingProceedings of the 29th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming10.1145/3627535.3638474(431-444)Online publication date: 2-Mar-2024
    • (2023)Multi-GPU Communication Schemes for Iterative Solvers: When CPUs are Not in ChargeProceedings of the 37th International Conference on Supercomputing10.1145/3577193.3593713(192-202)Online publication date: 21-Jun-2023
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Graphics
    ACM Transactions on Graphics  Volume 33, Issue 6
    November 2014
    704 pages
    ISSN:0730-0301
    EISSN:1557-7368
    DOI:10.1145/2661229
    Issue’s Table of Contents
    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]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 19 November 2014
    Published in TOG Volume 33, Issue 6

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. GPU
    2. dynamic parallelism
    3. megakernel
    4. parallel computing
    5. persistent threads
    6. scheduling

    Qualifiers

    • Research-article

    Funding Sources

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)54
    • Downloads (Last 6 weeks)11

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)GPU-Initiated Resource Allocation for Irregular WorkloadsProceedings of the 3rd International Workshop on Extreme Heterogeneity Solutions10.1145/3642961.3643799(1-8)Online publication date: 2-Mar-2024
    • (2024)AGAThA: Fast and Efficient GPU Acceleration of Guided Sequence Alignment for Long Read MappingProceedings of the 29th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming10.1145/3627535.3638474(431-444)Online publication date: 2-Mar-2024
    • (2023)Multi-GPU Communication Schemes for Iterative Solvers: When CPUs are Not in ChargeProceedings of the 37th International Conference on Supercomputing10.1145/3577193.3593713(192-202)Online publication date: 21-Jun-2023
    • (2023)A GPU optimization workflow for real-time execution of ultra-high frame rate computer vision applicationsJournal of Real-Time Image Processing10.1007/s11554-023-01384-721:1Online publication date: 26-Nov-2023
    • (2022)Atos: A Task-Parallel GPU Scheduler for Graph AnalyticsProceedings of the 51st International Conference on Parallel Processing10.1145/3545008.3545056(1-11)Online publication date: 29-Aug-2022
    • (2022)Taskflow: A Lightweight Parallel and Heterogeneous Task Graph Computing SystemIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2021.310425533:6(1303-1320)Online publication date: 1-Jun-2022
    • (2022)MICCO: An Enhanced Multi-GPU Scheduling Framework for Many-Body Correlation Functions2022 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS53621.2022.00022(135-145)Online publication date: May-2022
    • (2021)Orchestrating Bag-of-Tasks Applications with Dynamically Spawned Tasks in a Distributed Environment2021 International Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS)10.23919/SPECTS52716.2021.9639275(1-8)Online publication date: 19-Jul-2021
    • (2021)Are van Emde Boas trees viable on the GPU?2021 IEEE High Performance Extreme Computing Conference (HPEC)10.1109/HPEC49654.2021.9622837(1-7)Online publication date: 20-Sep-2021
    • (2020)GOPipeProceedings of the ACM International Conference on Parallel Architectures and Compilation Techniques10.1145/3410463.3414656(43-54)Online publication date: 30-Sep-2020
    • Show More Cited By

    View Options

    Get Access

    Login options

    Full Access

    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