Wednesday, September 30, 2009

Nvidia, AMD, Intel and GPGPU

As of now it looks like AMD is hitting Nvidia hard. The latest 5xxx series from AMD is impressive. The theoretical single precision performance is over 2TFLOPS and double precision is is over 500 GFLOPS. Nvidia won't have a competing product until next year. Intel is working on it's answerLarrabee, which should ship next year.

Both Intel and AMD are providing specs to create open source products. Because of this, I've been supporting them. Most of my recent purchases has been AMD products. The open source video drivers have been working. I don't do a lot of 3d stuff so that's not so important. I'm hopeful that open source video acceleration will soon be possible.

I've not been buying a lot of Nvidia hardware. They were the best at producing binary drivers and supporting the various distributions. Now that AMD has reasonable opensource driver support, it's more of a hassle to worry about getting the binary drivers installed. It's fairly easy to install the binary drivers if your distribution has a non-free repo that maintains them. But, sometimes stuff breaks and if you have to fix it. Also, binary drivers may not immediately support the latest and greatest kernel/xorg for your distro. I'm glad that the we've got opensource drivers that are fixing this problem.

The biggest problem now is the lack of opensource drivers for the GPGPU hardware capabilities of the newset equipment. AMD and Nvidia both require binary drivers to allow general purpose programming access through OpenCL. This presents a problem, because we're back to the problem of being reliant on the whims of a company to be able to write programs to make use of hardware.

This is where Intel comes into play. They've been providing the information to developers to create the necessary drivers for their hardware. I'm hopeful that they'll do the same with Larrabee. If they provide opensource software/drivers, they'll take a big chunk of the market from AMD and Nvidia. They'll take it because it'll be easier to use Intel hardware in compute clusters. The necessary drivers and software will come with the distributions by default and will be very easy to use just like the Intel CPUs.

Herb Sutter's article on multicore system gives you an idea of what it might be like when Larrabee comes along.

In 2006, instead of shipping a dual-core Itanium part, with exactly the same transistor budget Intel could have shipped a chip that contained 100 decent Pentium-class cores with enough space left over for 16 MB of Level 3 cache.

If Larrabee is a massively parallel x86 ISA that is open, it could really shake things up. Hopefully, they'll provide it on a PCI-E card and not tie it to their CPU, otherwise it'll be a while before I can buy one.

No comments: