2016 · 14 citations · 16 references
ComputingComputer EngineeringComputer ScienceHeterogeneous ComputingMachine LearningParallel ComputingData ParallelismData PartitioningData-flow AnalysisGraphics Processing Unit ComputingParallel Computing SystemsParallel Performance AnalysisControl Flow ControlDynamic PartitioningMulti-core ComputingPartitioningPartitioning AlgorithmsPartitioning StrategiesStatic PartitioningWorkload Partitioning
Heterogeneous partitioning is a key step for efficient mapping and scheduling of data parallel applications on multi-core computing platforms involving both CPUs and GPUs. Over the last few years, several automated partitioning methodologies, both static as well as dynamic, have been proposed for this purpose. The present work provides an in-depth analysis of control flow divergence and its impact on the quality of such program partitions. We characterize the amount of divergence in a program as an important performance feature and train suitable Machine Learning (ML) based classifiers which statically decide the partitioning of an OpenCL workload for a heterogeneous platform involving a single CPU and a single GPU. Our approach reports improved partitioning results with respect to timing performance when compared with existing approaches for ML based static partitioning of data parallel workloads.
16
Rodinia: A benchmark suite for heterogeneous computing
Shuai Che, Michael Boyer, Jiayuan Meng et al. · 2009 · 3K citations
Chi-Keung Luk, Sunpyo Hong, Hyesoon Kim · 2009 · 512 citations
Michael D. Linderman, Jamison D. Collins, Hong Wang et al. · 2008 · 280 citations