Title :
Algorithm for Cooperative CPU-GPU Computing
Author :
Aciu, Razvan-Mihai ; Ciocarlie, Horia
Author_Institution :
Dept. of Comput. & Software Eng., Politeh. Univ. Timisoara, Timisoara, Romania
Abstract :
Many applications have modules which could benefit greatly from the massive parallel numeric computing power provided by GPUs. Renderers, signal processing or simulators are only a few such applications. Due to the weaknesses of the GPUs such as stackless execution model or poor capabilities for pointer exchange with the host, sometimes is not feasible to convert an entire algorithm for GPU, even if it is highly parallel and some of its parts can be greatly accelerated on GPU. In such situations a programmer should have a framework which allows him to split the code flow of a thread in parts and each of these parts will run on the most suitable computing resource, CPU or GPU. For GPU execution, multiple data from host threads will be collected, run on GPU and the results returned to the original threads so they will be able to resume execution on host. In this paper we propose such an algorithm, analyze it and evaluate its practical results.
Keywords :
graphics processing units; parallel algorithms; GPU execution; central processing unit; cooperative CPU-GPU computing; graphics processing unit; massive parallel numeric computing power; signal processing; simulators; Clocks; Data structures; Graphics processing units; Instruction sets; Kernel; Signal processing algorithms; Synchronization; algorithm; cooperative multitasking; heterogeneous computing;
Conference_Titel :
Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), 2013 15th International Symposium on
Conference_Location :
Timisoara
Print_ISBN :
978-1-4799-3035-7
DOI :
10.1109/SYNASC.2013.53