skip to main content
research-article

Singe: leveraging warp specialization for high performance on GPUs

Published:06 February 2014Publication History
Skip Abstract Section

Abstract

We present Singe, a Domain Specific Language (DSL) compiler for combustion chemistry that leverages warp specialization to produce high performance code for GPUs. Instead of relying on traditional GPU programming models that emphasize data-parallel computations, warp specialization allows compilers like Singe to partition computations into sub-computations which are then assigned to different warps within a thread block. Fine-grain synchronization between warps is performed efficiently in hardware using producer-consumer named barriers. Partitioning computations using warp specialization allows Singe to deal efficiently with the irregularity in both data access patterns and computation. Furthermore, warp-specialized partitioning of computations allows Singe to fit extremely large working sets into on-chip memories. Finally, we describe the architecture and general compilation techniques necessary for constructing a warp-specializing compiler. We show that the warp-specialized code emitted by Singe is up to 3.75X faster than previously optimized data-parallel GPU kernels.

References

  1. CUDA programming guide version 5.5. http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html, 2013.Google ScholarGoogle Scholar
  2. Parallel thread execution ISA version 3.2. http://docs.nvidia.com/cuda/parallel-thread-execution/index.html, 2013.Google ScholarGoogle Scholar
  3. M. Bauer, H. Cook, and B. Khailany. CudaDMA: optimizing GPU memory bandwidth via warp specialization. SC '11, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. H. Chafi, A. K. Sujeeth, K. J. Brown, H. Lee, A. R. Atreya, and K. Olukotun. A domain-specific approach to heterogeneous parallelism. PPoPP, pages 35--46, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. H. Chen, A. Choudhary, B. de Supinski, M. DeVries, E. R. Hawkes, S. Klasky, W. K. Liao, K. L. Ma, J. Mellor-Crummey, N. Podhorszki, R. Sankaran, S. Shende, and C. S. Yoo. Terascale direct numerical simulations of turbulent combustion using S3D. phComputational Science and Discovery, 2009.Google ScholarGoogle Scholar
  6. Z. DeVito, N. Joubert, F. Palacios, S. Oakley, M. Medina, M. Barrientos, E. Elsen, F. Ham, A. Aiken, K. Duraisamy, E. Darve, J. Alonso, and P. Hanrahan. Liszt: a domain specific language for building portable mesh-based pde solvers. SC, pages 9:1--9:12, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Hack and G. Goos. Optimal register allocation for SSA-form programs in polynomial time. Inf. Process. Lett., 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. Hong, S. K. Kim, T. Oguntebi, and K. Olukotun. Accelerating CUDA graph algorithms at maximum warp. PPoPP, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. Kee, F. Rupley, and E. Meeks. CHEMKIN-III: A fortran chemical kinetics package for the analysis of gas-phase chemical and plasma kinetics. 1996.Google ScholarGoogle Scholar
  10. Khronos. The OpenCL Specification, Version 2.0. http://www.khronos.org/registry/cl/specs/opencl-2.0.pdf, 2013.Google ScholarGoogle Scholar
  11. J. M. Levesque, R. Sankaran, and R. Grout. Hybridizing S3D into an exascale application using OpenACC: an approach for moving to multi-petaflops and beyond. SC '12, pages 15:1--15:11, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. T. Lu and C. K. Law. Toward accommodating realistic fuel chemistry in large-scale computations. Progress in Energy and Combustion Science, pages 192 -- 215, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  13. J. Ragan-Kelley, A. Adams, S. Paris, M. Levoy, S. Amarasinghe, and F. Durand. Decoupling algorithms from schedules for easy optimization of image processing pipelines. ACM Trans. Graph., 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. E. Z. Zhang, Y. Jiang, Z. Guo, K. Tian, and X. Shen. On-the-fly elimination of dynamic irregularities for GPU computing. ASPLOS, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Singe: leveraging warp specialization for high performance on GPUs

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 49, Issue 8
        PPoPP '14
        August 2014
        390 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2692916
        Issue’s Table of Contents
        • cover image ACM Conferences
          PPoPP '14: Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming
          February 2014
          412 pages
          ISBN:9781450326568
          DOI:10.1145/2555243

        Copyright © 2014 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 6 February 2014

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!