On Wednesday, September 09, 2015 9:52:55 PM james wrote:
> Jeremi Piotrowski <jeremi.piotrowski <at> gmail.com> writes:
> 
> > No, and yes. Compilation is not affected in any way and runtime
> > performance can only be improved _if_ this stuff is explicitly used within
> > the code.
> 
> Yes this is all new and a work in progress. I do not think it will be
> gcc-6 that makes the difference in a few years. But folks should be aware
> and look for codes that are accelerated via usage of GPU resources.
> Remember this all started about hardware purchase and future benefits.
> It's definitely not commodity usage atm.
> 
> 
> > Meaning you would feel a difference in no less then 5 years when gcc-6 is
> > widely used and accelerator support is not restricted to intel MIC and
> > nvidia gpus. James is getting a bit ahead of himself calling this a
> > "game changer" - yeaaaaah... not really right now.
> 
> It's not as restricted as you indicate amd, intel, nividia and others like
> arm (Mali and such) are working to support there hardware under the openacc
> code extension now in gcc-5. Granted the more powerful your GPU resources
> are the more they can contribute. This stuff use to only work with
> vendor supplied compilers and sdks, now it's finally available in gcc,
> albeit in it's infancy. Naturally it's going to take a while to 
> become mainstream useful; but that more like a year or 2, at most.

The value I see on that technology for desktop computing is that we get the 
GPUs for what they're made (graphics processing) but their resources go unused 
by most applications, not in buying powerful GPUs for the purpose of offloading 
general purpose code, if that's the goal you're better off investing in more 
general purpose cores that are more suited for the task.

To trully take advantage of the GPU the actual algorithms need to be rewritten 
to use features like SIMD and other advanced parallelization features, most 
desktop workloads don't lend themselves for that kind of parallelization. That 
is why despite similar predictions about how OpenMP-like parallel models would 
obsolete the current threads model since they where first proposed, it hasn't  
happened yet.

Even for the purpose of offloading general purpose code, it seems with all the 
limitations on OpanACC kernels few desktop applications can take advantage of 
it (and noticeably benefit from it) without major rewrites. Off the top of my 
head audio, video/graphics encoders, and a few other things that max out the 
cpu and can be broken into independent execution units.

-- 
Fernando Rodriguez

Reply via email to