Linux based. It is essentially just merge sort, but it is multithreaded by using POSIX thread API. This means that it is in O(n) time instead of O(nlogn).
Change directory to code directory and type make.
Replace files in the input folder with files of the same name. Then run using ./p1_exec Files will be sorted in the output.