2016 · 14 citations · 8 references
ComputingComputer ScienceHigh-performance ComputingHeterogeneous ComputingParallel AlgorithmsParallel ComputingCpu SchedulingData ParallelismGraphics Processing Unit ComputingHardware AccelerationParallel Computing SystemsParallel Runtime SystemsGpu Runtime SystemsHeterogeneous Runtime SystemsHeterogeneous SchedulingHeterogeneous Task SchedulingManaged Runtime SystemsProductivityRuntime SchedulingRuntime System Architecture
Effective utilization of the increasingly heterogeneous hardware in modern supercomputers is a significant challenge. Many applications have seen performance gains by using GPUs, but many implementations leave CPUs sitting idle.In this paper, we describe a runtime managed system for coordinating heterogeneous execution. This system manages data transfers to and from GPU devices and schedules work across the computational resources of the system. The programmer need only tag methods and parameters to enable heterogeneous execution.Using this system, we observe improvements in programmer productivity and application performance. For selected benchmarks, when using heterogeneous execution we observe speedups of up to 3.09x relative to using only the host cores or only the device.
8
NVIDIA cuda software and gpu parallel computing architecture
David B. Kirk · 2007 · 431 citations · Full text