On Feb 1, 2009, at 5:41 AM, Toon Moene wrote:
I am just starting to think about adding OpenCL support into
future versions of
GCC, as it looks like a useful way of programming highly parallel
type systems,
particularly with hetrogeneous processors. At this point, I am
wondering what
kind of interest people have in working together on OpenCL in the
GCC compiler?
I might be working on parallelization (though in LLVM) for the next
one
or two years. If I have some free time to put into GCC, I'd love to
port my work to it and to collaborate with people already working
on OpenCL.
Although the OpenCL infrastructure doesn't confine itself to it,
this compute-on-the-graphic-processor type of parallellism mostly
concerns itself with "let's do the FFT (or DGEMM) really fast on
this processor and then return to the user".
This was true a year or two ago, but isn't really true any more.
Current GPUs are (almost) completely programmable and the trend is
obviously continuing towards greater generality. If you have a data
parallel problem, they can be an excellent solution. GPUs are also
fully IEEE compatible now as well.
OTOH, compiling for them is non-trivial ;-)
If it isn't (surely not for us meteorology types) this approach is
of limited use.
If you are limited by flops and memory bandwidth and your problems can
be tiled, GPUs can be extremely nice.
-Chris