  Graphics Processing Units (GPUs) have revolutionized the computing landscape
over the past decade. However, the growing energy demands of data centres and
computing facilities equipped with GPUs come with significant capital and
environmental costs. The energy consumption of GPU applications greatly depend
on how well they are optimized. Auto-tuning is an effective and commonly
applied technique of finding the optimal combination of algorithm, application,
and hardware parameters to optimize performance of a GPU application. In this
paper, we introduce new energy monitoring and optimization capabilities in
Kernel Tuner, a generic auto-tuning tool for GPU applications. These
capabilities enable us to investigate the difference between tuning for
execution time and various approaches to improve energy efficiency, and
investigate the differences in tuning difficulty. Additionally, our model for
GPU power consumption greatly reduces the large tuning search space by
providing clock frequencies for which a GPU is likely most energy efficient.
