Programming Parallel Computers 2019

Exercise SO: sorting

Overview

In this task, you will implement parallel sorting algorithms that outperform the single-threaded std::sort.

Implementation

We will implement a benchmark tool so-test that performs the following steps:

Usage

The benchmark tool can be used as follows:

./so-test N

where N is the number of elements in the test data.

Template

You can find a working implementation in your personal Git repository, in the subdirectories so*. You only need to implement the subroutine psort() in file so*/so.cc. See so*/so.h for the description of the interface.

Once you have implemented the function correctly, you should be able to run make -j to compile your code, ./grading test to check that it works correctly (at least for some test cases) and ./grading benchmark to see how well it performs.