DocumentCode
3327022
Title
McRouter: multicast within a router for high performance network-on-chips
Author
Janghaeng Lee ; Samadi, Mehrzad ; Yongjun Park ; Mahlke, Scott
Author_Institution
Adv. Comput. Archit. Lab., Univ. of Michigan, Ann Arbor, MI, USA
fYear
2013
fDate
7-11 Sept. 2013
Firstpage
319
Lastpage
330
Abstract
Heterogeneous computing on CPUs and GPUs has traditionally used fixed roles for each device: the GPU handles data parallel work by taking advantage of its massive number of cores while the CPU handles non data-parallel work, such as the sequential code or data transfer management. Unfortunately, this work distribution can be a poor solution as it under utilizes the CPU, has difficulty generalizing beyond the single CPU-GPU combination, and may waste a large fraction of time transferring data. Further, CPUs are performance competitive with GPUs on many workloads, thus simply partitioning work based on the fixed roles may be a poor choice. In this paper, we present the single kernel multiple devices (SKMD) system, a framework that transparently orchestrates collaborative execution of a single data-parallel kernel across multiple asymmetric CPUs and GPUs. The programmer is responsible for developing a single data-parallel kernel in OpenCL, while the system automatically partitions the workload across an arbitrary set of devices, generates kernels to execute the partial workloads, and efficiently merges the partial outputs together. The goal is performance improvement by maximally utilizing all available resources to execute the kernel. SKMD handles the difficult challenges of exposed data transfer costs and the performance variations GPUs have with respect to input size. On real hardware, SKMD achieves an average speedup of 29% on a system with one multicore CPU and two asymmetric GPUs compared to a fastest device execution strategy for a set of popular OpenCL kernels.
Keywords
graphics processing units; multiprocessing systems; parallel processing; sequential codes; OpenCL kernels; SKMD system; asymmetric GPU; collaborative execution; data parallel work; data transfer costs; data transfer management; data-parallel kernels; device execution strategy; heterogeneous computing; heterogeneous systems; multicore CPU; multiple asymmetric CPU; non data-parallel work; performance competitive; performance improvement; performance variation; sequential code; single CPU-GPU combination; single data-parallel kernel; single kernel multiple devices system; time transferring data; transparent CPU-GPU collaboration; Collaboration; Graphics processing units; Hardware; Indexes; Instruction sets; Kernel; Performance evaluation; multi-core; multicast; network-on-chip; router; speculation;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel Architectures and Compilation Techniques (PACT), 2013 22nd International Conference on
Conference_Location
Edinburgh
ISSN
1089-795X
Print_ISBN
978-1-4799-1018-2
Type
conf
DOI
10.1109/PACT.2013.6618821
Filename
6618821
Link To Document