bit-tech.net

PathScale plans CUDA killer

PathScale plans CUDA killer

PathScale's secretive technology promises to beat CUDA and OpenCL at the GPGPU game.

Compiler specialist PathScale believes that its newly announced GPGPU technology can take on OpenCL and CUDA - and win.

The company's outspoken chief technology officer Chris Bergström spoke to the guys over at THINQ about the PathScale optimised GPU compiler, which he describes as "a very similar codebase to what Nvidia built for their Nvidia toolkit" only - so he believes - significantly better.

Describing Nvidia's CUDA programming model as "antiquated, dare I say crappy" and being "very expensive for people who write large bodies of code," Bergström believes - strongly - that his company's "third evolution of offloading - the fully automatic solution where zero code changes" will prove capable of beating both CUDA and OpenCL in the long run.

Bergström is certainly confident of his company's abilities, explaining that PathScale represents "a situation where we think we can build something better than them [Nvidia], and basically kick their ass."

While compilers are the company's bread and butter, PathScale is also looking to push open source and help to develop better GPGPU drivers for the open source community - so much so, in fact, that the company is offering free Nvidia Fermi graphics cards to "qualified open source developers and researchers" looking to write open drivers and compilers.

While details of the company's technology is still a closely guarded secret, PathScale is currently running its CUDA-killer through an alpha testing period - and Bergström has promised that whatever technology comes out of the other end will be open source and freely licensed.

Are you excited to see if PathScale can stir up the GPGPU market, or is yet another standard just going to fragment the marketplace and lead to slower adoption of GPU offload technology? Share your thoughts over in the forums.

16 Comments

Discuss in the forums Reply
ZeDestructor 28th April 2010, 10:24 Quote
Not another one.... all we need imo is OpenCL with proper support from everyone
Elledan 28th April 2010, 10:47 Quote
I'll stick with CUDA for now and OpenCL once it has matured some more. I don't think we need another 'standard'.
mi1ez 28th April 2010, 10:53 Quote
Pretty sure this will crash and burn as it doesn't have the existing support of OpenCL or CUDA.
Icy EyeG 28th April 2010, 13:11 Quote
If this technology supports higher level languages natively (instead of C or C++), then I'll give it a shot.
When they say
Quote:
third evolution of offloading - the fully automatic solution where zero code changes
does it mean that all you have to do to make your algorithm run on the GPU is change the compiler?
wuyanxu 28th April 2010, 13:21 Quote
zero code changes? impossible!
rickysio 28th April 2010, 13:41 Quote
Sounds very Steorn-y to me. Depends if they can deliver the goods.
aussiebear 28th April 2010, 14:18 Quote
Quote:
Originally Posted by ZeDestructor
Not another one.... all we need imo is OpenCL with proper support from everyone

How do you know OpenCL is all we need? Are you an experienced GPGPU application developer? (CUDA? OpenCL? ATI Stream? DirectCompute?)

Maybe OpenCL could be improved from PathScale's approach?
(Considering the latter will be open source anyway.)

I don't see a problem in exploring various options to see if one can do things better.

...Its like saying there should be only one brand or form of car, plane, boat, computer, CPU, video card, martial art, etc...And that should be the only way to go.

I say let's see what PathScale has to offer first. Then criticise if the implementation is BS or something of a keeper.
RichCreedy 28th April 2010, 16:46 Quote
Quote:
Originally Posted by aussiebear
Quote:
Originally Posted by ZeDestructor
Not another one.... all we need imo is OpenCL with proper support from everyone


...Its like saying there should be only one brand or form of car, plane, boat, computer, CPU, video card, martial art, etc...And that should be the only way to go.

