TeIL: A type-safe imperative tensor intermediate language

Research output: Contribution to book/Conference proceedings/Anthology/ReportConference contributionContributedpeer-review

Abstract

Each of the popular tensor frameworks from the machine learning domain comes with its own language for expressing tensor kernels. Since these tensor languages lack precise specifications, it is impossible to understand and reason about tensor kernels that exhibit unexpected behaviour. In this paper, we give examples of such kernels. The tensor languages are superficially similar to the well-known functional array languages, for which formal definitions often exist. However, the tensor languages are inherently imperative. In this paper we present TeIL, an imperative tensor intermediate language with precise formal semantics. For the popular tensor languages, TeIL can serve as a common ground on the basis of which precise reasoning about kernels becomes possible. Based on TeIL’s formal semantics we develop a type-safety result in the Coq proof assistant.

Details

Original languageEnglish
Title of host publicationARRAY 2019 - Proceedings of the 6th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming, co-located with PLDI 2019
EditorsJeremy Gibbons
PublisherAssociation for Computing Machinery (ACM), New York
Pages57-68
Number of pages12
ISBN (electronic)9781450367172
Publication statusPublished - 8 Jun 2019
Peer-reviewedYes

Publication series

SeriesPLDI: Programming Language Design and Implementation

Conference

Title6th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming, ARRAY 2019, co-located with PLDI 2019
Duration22 June 2019
CityPhoenix
CountryUnited States of America

External IDs

ORCID /0000-0002-5007-445X/work/141545541

Keywords

Research priority areas of TU Dresden

ASJC Scopus subject areas

Keywords

  • Coq, Formal proof, Formal specification, Tensor expressions, Tensor frameworks, Tensor kernels