Skip to content

Latest commit

 

History

History
12 lines (6 loc) · 1.71 KB

README.md

File metadata and controls

12 lines (6 loc) · 1.71 KB

PyschedCL : A Framework for Automatically Exploiting Concurrency in Heterogeneous Data-Parallel Applications

To view the Thesis download main.pdf

Abstract

In the past decade, high performance compute capabilities exhibited by heterogeneous GPGPU platforms have led to the popularity of data parallel programming languages such as CUDA and OpenCL. Such languages, however, involve a steep learning curve as well as developing an extensive understanding of the underlying architecture of the compute devices in heterogeneous platforms. This has led to the emergence of several High Performance Computing frameworks which provide high-level abstractions for easing the development of data-parallel applications on heterogeneous platforms. However, the scheduling decisions undertaken by such frameworks do not sufficiently exploit the concurrency inherent in a data parallel application to its full potential. We propose a framework called PySchedCL, whose design philosophy is along similar lines as that of other HPC frameworks, with a specific focus on exploring fine-grained concurrency aware scheduling decisions that completely harness the power of heterogeneous CPU/GPU architectures. We showcase the efficacy of such scheduling decisions over popular dynamic scheduling schemes by conducting extensive experimental evaluations for a Machine Learning based inferencing application. We also experiment with automated scheduling algorithms that rely on Machine learning to schedule heterogenous applications.

Acknowledgements

This work was a part of my Masters Thesis Project at IIT Kharagpur's Department of Computer Science and Engineering under the guidance of Prof. Soumyajit Dey and Anirban Ghose.