Multi-core processes have greatly improved the efficiency of sorting algorithms. However, as with all processes, there tends to be diminishing returns to the number of cores used. Therefore, in this paper, we examine the parallel programming models OpenMP, OpenACC, and CUDA to implement three sorting algorithms: Quick sort, Merge sort, and Insertion sort. The implementation of each algorithm is briefly described. The performance of each algorithm is analyzed on both high core count GPU and CPU architectures. This allows us to map the scaling of these algorithms and programming models through a wide range of core counts. These will be evaluated through time taken to sort and the accuracy of sorting.
- Group Formation/Abstract Submission: Sept 06.
- Project Status Reporting: In the middle of the semester - Oct 17
- Project Presentation Upload (upload here): Dec 16
- Project Report Submission: Dec 21