My supercomputer can beat your supercomputer, and money is no object. FPGAs (Field Programmable Gate Arrays) are used most often in prototyping new computer processors. You can design a chip, then ‘program’ the FPGA to match the circuit design so that it can be verified. Verification is the process by which you do exhaustive tests on the logic and circuits to see if you’ve left anything out or didn’t get the timing right for the circuits that may run at different speeds within the chip itself. They are expensive niche products that chip design outfits and occasionally product manufacturers use to solve problems. Less often they might be used in data network gear to help classify and reroute packets in a data center and optimize performance over time.

This by itself would be a pretty good roster of applications, but something near and dear to my heart is the use of FPGAs as a kind of reconfigurable processor. I am certain one day we will see the application of FPGA in desktop computers. But until then, we’ll have to settle for using FPGAs as special purpose application accelerators in high volume trading and Wall Street type data centers. This article in WSJ is going to change a few opinions about the application of FPGAs for real computing tasks. The speedups quoted for different analysis and reports derived from the transactions show multiple orders of magnitude speedups. In extreme examples sometimes 1,000 times faster speed-ups occurred when using a fully optimized FPGA versus a general purpose CPU.

When someone can tout 1,000X speedups everyone is going to take notice. And hopefully it won’t be simply a bunch of copycats trying to speed up their reports and management dashboards. There’s a renaissance out there waiting to happen with FPGAs and I still have hope I’ll see it in my lifetime.

Thanks. I used to participate in a discussion board on the old Byte.com website about micro-processors and CPUs. And I was always fascinated by the idea of being able to reprogram the logic on a processor while doing calculations with it. Occasionally you’ll see Wired.com do an article on ‘evolutionary computing’ where the chip gets modified as an analysis/simulation is running. But it’s all been experiments for the most part. The only other activity I’ve seen is AMD pairing up FPGAs alongside their cpus in Scientific super computers for the National Weapons Labs. So there’s a small community still trying to get things going.

On the desktop though I think there’s more possibilities, and I say this as the ‘intelligent TV’ market is starting to take shape. With a full-on FPGA sitting on a motherboard with a general purpose CPU, there’s no telling what you could do with an intelligent TV for that matter. My Sony TV can now get updates on the fly and it’s got nothing more than a set-top style MIPS chip inside. Pair it up with FPGA as a co-processor and you’ve got a full computer that could do LOTS of different things.