Lecture 11: Heterogeneous Metaprogramming in F#

2 November 2010

This is the last of three lectures on integrating domain-specific languages with general-purpose programming languages. This lecture looked at metaprogramming, where one program manipulates another; in particular the possibilities for heterogeneous metaprogramming provided by the LINQ framework mentioned in the previous lecture. This leads to an example from the following paper where existing F# code for running Conway’s Game of Life can be automatically transformed to run on a GPU.

D. Syme Leveraging .NET meta-programming components from F#: Integrated queries and interoperable heterogeneous execution. In ML ’06: Proceedings of the ACM SIGPLAN 2006 Workshop on ML, pages 43–54. ACM Press, September 2006. DOI 10.1145/1159876.1159884

Link: Slides

Coursework office hour

If you have questions or problems you wish to raise regarding the course or your coursework, you can bring them to me this Wednesday afternoon.

Office Hour: 1.30–2.30pm Wednesday 27 October, Informatics Forum 5.04

If the turnstile gates are closed and your student card does not open them, ask at the front desk for admission.

Otherwise, please post any questions here on the blog or by email either to the mailing list apl-students@inf.ed.ac.uk or to me Ian.Stark@ed.ac.uk.


ICSA Colloquium

2 November 2010

A Framework for High-Level Programming of Heterogeneous Manycore Systems-on-Chip

Wim Vanderbauwhede
University of Glasgow
3.30pm Thursday, 4th November 2010
Room G.07, Informatics Forum

Links: Colloquium abstract; Institute for Computing Systems Architecture

This talk presents the Gannet framework for programming heterogeneous manycore systems-on-a-chip. This is an architecture and programming language for directly targeting such devices, rather than delegating the challenge to operating system support mechanisms like threads and tasks.

You may need to sign in to enter the Forum, but state that you are attending a research seminar, following item 3 of the Forum access policy.