TY - GEN
T1 - Embedding foreign code
AU - Clifton-Everest, Robert
AU - McDonell, Trevor L.
AU - Chakravarty, Manuel M.T.
AU - Keller, Gabriele
PY - 2014/2/7
Y1 - 2014/2/7
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=84893444713&partnerID=8YFLogxK
U2 - 10.1007/978-3-319-04132-2_10
DO - 10.1007/978-3-319-04132-2_10
M3 - Conference contribution
AN - SCOPUS:84893444713
SN - 9783319041315
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 136
EP - 151
BT - Practical Aspects of Declarative Languages - 16th International Symposium, PADL 2014, Proceedings
T2 - 15th International Conference on Verification, Model Checking, and Abstract Interpretation, VMCAI 2014
Y2 - 20 January 2014 through 21 January 2014
ER -