On Friday October 17, this site was moved to a new server, https://mw.hh.se. The original address will continue to work. Whithin a week or two this site will return to the original address. /Peo HH IT-dep

WG211/M7Kelly: Difference between revisions

From WG 2.11
Jump to navigationJump to search
m 1 revision
 
(No difference)

Latest revision as of 12:06, 12 December 2011


SIMD and SIMT Code Generation for Visual Effects using indexed dependence metadata

Paul H J Kelly

Imperial College London, UK


This talk is about a project to build a domain-specific library for film post-production visual effects (VFX). Visual effects algorithms are structured using "indexed functors", which characterise image operations with dependence metadata. Our source-to-source code generator targets SSE and CUDA devices from a single-source representation and implements an array of parallelism- and bandwidth-enhancing optimisations, producing C++ and CUDA as output for vendor compilers. Metadata captures and communicates high-level dependence and data access pattern information to the code generator, eliminating the need for interprocedural dataflow and alias analyses to recover this information from the code. Our kernel transformations rely on metadata for safety, which greatly simplifies their implementation and enables more complex optimisations to be applied. We exploit the polyhedral model in schedule optimisation to manage the large fused, fragmented loop structures which are key to improving temporal locality on CPUs. In our evaluation we demonstrate 1.2-7.0x speed-ups on Intel and AMD multicore CPUs and 1.2-6.6x speed-ups on CUDA GPUs.

(joint work with Jay Cornwall, Lee Howes (at Imperial) and Bruno Nicoletti and Phil Parsonage at The Foundry Ltd).

File Attachments