TY - GEN
T1 - Loo.py
T2 - 1st ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming, ARRAY 2014 - Part of PLDI 2014
AU - Klockner, Andreas
N1 - Publisher Copyright:
Copyright © 2014 ACM 978-1-4503-2937-8/14/06. 15.00.
PY - 2014/6/9
Y1 - 2014/6/9
N2 - Today's highly heterogeneous computing landscape places a burden on programmers wanting to achieve high performance on a reasonably broad cross-section of machines. To do so, computations need to be expressed in many different but mathematically equivalent ways, with, in the worst case, one variant per target machine. Loo.py, a programming system embedded in Python, meets this challenge by defining a data model for array-style computations and a library of transformations that operate on this model. Offering transformations such as loop tiling, vectorization, storage management, unrolling, instruction-level parallelism, change of data layout, and many more, it provides a convenient way to capture, parametrize, and re-unify the growth among code variants. Optional, deep integration with numpy and PyOpenCL provides a convenient computing environment where the transition from prototype to high-performance implementation can occur in a gradual, machine-Assisted form..
AB - Today's highly heterogeneous computing landscape places a burden on programmers wanting to achieve high performance on a reasonably broad cross-section of machines. To do so, computations need to be expressed in many different but mathematically equivalent ways, with, in the worst case, one variant per target machine. Loo.py, a programming system embedded in Python, meets this challenge by defining a data model for array-style computations and a library of transformations that operate on this model. Offering transformations such as loop tiling, vectorization, storage management, unrolling, instruction-level parallelism, change of data layout, and many more, it provides a convenient way to capture, parametrize, and re-unify the growth among code variants. Optional, deep integration with numpy and PyOpenCL provides a convenient computing environment where the transition from prototype to high-performance implementation can occur in a gradual, machine-Assisted form..
KW - Code generation
KW - Data layout
KW - Embedded language
KW - GPU
KW - High-level language
KW - High-performance
KW - Vectorization
UR - http://www.scopus.com/inward/record.url?scp=84908256404&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84908256404&partnerID=8YFLogxK
U2 - 10.1145/2627373.2627387
DO - 10.1145/2627373.2627387
M3 - Conference contribution
AN - SCOPUS:84908256404
T3 - Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
SP - 82
EP - 87
BT - ARRAY 2014 - Proceedings of the 2014 ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming, co-located with PLDI 2014
PB - Association for Computing Machinery
Y2 - 12 June 2014 through 13 June 2014
ER -