People are lazy, so are software developers. Moreover, software developers have to care about stability, quality and backwards compatibility. As a result, many are reluctant to make use of brand new technologies like GPGPU in order to sustain quality. So, software developers need some kind of backing from hardware designers.
X-bit labs: How do you plan to encourage the usage of GPGPU among software developers? Your technical and marketing support has brought in 50 applications, not a bad number to say at least. But maybe you plan new approaches, maybe you have learnt something from your work.
Neal Robison: This is something we address every single day. With software development, there has always been a learning curve every time something new emerges.
I think of Fusion as of a real opportunity for a lot of developers to make their applications and increase their performance. Traditionally, most developers relied on CPU performance increase: chips become bigger, faster, gain cores. But I think a lot of consumers nowadays want to have a great performance on mobile devices, e.g., notebooks, and they do not have desktop systems with sixteen-core CPU inside. [So, they need GPU-accelerated applications].
For this reason, we have worked with these developers [to popularize high-performance GPU-computing technology]. We have found that using OpenCL, making sure that we support the industry standard, was a really good lesson, that is one of the first things we learnt. Simply making them [developing] using with a proprietary or closed API is very unnatural for developers. I think, I've been around long enough to learn that when you are trying to make developers do something unnatural, your success will not be very good. Making OpenCL available whether it is on a PC or Macintosh, whether it comes from AMD or Intel or Nvidia or Microsoft, [wide] industry support [of the API] has definitely made a world of difference.
Another thing that we do is that we continue to improve our software development kit (SDK) that [will help] developers to be able to take advantage of OpenCL on our platform. We keep that [up to date] and publish very regularly release [update] schedule so that developers could count on lots of new features being enabled with each release of the SDK.
At the same time we have released the OpenCL university kit; we have several universities mostly in Europe and North America [...] that are able to teach OpenCL. Some may have parallel programming courses in the task and the students really wanted to learn more about OpenCL because they know it is an open-standard that will be available across platforms. We have released a course/kit that will enable professors to be able to put together an OpenCL semester course quite easily.