there should it would make things so much easier ;)
thehippoz 28th April 2010, 16:54 Quote
anything but cuda.. need opencl or something better- basically any thing open source
isaac12345 28th April 2010, 17:25 Quote
If it does make it signficantly easier for the programmer than CUDA, Pathscale could shake the GPGPU market.
technogiant 29th April 2010, 08:38 Quote
provided it works with all hardware and isn't proprietary like cuda then it is just another string to our bow...all power to them in their efforts.
borandi 29th April 2010, 09:13 Quote
As long as it is as easy to use as CUDA but multiplatform, I'm all for it :thumbs:
[USRF]Obiwan 29th April 2010, 10:27 Quote
Quote:
Originally Posted by borandi
As long as it is as easy to use as CUDA but multiplatform, I'm all for it :thumbs:

Yeah and let all the current apps that support CUDA run instantly on ati hardware and then, only then you have a real winner!
Elledan 29th April 2010, 10:28 Quote
Most likely it'll be highly proprietary, require buggy tools, show questionable performance in a lot of situations and lag behind CUDA.

Don't underestimate the optimization done on CUDA and the fact that C/C++ can now run pretty much without modification via CUDA as well. Combined with the generic-ness of OpenCL, PathScale will have an uphill battle.

@borandi: You do realize that CUDA is multi-platform?
codestr0m 29th April 2010, 11:27 Quote
Quote:
Originally Posted by ZeDestructor
Not another one.... all we need imo is OpenCL with proper support from everyone

Can you seriously think of no better way to improve the programming model for offloading to the gpu? The OpenCL drivers will eventually become mature enough, but that's not really the problem here.

#1 It's about an open source foundation to foster further collaboration and research
#2 It's about improving the programming model to make it easier to leverage the gpu.
#3 It's about better performance, tools and innovation.
Quote:
Originally Posted by Icy EyeG
If this technology supports higher level languages natively (instead of C or C++), then I'll give it a shot.
When they say

does it mean that all you have to do to make your algorithm run on the GPU is change the compiler?

There's an inaccuracy in the article which I'll try to clarify.

We're doing alpha testing on what we consider the 2nd evolution approach to offloading to the GPU. (Not 3rd)

(That being a pragma or directive based approach to outline regions of code/functions for offloading) This doesn't mean we aren't working on a fully automatic solution, but that's 12-18 months away at the earliest.

Our goals are simple
1) Make the programming model easier. Pure CUDA and OpenCL development is expensive.
2) Equal or better performance compared to pure CUDA. (The directive based approaches currently available lose performance compared to pure CUDA in their source-to-source translations)

We could easily add a CUDA or OpenCL front-end to our compiler, but this was not the preferred programming model for those writing real code to be offloaded to the gpu.
Quote:
Originally Posted by borandi
As long as it is as easy to use as CUDA but multiplatform, I'm all for it :thumbs:

CUDA is *not* easy when you compare it to writing a traditional multithreaded application which can take advantage of multicore processors. (The Nvidia best practices add a lot of gotchas to really achieve the best performance.) I'm not saying we'll solve world hungry, but from our perspective we think the compiler can do a much better job and make things easier.

While Linux dominates the HPC market I'd like to see Linux, FBSD and OpenSolaris support. (Actual platforms not confirmed so do not consider this final)
Quote:
Originally Posted by [USRF]Obiwan
Yeah and let all the current apps that support CUDA run instantly on ati hardware and then, only then you have a real winner!

Do you work for AMD/ATi or something? (jk) ATI's problem is not because they are simply limited on the front-end. Even if that were possible the majority (90% based on the market data I have) of the HPC market is preferring Nvidia hardware. Lets be really blunt here.. ATI's r700 isa and registers are open and publicly available. We surely aren't doing all this extra work for no reason.

We are evaluating adding an ATi backend so please let us know if you need it and will use it in production.
Nike8 30th April 2010, 06:27 Quote
Opencl can do the job for us. Or may be there are some other open source options available too. Solr an open source search platform (http://www.lucidimagination.com/Downloads/LucidWorks-for-Solr/Reference-Guide) can also fit in from application developer's perspective.
Log in

You are not logged in, please login with your forum account below. If you don't already have an account please register to start contributing.



Discuss in the forums