Kaveri Odd Thoughts

I've been considering upgrading my main workstation / game machine and one of the most interesting options is an AMD (Kaveri) A10-7850K, which is one of the newest third-generation APU processors.

I'm admittedly seduced by the technical sophistication and cleverness of AMD's designs. They seem to bend over backwards to be different, fresh and innovative in a market that they have played underdog to Intel for many years.

Kaveri APUs do not normally require a video card. They dedicate die space on the cpu for a bus that allows GPU cores to run alongside cores for normal computing. The two groups of cores share access to memory. This allows greater cooperation between normal compute processors and graphics.

One of the advantages of this is zero-copy treatment of data. Instead of the CPU copying data between memory and the video card across a motherboard, APUs can use pointers to this data which then can be sent between the GPU and CPU, all on the faster die circuits.

Additionally, programming APIs like OpenCL 2.0 and Mantle leverage Kaveri processing performance even more. Intel CPUs also benefit from this, and these standards are being adopted slowly.

Furthermore, with the right video card, Kaveri processors can actually use Crossfire technology with the A-series APU, boosting the combined performace of the APU and card. And many of these processors with the "K" designator (such as the 7850K) can be generously overclocked.

Finally, power consumption on non-overclocked machines has been measured at 55 watts from the wall socket on APU only configurations. 55 watts is a very low power draw. Think of a 55 watt light bulb.

Howeverm, despite the sophistication of the design, performance of these processors is not as good as Intel, but closes the gap on graphics in a practical sense.

For most games I saw reviewed, there was a lot of hovering on the 30 fps mark or thereabouts. Application of Mantle and overclocking can push this into more acceptable territory. Most "next-gen" games are still locked at 60 fps and 1080p max. If all else fails, you could back off to 780p to regain frames, or better yet, use the right external card for crossfire.

It's a complex technology, and it has a way to go. The risks are potential lack of commitment from AMD, lack of support from game makers in using Mantle, motherboards that do not support crossfire, and in my special case, not being able to demote the machine to it's end of life as a FreeBSD server.

This last point I wanted to mention a bit more. Most of us who have machines like to keep them around long past their due date. Instead of using them as workstations and throwing them out, we "demote and rotate" them out as servers.

Right now, I have a Celeron single core machine with 1G of memory acting as my FreeBSD server. The machine is over 11 years old. I want to replace it with my current workstation, an Intel Core 2 Duo. Badly.

Even FreeBSD has upped the practical requirement for machines to realistically have 4G of memory (to support fabulous ZFS), and the old Celeron is limited to to 2GB. My Core Duo has 8G, and that's about right for a small home development server.

Unfortunately, FreeBSD supports old hardware much better than the new, prorietary stuff. I spent quite a lot of time trying to locate someone with a working FreeBSD Kaveri rig out there, (they practically don't exist) and the best I can say is that FreeBSD support seems experimental at this point. Not only that, but FreeBSD has only just recently adopted UEFI bios booting, and so naturally that will not be up to its full potential for a few months yet.

Burning inside to discover more about how FreeBSD fares with Kaveri, I tried a test-boot on my ASUS K55N laptop, a Trinity A-series CPU with 4 cores, 2nd generation piledriver architecture. It's similar enough to Kaveri that it could serve as an example on what to expect from FreeBSD today if I tried booting it.

In fact, to my surprise, I was able to boot into FreeBSD on this A8 using the UEFI CD ISO. I was able run a bunch of commands in the shell, but it was rough. There were a number of manual preperatory steps to perform in BIOS, kernel device detection/initialization failures and some other oddities along the way. I won't go into them here, but it's safe to say that full support will eventually come to the current technology. I imagine a year may have to pass before Kaveri recieves attention, unless something comes along to catalyze things. With the nightmare of ~2500 CPUs to support out there, and countless motherboards, volunteer programmers have their limits.

I will run any workstation for at least 5 years. If I get one, I won't be rotating a Kaveri machine out as a FreeBDSD server before it gets support. This makes it a reasonable candidate for a windows workstation now. Although the A10's 12 threads are compelling, if no suppport is there, half the CPU die will be sitting idle, since 8 of those threads are dedicated to graphics.

I'm also considering the more realistic AMD FX-83XX series CPUs (8 hardware threads, all usable for computing) for their sheer game-playing power for price. And possibly, the AMD FX-6300 for a decent low end experience with 6 hardware threads.