  When considering different hardware platforms, not just the time-to-solution
can be of importance but also the energy necessary to reach it. This is not
only the case with battery powered and mobile devices but also with
high-performance parallel cluster systems due to financial and practical limits
on power consumption and cooling. Recent developments in hard- and software
have given programmers the ability to run the same code on a range of different
devices giving rise to the concept of heterogeneous computing. Many of these
devices are optimized for certain types of applications. To showcase the
differences and give a basic outlook on the applicability of different
architectures for specific problems, the cross-platform OpenCL framework was
used to compare both time- and energy-to-solution. A large set of devices
ranging from ARM processors to server CPUs and consumer and enterprise level
GPUs has been used with different benchmarking testcases taken from applied
research applications. While the results show the overall advantages of GPUs in
terms of both runtime and energy efficiency compared to CPUs, ARM devices show
potential for certain applications in massively parallel systems. This study
also highlights how OpenCL enables the use of the same codebase on many
different systems and hardware platforms without specific code adaptations.
