Coming Up‎ > ‎

July meetup - 10.07.2012

posted 26 Sept 2012, 08:29 by Ed Lambda   [ updated 8 Jul 2013, 14:15 ]
WhoSven-Bodo Sholz, SAC do-designer
When: Tuesday, 10th July, 7pm at the Outhouse pub
What aboutSingle Assignment C

* Update: These are the slides presented at EdLambda: *

What is SAC? According to wikipedia.... "SAC (Single Assignment C) is
a strict purely functional programming language which design is
focused on the needs of numerical applications. Emphasis is laid on
efficient support for array processing." [1]

TitleAiming for HP3: High-Productivity, High-Performance, and


As a starting point for discussion, I will present SaC
and its auto-sequentialising compiler toolchain. I will present some
of the underlying design choices that were guided by the desire to
offer programmers with a high-level of programming productivity. Being
based on C syntax, SaC offers a completely hardware agnostic
programming model with n-dimensional array structures at its
heart. This enables abstractions similar to what is available in
Matlab. In contrast to Matlab, the toolchain of SaC was always aimed
at compilation for high-performance executions. We have employed
functional principles in order to facilitate radical program
transformations that enable our toolchain to transform
algorithm-friendly, hardware-agnostic programs into highly optimised,
target-hardware-specific form. For several examples from computational
science and from computer vision, we could demonstrate very
competitive runtimes on a range of architectures including traditional
SMPs and GPGPUs. This performance can be obtained without any manual
program adjustments despite the vast differences in the target
architectures, making code portability a matter of a compiler switch.