---FWD---
Title: cl.oquence: High-Level Language Abstractions for Low-Level Programming
Speaker: Cyrus Omar (CMU)
Date: 3-31-2011
Time: 8:35 PM
Location: Harvard Hall 104 **Room change**
Harvard CS264 2011 Guest Lecture Series
"Massively Parallel Computing" Course (
http://www.cs264.org)
Host: Nicolas Pinto (Harvard, MIT)
Abstract:
When performance is important, developers turn to "low-level"
languages like C, FORTRAN, CUDA and OpenCL. These languages handle
issues related to register and stack allocation for their users, but
do not otherwise attempt to manage memory allocation or control data
movement. Developers continue to favor this design, despite the
increased development burden, because small changes to an algorithm's
data movement patterns can dramatically impact overall performance on
modern hardware, including GPUs, but compilers for high-level
languages are not yet able to reliably outperform motivated human
experts. Indeed, the most prominent productivity-oriented languages in
computational science -- MATLAB and Python -- come with significant
performance overhead.
In this talk, I will demonstrate that many of the
productivity-enhancing features characteristic of high-level languages
can be reconciled with a low-level programming model with no
performance penalty, using techniques like type inference, structural
polymorphism and compile-time metaprogramming. The resulting language,
called cl.oquence, compiles directly into OpenCL source code. Because
OpenCL is low-level, supports a variety of architectures and can be
called from several languages, cl.oquence functions can be integrated
into existing projects easily. For Python users, special bindings have
been developed, based on pyopencl, that allow users to write
cl.oquence functions inline and call them directly, without even the
minimal syntactic overhead that a more generic binding would require.
Although the language remains in beta, I have been using it to run
large-scale neurobiological circuit simulations. An informal case
study of this simulation framework will be presented. The language is
free, open-source and well-documented. It will be available at
http://cl.oquence.org/ shortly. Interested people can email me
(cyrus(a)cmu.edu).
Speaker biography:
Cyrus Omar is a graduate student in the Computer Science Department at
Carnegie Mellon University. His research focuses on building better
programming languages, compilers, development environments and data
sharing infrastructure for computational science and high-performance
computing, with a particular focus on computational neurobiology.
http://www.cs.cmu.edu/~comar
--
Nicolas Pinto, PhD
http://web.mit.edu/pinto
_______________________________________________
Seas-gpu-cdi mailing list
Seas-gpu-cdi(a)seas.harvard.edu
https://lists.seas.harvard.edu/mailman/listinfo/seas-gpu-cdi