Type of Culminating Activity

Graduate Student Project

Graduation Date


Degree Title

Master of Science in Computer Science


Computer Science

Major Advisor

Amit Jain


With manufacturing efficiencies and technological innovation the computing power of commodity machines has been increasing accompanied by decreasing costs. With the very favorable price/performance ratio the computing community has shifted from monolithic machines to networked machines.

This has created the need for software to manage the parallelism of the network. One such work has been the Parallel Toolkit Library. The Parallel Toolkit Library provides support for common design functionalities used throughout parallel programs.

This work extends the PTK C library for C++ parallel programs. The motivation for the current project stems from the need to let parallel programs reap the benefits of a library with an object oriented programming approach. This also fits well with the introduction of C++ bindings in MPI. The library has been structured on object-oriented concepts. The functionality of the PTK-C has been encapsulated into various classes. Individual functionalities have also been split into multiple classes leading to modularity and reusability of code.

Template programming has been used to ensure type safety. The testing results are consistent with expectations in that the PTK-C++ is very much comparable to the PTK-C in terms of performance. In most cases, it would be more efficient to use the toolkit than to rewrite the code to recreate the efficiencies already present in the library.