To enhance the energy efficiency and performance of algorithms with Graphics Processing Unit (GPU) accelerators in source-code development, we consider the power efficiency based on data transfer bandwidth and power consumption in key situations. First, a set of primitives is abstracted from program statements. Then, data transfer bandwidth and power consumption in different granularity sizes are considered and mapped into proper primitives. With these mappings, a programmer can intuitively determine the power efficiency and performance in different running states of a thread. Finally, this intuition enables the programmer to tune the algorithm in order to achieve the best energy efficiency and performance. Using these power-aware principles, two Fast Fourier Transform (FFT) methods are compared. The mapping between power consumption and primitives is helpful for algorithm tuning in source-code levels.
Zhang Changyou, Huang Kun, Cui Xiang and Chen Yifeng. Energy-aware GPU programming at source-code levels. Tsinghua Science and Technology. Volume: 17 , Issue 3, pp 278 – 286, 2012. [doi: 10.1109/TST.2012.6216757]