skip to main content
research-article
Free Access

Achieving High Performance the Functional Way: Expressing High-Performance Optimizations as Rewrite Strategies

Published:22 February 2023Publication History
First page image

References

  1. Abadi, M., Agarwal, A., Barham, P., Brevdo, E., Chen, Z., Citro, C., Corrado, G.S., Davis, A., Dean, J., Devin, M., Ghemawat, S., Goodfellow, I., Harp, A., Irving, G., Isard, M., Jia, Y., Jozefowicz, R., Kaiser, L., Kudlur, M., Levenberg, J., Mané, D., Monga, R., Moore, S., Murray, D., Olah, C., Schuster, M., Shlens, J., Steiner, B., Sutskever, I., Talwar, K., Tucker, P., Vanhoucke, V., Vasudevan, V., Viégas, F., Vinyals, O., Warden, P., Wattenberg, M., Wicke, M., Yu, Y., Zheng, X. TensorFlow: Large-scale machine learning on heterogeneous systems, 2015. Software available from tensorow.org.Google ScholarGoogle Scholar
  2. Atkey, R., Steuwer, M., Lindley, S., Dubach, C. Strategy preserving compilation for parallel functional code. CoRR, abs/1710.08332, 2017.Google ScholarGoogle Scholar
  3. Barham, P., Isard, M. Machine learning systems are stuck in a rut. In HotOS. ACM, 2019, 177--183.Google ScholarGoogle Scholar
  4. Chen, T., Moreau, T., Jiang, Z., Zheng, L., Yan, E.Q., Shen, H., Cowan, M., Wang, L., Hu, Y., Ceze, L., Guestrin, C., Krishnamurthy, A. TVM: An automated end-to-end optimizing compiler for deep learning. In 13th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2018. (Carlsbad, CA, USA, October 8--10, 2018), 2018, 578--594.Google ScholarGoogle Scholar
  5. Hagedorn, B., Lenfers, J., Koehler, T., Qin, X., Gorlatch, S., Steuwer, M. Achieving high-performance the functional way: A functional pearl on expressing high-performance optimizations as rewrite strategies. Proc. ACM Program. Lang. 4, (ICFP), 2020.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Hagedorn, B., Stoltzfus, L., Steuwer, M., Gorlatch, S., Dubach, C. High performance stencil code generation with Lift. In Proceedings of the 2018 International Symposium on Code Generation and Optimization, CGO 2018, (Vösendorf/Vienna, Austria, February 24--28, 2018), 2018, 100--112.Google ScholarGoogle Scholar
  7. Hennessy, J.L., Patterson, D.A. A new golden age for computer architecture. Commun. ACM 62, 2 (2019), 48--60.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Kirchner, H. Rewriting strategies and strategic rewrite programs. In Logic, Rewriting, and Concurrency - Essays dedicated to José Meseguer on the Occasion of His 65th Birthday, 2015, 380--403.Google ScholarGoogle ScholarCross RefCross Ref
  9. Luttik, S.P., Visser, E., et al. Specification of rewriting strategies. Universiteit van Amsterdam. Programming Research Group, 1997.Google ScholarGoogle Scholar
  10. Paszke, A., Gross, S., Chintala, S., Chanan, G., Yang, E., DeVito, Z., Lin, Z., Desmaison, A., Antiga, L., Lerer, A. Automatic differentiation in pytorch. 2017.Google ScholarGoogle Scholar
  11. Ragan-Kelley, J., Adams, A., Sharlet, D., Barnes, C., Paris, S., Levoy, M., Amarasinghe, S. P., Durand, F. Halide: Decoupling algorithms from schedules for high-performance image processing. Commun. ACM 61, 1 (2018), 106--115.Google ScholarGoogle Scholar
  12. Steuwer, M., Fensch, C., Lindley, S., Dubach, C. Generating performance portable code using rewrite rules: From high-level functional expressions to high-performance opencl code. In ICFP. ACM, 2015, 205--217.Google ScholarGoogle Scholar
  13. Steuwer, M., Remmelg, T., Dubach, C. Matrix multiplication beyond auto-tuning: rewrite-based GPU code generation. In CASES. ACM, 2016, 15:1--15:10.Google ScholarGoogle Scholar
  14. Steuwer, M., Remmelg, T., Dubach, C. Lift: A functional data-parallel IR for high-performance GPU code generation. In Proceedings of the 2017 International Symposium on Code Generation and Optimization, CGO 2017 (Austin, TX, USA, February 4--8, 2017), 2017, 74--85.Google ScholarGoogle ScholarCross RefCross Ref
  15. TVM. How to optimize gemm on cpu, 2020.Google ScholarGoogle Scholar
  16. Visser, E. Stratego: A language for program transformation based on rewriting strategies. In Rewriting Techniques and Applications, 12th International Conference, RTA 2001, Utrecht, The Netherlands, May 22--24, 2001, Proceedings, 2001, 357--362.Google ScholarGoogle Scholar
  17. Visser, E. Program transformation with Stratego/XT. In Domain-specific program generation. Springer, 2004, 216--238.Google ScholarGoogle Scholar
  18. Visser, E., Benaissa, Z., Tolmach, A.P. Building program optimizers with rewriting strategies. In Proceedings of the third ACM SIGPLAN International Conference on Functional Programming (ICFP '98) (Baltimore, Maryland, USA, September 27--29, 1998), 1998, 13--26.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Achieving High Performance the Functional Way: Expressing High-Performance Optimizations as Rewrite Strategies

      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 Communications of the ACM
        Communications of the ACM  Volume 66, Issue 3
        March 2023
        87 pages
        ISSN:0001-0782
        EISSN:1557-7317
        DOI:10.1145/3585257
        • Editor:
        • James Larus
        Issue’s Table of Contents

        Copyright © 2023 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: 22 February 2023

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      HTML Format

      View this article in HTML Format .

      View HTML Format