How We Should Program GPGPUs

The future for GPU programming is getting brighter; these devices will
become more convenient to program. There is no magic bullet; only
appropriate algorithms written in a transparent style can be compiled for
GPUs; users must understand and accept their advantages and limitations.
These are not standard processor cores.

The industry can expect additional development of programmable
accelerators, targeting different application markets. The cost of
entering the accelerator market is much lower than for the CPU market,
making a niche target market potentially attractive. The compiler method
described here is robust enough to provide a consistent interface for a
wide range of accelerators.

Michael Wolfe has been a compiler engineer at The Portland Group since
joining in 1996, where his responsibilities and interests include deep
compiler analysis and optimizations ranging from improving power
consumption for embedded microcores to improving the efficiency of
FORTRAN on parallel clusters. He
has a PhD in Computer Science from the University of Illinois
and authored High Performance Compilers for Parallel
Computing, Optimizing Supercompilers for
Supercomputers and many technical papers.