skip to main content
10.1145/2555243.2555258acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
research-article

Singe: leveraging warp specialization for high performance on GPUs

Published:06 February 2014Publication History

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 ScholarCross RefCross Ref
  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
      • Published in

        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

        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 the author(s) 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: 6 February 2014

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        PPoPP '14 Paper Acceptance Rate28of184submissions,15%Overall Acceptance Rate230of1,014submissions,23%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader