Presentation: "Thinking Parallel: Exploiting Advanced Software Refactoring to Produce Structured Parallel Programs"

A session at GOTO Zurich 2013

Wednesday 10th April, 2013

2:30pm to 3:20pm (CET)

Despite Moore's "law", uniprocessor clock speeds have now stalled. Dual-, quad- or even hexa-core processors are now common, even in consumer laptops and desktops. While it is possible to use conventional techniques to write parallel programs for such systems, future hardware will not just be slightly parallel, however, but will be massively parallel, with manycore and even "megacore" systems becoming mainstream. It will also be heterogeneous, involving GPUs, FPGAs, and even dedicated specialist processors as part of a single complex system.

The ParaPhrase project aims to help programmers "think parallel" by providing new development tools and methodology. Our approach is based around the use of high-level patterns of parallelism that allow programmers to think in terms of highly parallel abstractions. We combine this with tool-directed software refactoring, which guides the developer through a series of code transformations. The result is a parallel implementation that has been tuned to a specific hardware architecture, but which can easily be transformed for execution on some other platform.

In this talk we will demonstrate how the process of refactoring can lead to a simple and efficient multicore solution, and how high-level offloading code can enable the efficient utilisation of special-purpose hardware such as GPGPUs. Our approach is highly generic - the patterns and transformations that we develop are language-independent, and can be easily retargeted to a variety of languages and parallel implementations, including C, C++ and Java.

About the speaker

This person is speaking at this event.
Kevin Hammond

Functional Programmer, Professor of Computer Science, Hillwalker, Early Music Fan, Whisky Connoisseur bio from Twitter

Sign in to add slides, notes or videos to this session

Tell your friends!


Time 2:30pm3:20pm CET

Date Wed 10th April 2013

Short URL


Official event site


View the schedule


See something wrong?

Report an issue with this session