Conference item icon

Conference item

Finally, a polymorphic linear algebra language (Pearl)

Abstract:
Many different data analytics tasks boil down to linear algebra primitives. In practice, for each different type of workload, data scientists use a particular specialised library. In this paper, we present Pilatus, a polymorphic iterative linear algebra language, applicable to various types of data analytics workloads. The design of this domain-specific language (DSL) is inspired by both mathematics and programming languages: its basic constructs are borrowed from abstract algebra, whereas the key technology behind its polymorphic design uses the tagless final approach (a.k.a. polymorphic embedding/object algebras). This design enables us to change the behaviour of arithmetic operations to express matrix algebra, graph algorithms, logical probabilistic programs, and differentiable programs. Crucially, the polymorphic design of Pilatus allows us to use multi-stage programming and rewrite-based optimisation to recover the performance of specialised code, supporting fixed sized matrices, algebraic optimisations, and fusion.
Publication status:
Published
Peer review status:
Peer reviewed

Actions


Access Document


Files:
Publisher copy:
10.4230/LIPIcs.ECOOP.2019.25

Authors


More by this author
Institution:
University of Oxford
Division:
MPLS Division
Department:
Computer Science
Department:
Unknown
Role:
Author


Publisher:
Schloss Dagstuhl - Leibniz-Zentrum für Informatik
Host title:
LIPIcs
Journal:
lipics More from this journal
Volume:
134
Pages:
25:1-25:29
Publication date:
2019-07-12
Acceptance date:
2019-04-01
DOI:
EISSN:
1868-8969
ISBN:
9783959771115


Keywords:
Pubs id:
pubs:1013121
UUID:
uuid:fbad84a5-2a61-451a-8a1a-81b93748d54b
Local pid:
pubs:1013121
Source identifiers:
1013121
Deposit date:
2019-06-13

Terms of use



Views and Downloads






If you are the owner of this record, you can report an update to it here: Report update to this record

TO TOP