Skip to content

NasserAAA/parallel-merge-sort

 
 

Repository files navigation

parallel-merge-sort

Shared Memory, Message Passing, and Hybrid Merge Sort: UPC, OpenMP, MPI and Hybrid Implementations

This project demonstrates the implementation of a parallel merge sort algorithm implemented using sevaeral approaches. The programming languages and frameworks used, include:

  • UPC (Unified Parallel C)
  • OpenMP
  • MPI
  • MPI-3 RMA
  • Hybrid MPI and OpenMP
  • Hybrid UPC and OpenMP

The MPI and OpenMP implementations were developed by Prof. Atanas Radenski of Chapman University. His work is described in Shared Memory, Message Passing, and Hybrid Merge Sorts for Standalone and Clustered SMPs (Proc. PDPTA'11, the 2011 International Conference on Parallel and Distributed Processing Techniques and Applications, CSREA Press, 2011, pp. 367-373).

Gary Funck (gary@intrepid.com) re-implemented the OpenMP and hybrid programs using the UPC programming language. The hybrid implementation combines UPC and OpenMP. The UPC programs were compiled with the GNU UPC compiler. Gary also re-implemented the UPC benchmarks into MPI programs that make use of MPI-3 one-sided (RMA) operations.

This project is open source, per the GNU GPL license.

About

Shared Memory, Message Passing, and Hybrid Merge Sort: UPC, OpenMP, MPI and Hybrid Implementations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 94.8%
  • Shell 3.1%
  • Makefile 2.1%