Embedding foreign code

Robert Clifton-Everest, Trevor L. McDonell, Manuel M.T. Chakravarty, Gabriele Keller

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

Abstract

Special purpose embedded languages facilitate generating high-performance code from purely functional high-level code; for example, we want to program highly parallel GPUs without the usual high barrier to entry and the time-consuming development process. We previously demonstrated the feasibility of a skeleton-based, generative approach to compiling such embedded languages. In this paper, we (a) describe our solution to some of the practical problems with skeleton-based code generation and (b) introduce our approach to enabling interoperability with native code. In particular, we show, in the context of a functional embedded language for GPU programming, how template meta programming simplifies code generation and optimisation. Furthermore, we present our design for a foreign function interface for an embedded language.

Original languageEnglish
Title of host publicationPractical Aspects of Declarative Languages - 16th International Symposium, PADL 2014, Proceedings
Pages136-151
Number of pages16
DOIs
Publication statusPublished - 7 Feb 2014
Externally publishedYes
Event15th International Conference on Verification, Model Checking, and Abstract Interpretation, VMCAI 2014 - San Diego, CA, United States
Duration: 20 Jan 201421 Jan 2014

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume8324 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference15th International Conference on Verification, Model Checking, and Abstract Interpretation, VMCAI 2014
Country/TerritoryUnited States
CitySan Diego, CA
Period20/01/1421/01/14

Fingerprint

Dive into the research topics of 'Embedding foreign code'. Together they form a unique fingerprint.

Cite this