Abstract
During the last decade, the performance and capabilities of graphics processing units (GPUs) have been drastically improved mostly due to the demands of the visualisation and the entertainment markets, where both consumers and companies push for an increase in the levels of visual fidelity, which is only achieved with better and higher performing GPU solutions. The ongoing global research effort for using such immense computing power for applications beyond graphics is the domain of general purpose computing. Combining GPUs with existing CPU resources is also an important task. This work is a contribution to that effort, focusing on the analysis of performance factors applying actual general purpose computation on GPU programming platforms, while introducing a novel job scheduler that manages resource sharing between these two resources. Through experimental performance evaluation, this work investigates what are the most important factors to eliminate overhead that is caused by conflict for resource ownership and designs that must be taken into account while designing such job scheduler.