Re: What's the advantage?
GPU acceleration of most code sounds really nifty, but unless compilers come out which can pretty much handle accelerating code as part of the normal compiler chain, its benefits will remain untapped by most
It doesn't have to be done by the compiler; developers just need to adopt better techniques. There's a good article in the June 2014 CACM on using an embedded DSL to produce highly optimized CUDA and other sorts of SIMD code from simple high-level abstractions. Sometimes these DSLs (particularly "deep" EDSLs which output parse trees rather than source in the embedded language) offer optimizations that can't safely be done on code in C similar languages, such as map fusion.
Creating those EDSLs is not particularly difficult, and learning them ranges from easy to trivial, depending on the application domain.
Then you have newer general-purpose languages which are designed to work well with SIMD architectures, such as Julia. They've mostly been developed, and taken up, by the number-crunching community, but then that's mostly where the vectorizable applications are.