Publication | Closed Access
Software pipelining for graphic processing unit acceleration: Partition, scheduling and granularity
21
Citations
31
References
2015
Year
EngineeringGpu BenchmarkingComputer ArchitectureSoftware EngineeringPower OptimizationHardware SystemsParallel AlgorithmsGpu ComputingGraphic Processing UnitParallel ToolComputing SystemsParallel ComputingCompilersInstruction-level ParallelismTask PartitioningComputer EngineeringComputer ScienceCentral Processing UnitPerformance Analysis ToolGpu ArchitectureProgram AnalysisParallel Performance EvaluationParallel ProgrammingData-level Parallelism
The graphic processing unit (GPU) is becoming increasingly popular as a performance accelerator in various applications requiring high-performance parallel computing capability. In a central processing unit (CPU) or GPU hybrid system, software pipelining is a major task in order to deliver accelerated performance, where hiding CPU–GPU communication overheads by splitting a large task into small units is the key challenge. In this paper, we carry out a systematic investigation into task partitioning in order to achieve maximum performance gain. We first validate the advantage of even partition strategy, and then propose the optimal scheduling, with detailed study into how to achieve optimal unit size (data granularity) in an analytical framework. Experiments on AMD and NVIDIA GPU platforms demonstrate that our approaches achieve around 31 – 59% performance improvement using software pipelining.
| Year | Citations | |
|---|---|---|
Page 1
Page 1