skip to main content
research-article

A programming system for future proofing performance critical libraries

Published:27 February 2016Publication History
Skip Abstract Section

Abstract

We present Tangram, a programming system for writing performance-portable programs. The language enables programmers to write computation and composition codelets, supported by tuning knobs and primitives for expressing data parallelism and work decomposition. The compiler and runtime use a set of techniques such as hierarchical composition, coarsening, data placement, tuning, and runtime selection based on input characteristics and micro-profiling. The resulting performance is competitive with optimized vendor libraries.

References

  1. B. Jang et al. Exploiting memory access patterns to improve memory performance in data-parallel architectures. IEEE Trans. Parallel Distrib. Syst., 22(1):105--118, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. D. Merrill et al. Policy-based tuning for performance portability and library co-optimization. In InPar, pages 1--10, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  3. G. Blelloch. NESL: A nested data-parallel language. Technical report, Pittsburgh, PA, USA, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. G. Chen et al. PORPLE: An extensible optimizer for portable data placement on GPU. In MICRO, pages 88--100, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. H.-S. Kim et al. Locality-centric thread scheduling for bulk-synchronous programming models on cpu architectures. In CGO, pages 257--268, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J. Ansel et al. Petabricks: A language and compiler for algorithmic choice. In PLDI, pages 38--49, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. R. Karrenberg and S. Hack. Improving Performance of OpenCL on CPUs. In CC, pages 1--20, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. L.-W. Chang et al. Tangram: a high-level language for performance portable code synthesis. In In Programmability Issues for Heterogeneous Multicores, 2015.Google ScholarGoogle Scholar
  9. L.-W. Chang et al. Dysel: Lightweight dynamic selection for kernel-based data-parallel programming model. In ASPLOS, 2016 (in press).Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Püschel et al. Spiral: A generator for platform-adapted libraries of signal processing alogorithms. International Journal of High Performance Computing Applications, 18(1):21--45, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. P. Jääskeläinen et al. pocl: A performance-portable OpenCL implementation, 2014.Google ScholarGoogle Scholar
  12. R. C. Whaley et el. Automated empirical optimizations of software and the atlas project. Parallel Computing, 27(1):3--35, 2001.Google ScholarGoogle Scholar
  13. S. Che et al. Rodinia: A benchmark suite for heterogeneous computing. In IISWC, pages 44--54, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library

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 51, Issue 8
    PPoPP '16
    August 2016
    405 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/3016078
    Issue’s Table of Contents
    • cover image ACM Conferences
      PPoPP '16: Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
      February 2016
      420 pages
      ISBN:9781450340922
      DOI:10.1145/2851141

    Copyright © 2016 ACM

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 27 February 2016

    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!