\documentclass[12pt]{article} \usepackage{wide,me} \parindent0pt

Word-Level Parallelism

Sequential CPU hides parallel processor

Today: sorting

Main ideas

Basics

General idea:

Masking trick

Warmup: reversing an “array” of digits

Warmup: Counting ones

Warmup: Parallel Prefix

Warmup: sorting with huge words

Better Sorting

Two insights

Range Reduction

Idea

Method

Result:

Packed Sorting

A method to quickly sort keys when many fit in one word

Auxiliary data

Sorting Networks

Bitonic sort:

Wrap Up