# source:docs/Working/icGrep/Paper88.tex@4779

Last change on this file since 4779 was 4779, checked in by cameron, 4 years ago

Preparing for final version

File size: 2.1 KB
Line
2\usepackage{tikz}
4\usepackage{pgfplots}
5\usepackage{pgfplotstable}
6\usepackage{booktabs,siunitx,ragged2e}
7\usepackage{subfig}
8\usepackage{amsmath}
9\newcommand{\BigO}[1]{\ensuremath{\operatorname{O}\bigl(#1\bigr)}}
10\usepackage[official]{eurosym}
11\usepackage[utf8]{inputenc}
12
13\usepackage{bbding}
14
15\newcommand{\comment}[1]{}
16\newcommand{\icGrep}[1]{icGrep}
17
18\def\RegularExpression{RegEx}
19\def\Pablo{Parabix}
20\def\CodeUnit{Code Unit}
21\def\REParser{\RegularExpression{} Parser}
22\def\CodeUnitCompiler{\CodeUnit{} Compiler}
23\def\RegularExpressionCompiler{\RegularExpression{} Compiler}
24\def\PabloCompiler{\Pablo{} Compiler}
25
26\pagestyle{empty}
27
28\begin{document}
29
30\title{Bitwise Data Parallelism with LLVM: The icGrep Case Study}
31\author{Robert D. Cameron \inst{1 (}\Envelope\inst{)}
32\and Nigel Medforth \inst{1}
33\and Dan Lin \inst{1}
34\and Dale Denis \inst{1}
35\and William N. Sumner \inst{1}
36}
37\institute{School of Computing Science, Simon Fraser University}
38\maketitle
39
40\begin{abstract}
41Bitwise data parallelism using short vector (SIMD) instructions has recently been shown to have considerable promise
42as the basis for a new, fundamentally parallel, style of regular expression
43processing.
44This paper examines the application of this
45approach to the development a full-featured Unicode-capable open-source grep
46implementation.  Constructed using a layered architecture
47combining Parabix and LLVM compiler technologies, icGrep is the
48first instance of a potentially large class of text processing
49applications that achieve high performance text processing through the combination
50of dynamic compilation and bitwise data parallelism.
51In performance comparisons with several contemporary alternatives,
5210$\times$ or better speedups are often observed.
53\end{abstract}
54
55
56\input{introduction.tex}
57
58\input{background.tex}
59