skip to main content
10.1145/3078155.3078189acmotherconferencesArticle/Chapter ViewAbstractPublication PagesiwoclConference Proceedingsconference-collections
research-article

SYCL-BLAS: Leveraging Expression Trees for Linear Algebra

Published: 16 May 2017 Publication History

Abstract

In the current landscape of C++ applications, there is an increasing need of including different levels of support for heterogeneous platforms, where multiple specialised devices collaborate to execute an application. In this context, the SYCL standard[8] has been published by Khronos, providing a C++ abstraction layer on top of OpenCL[9] that enables single-source programming for a large number of heterogeneous devices. SYCL single-source programming and task data-flow approach enable developers to leverage modern programming techniques on heterogeneous platforms. In this paper, we present SYCL-BLAS, a BLAS implementation using SYCL that uses Expression Tree templates to generate BLAS kernels. This technique is then used to demonstrate seamless kernel fusion via composition of tree nodes. We also demonstrate how SYCL can be used to quickly develop libraries for heterogeneous systems by providing sufficient levels of abstraction.

References

[1]
J. I. Aliaga, J. Pérez, and E. S. Quintana-Ortí. Systematic Fusion of CUDA Kernels for Iterative Sparse Linear System Solvers, pages 675--686. Springer Berlin Heidelberg, Berlin, Heidelberg, 2015. ISBN 978-3-662-48096-0.
[2]
M. Goli. Visioncpp: A sycl-based computer vision framework. In Proceedings of the 4th International Workshop on OpenCL, page 6. ACM, 2016.
[3]
G. Guennebaud, B. Jacob, et al. Eigen is a c++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms, 2010.
[4]
Advanced configuratoin and power interface specification. HP Corp., Intel Corp., Microsoft Corp., Phoenix Tech. Ltd., Toshiba Corp., 2013. Revision 5.0a.
[5]
Intel. Intel Math Kernel Library. http://software.intel.com/en-us/articles/intel-mkl/, 2009.
[6]
nVidia. CUBLAS Library User Guide, v5.0 edition, Oct. 2012. URL http://docs.nvidia.com/cublas/index.html.
[7]
R. Potter, P. Keir, R. J. Bradford, and A. Murray. Kernel composition in sycl. In Proceedings of the 3rd International Workshop on OpenCL, page 11. ACM, 2015.
[8]
A. Richards. Update on the sycl for opencl open standard to enable c++ meta programming on top of opencl. In Proceedings of the 3rd International Workshop on OpenCL, IWOCL '15, pages 9:1--9:1, New York, NY, USA, 2015. ACM. ISBN 978-1-4503-3484-6.
[9]
J. E. Stone, D. Gohara, and G. Shi. Opencl: A parallel programming standard for heterogeneous computing systems. IEEE Des. Test, 12(3):66--73, May 2010. ISSN 0740-7475.
[10]
S. Tomov, J. Dongarra, and M. Baboulin. Towards dense linear algebra for hybrid GPU accelerated manycore systems. Parallel Computing, 36(5-6):232--240, June 2010. ISSN 0167-8191.
[11]
F. G. V. Zee, T. M. Smith, B. Marker, T. M. Low, R. A. V. D. Geijn, F. D. Igual, M. Smelyanskiy, X. Zhang, M. Kistler, V. Austel, J. A. Gunnels, and L. Killough. The blis framework: Experiments in portability. ACM Trans. Math. Softw., 42(2): 12:1--12:19, June 2016. ISSN 0098-3500.

Cited By

View all

Index Terms

  1. SYCL-BLAS: Leveraging Expression Trees for Linear Algebra
          Index terms have been assigned to the content through auto-classification.

          Recommendations

          Comments

          Information & Contributors

          Information

          Published In

          cover image ACM Other conferences
          IWOCL '17: Proceedings of the 5th International Workshop on OpenCL
          May 2017
          135 pages
          ISBN:9781450352147
          DOI:10.1145/3078155
          © 2017 Association for Computing Machinery. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

          In-Cooperation

          • The University of Bristol: The University of Bristol

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          Published: 16 May 2017

          Permissions

          Request permissions for this article.

          Check for updates

          Author Tags

          1. gpu
          2. parallel programming
          3. sycl

          Qualifiers

          • Research-article
          • Research
          • Refereed limited

          Funding Sources

          • MINECO

          Conference

          IWOCL 2017
          IWOCL 2017: 5th International Workshop on OpenCL
          May 16 - 18, 2017
          Toronto, Canada

          Acceptance Rates

          IWOCL '17 Paper Acceptance Rate 15 of 29 submissions, 52%;
          Overall Acceptance Rate 84 of 152 submissions, 55%

          Contributors

          Other Metrics

          Bibliometrics & Citations

          Bibliometrics

          Article Metrics

          • Downloads (Last 12 months)8
          • Downloads (Last 6 weeks)1
          Reflects downloads up to 04 Jan 2025

          Other Metrics

          Citations

          Cited By

          View all

          View Options

          Login options

          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