AMD Betting Everything on OpenCL
Fusion is either going to carry AMD through to the victory parade, or drag it through the streets for a pelting in the village stocks. The whole future of AMD's CPU division rests on GPGPU computing being catapulted into the mainstream. If this happens, the company's APUs can theoretically obliterate Intel's CPUs in GPU-accelerated apps, and thump Core i7 like AMD64 thumped Pentium 4. If it doesn't, however, then AMD's CPU future is going to look pretty bleak.
What is AMD doing to ensure that the OpenCL revolution kicks off? How will Llano compete with Sandy Bridge if it doesn't? Would AMD even consider producing an ARM PC CPU like Nvidia? We're joined by AMD's manager of Fusion software marketing Terry Makedon, and head of product marketing for desktops and Fusion software, Sasa Marinkovic, to find out.
The success of your forthcoming Fusion APUs is likely to hinge on the popularity of GPGPU computing. What's the situation with this at the moment?
OpenCL is hugely important for us, and it's important for us that we start seeing more applications being accelerated - things like Flash video on YouTube, Firefox and IE9. These are becoming very interesting things to show the average user the value of an APU.
In Seattle in the middle of June we'll also have our first developers' conference, and at that point the objective will be to give educational instruction in an academic setting for researchers and developers – both from big corporations and independent guys – who want to develop OpenCL/DirectCompute acceleration stuff. There's a company called Acceleware
that offers training courses as well.
I also have to give kudos to Nvidia for coming out with CUDA and pushing the whole GPGPU market in a certain direction. I've been saying for a long time that CUDA's not going to exist forever, it's going to go away – it's proprietary. I truly stand by that statement I made many years ago, and I stand by it now. Intel just announced its OpenCL certification last week, so all of a sudden our friends at Intel have joined the industry standard OpenCL.
So you really think CUDA's not going to be around in a few years?
TM: CUDA's going to have a niche place in the industry – I think it'll exist for very specific high-performance computing applications - stuff like genetic mapping and specific things that universities are researching. I think that a lot of those places like that be happy with the infrastructure and support, and they'll stick around.
Is that because CUDA came first, and it's now just inertia that stops developers moving on?
It was absolutely the first, and it was actually because Nvidia handheld them and supported them, but at the same time Nvidia's limiting them by locking them into proprietary hardware. The stance we've always had is that we do not want this stuff to be locked to only work on a certain set of hardware, we will not do that, we were clear about it from day one and that's why we've put our full support behind OpenCL.
I keep talking about OpenCL, but DirectCompute, which is a part of DirectX 11, is just as important – the difference of course is that it won't work on Linux machines or Macs, but OpenCL will work on everything.
The theory is fine – OpenCL is an open standard that will work on everybody's hardware, while CUDA only works on Nvidia hardware. However, Nvidia's put a lot of money and resources behind CUDA, lots of developers are using it, and CUDA is clearly Nvidia's priority over OpenCL at the moment. How are you going to break that?
Nvidia's SLI was exactly like that as well – it was a closed system that they were pushing, and then you saw them opening it up to others after competitive pressure.
CUDA's proprietary nature will force it to become a niche API in
the future, according to AMD
That's different, though, isn't it? That's Nvidia opening up its own hardware technology to other people, rather than abandoning its own technology to adopt an open standard.
It's hardware, but it's the same issue or view, just from the software perspective.
Just to come back to your question on how we're going to crack that stranglehold. We're not going to do that – the developers will. I personally don't believe that big serious developers will program their applications to only run on a certain set of hardware and limit their sales.
The whole concept of the PC ecosystem is that everything works on it, right? I mean, there might be optimisations and a few bugs here and there, but you take Excel and it works on every PC on the planet, and that's the whole concept of the PC ecosystem – that's what I keep talking about – you can't lock in the user and say 'hey Mr User, if you want to run this application for photo-editing, MP3 DJing or whatever, then you have to have this piece of hardware and you're stuck with it for life.' I just don't see that happening.