GPUs are garnering greater mind share and market share.
Their advantages in performance, performance-per-dollar,
and performance-per-watt continue to drive them further
into the high-performance computing (HPC) space. Along
with this, they are also being used more and more for
accelerating desktop applications. In either case, realizing
the benefits that GPUs can provide is contingent on writing
GPU-enabled applications, and subsequently, on being able
to optimize these programs to make efficient use of the
hardware. Optimizing codes for NVIDIA GPUs has been
well studied and published extensively, but optimizing for
other GPU platforms, such as those from AMD, has barely
been mentioned.