Systematic Support of Parallel Bit Streams in LLVM

Meng Meng Lin · Summit (Simon Fraser University) · 2014

Parabix (parallel bit stream) technology uses the single-instruction multiple-data (SIMD) capabilities of commodity processors for high-performance text processing.LLVM is a widely-used compilerinfrastructure that includes support for SIMD operations on vectors.This thesis investigates the feasibility of modifying LLVM to incorporate all the SIMD processing requirements of Parabix both to increase the portability of applications and to create additional opportunities to optimize those operations in the context of code generation.Our modifications include redefining type legality and lowering for vectors of small elements as well as insertion of logic to recognize and properly handle Parabix-critical operations.Experiments on the X86/SSE2 architecture show a speedup over the unmodified LLVM of about 300 times for some micro-benchmarks and demonstrate Parabix application performance substantially better than with the unmodified LLVM.We also demonstrate performance scaling in switching from X86/SSE2 to X86/AVX2 without any change in source code.

Read the paper · More papers on PaperTik