Title :
Whole-function vectorization
Author :
Karrenberg, Ralf ; Hack, Sebastian
Abstract :
Data-parallel programming languages are an important component in today´s parallel computing landscape. Among those are domain-specific languages like shading languages in graphics (HLSL, GLSL, RenderMan, etc.) and “general-purpose” languages like CUDA or OpenCL. Current implementations of those languages on CPUs solely rely on multi-threading to implement parallelism and ignore the additional intra-core parallelism provided by the SIMD instruction set of those processors (like Intel´s SSE and the upcoming AVX or Larrabee instruction sets). In this paper, we discuss several aspects of implementing dataparallel languages on machines with SIMD instruction sets. Our main contribution is a language- and platform-independent code transformation that performs whole-function vectorization on low-level intermediate code given by a control flow graph in SSA form. We evaluate our technique in two scenarios: First, incorporated in a compiler for a domain-specific language used in realtime ray tracing. Second, in a stand-alone OpenCL driver. We observe average speedup factors of 3.9 for the ray tracer and factors between 0.6 and 5.2 for different OpenCL kernels.
Keywords :
data flow graphs; instruction sets; parallel languages; parallel programming; parallelising compilers; AVX instruction set; CUDA; GLSL; HLSL; Intel SSE; Larrabee instruction set; OpenCL kernels; OpenGL; RenderMan; SIMD instruction set; compiler; control flow graph; data-parallel programming language; domain-specific language; general-purpose languages; intracore parallelism; language-independent code transformation; multithreading; parallel computing; platform-independent code transformation; realtime ray tracing; shading language; whole-function vectorization; Computer architecture; Instruction sets; Latches; Lattices; Parallel processing; Registers;
Conference_Titel :
Code Generation and Optimization (CGO), 2011 9th Annual IEEE/ACM International Symposium on
Conference_Location :
Chamonix
Print_ISBN :
978-1-61284-356-8
Electronic_ISBN :
978-1-61284-358-2
DOI :
10.1109/CGO.2011.5764682