Monday, March 22, 2010

AMD is releasing a dozen cores on a single CPU… now what to do with them?

We have all heard that multi-core computing is the way of the future, but with AMD announcing that production of their 8- and 12-core AMD Opteron 6100 Series processors are underway it won’t be long before you can have access to some very serious computing power all from a single server. In fact, AMD has a contest right now asking what would you do with 48 Cores on your server, which piqued my interest and got me thinking about the possibilities. Most general purpose computing can only utilize a few cores at a time, so aside from running a massive database/web server or consolidating a few dozen virtual servers into one physical machine it is difficult to think up a use case for the 105.6GHz of raw computation that would be available from 4x12 core CPUs. Even altruistic ideas like setting up thin-client learning environments for starving kids in Ethiopia don’t really fit very well, as that problem is much better addressed by other means (not to mention CPUs don’t taste very good :-P).

If you ask me, that kind of power is best displayed the same way it was in 1997 when Deep Blue won a chess game against a reigning world champion (Garry Kasparov). Deep Blue ended up losing 4-2 overall, but it still showed that computers were capable of completing head-to-head with a formable human opponent. Deep Blue was essentially a massively parallel computer with 30x120MHz nodes and 480 special “chess chips” that allowed it to evaluate 200 million positions a second and find the best move by brute force. Now days Chess is a well studied game with even mobile phones being able to compete at the grandmaster level.

I was never much of a chess player, but I have spent a fair amount of time working on computer software for Texas Holdem, which has a much more complex game theory with lots of unknowns and many different playing styles. I think that poker will be the next big arena for computer vs human competition, and while computers are already used for collecting and analyzing player poker hands and playing virtual tournaments they still are not quite up to the task of competing with human players.

With 48 cores though you would have the ability to run many sub-process that could make predictions and, once validated, be used to profile a player and quickly create an optimal offensive strategy for each hand. A full poker table may have up to 12 players, but considering there are 4 cores for each player, that seems like ample computing power to create neuro-networks that model each player to try and predict their next move. Each network is independent, and the four channels of DDR-3 for each AMD Opteron processor should give great bandwidth throughput. I have already been able to evaluate in excess of 20,000,000 hands per second on a basic quad core system, so the power of 48 cores is simply the next logical step!

Monday, March 1, 2010

Microsoft PhotoSynth: 2500 square feet of deliciousness!

About 7 or 8 months ago one of my very good friends started his own Ice Cream and Coffee shop in Park City Utah. Ever since then I have been wanting to create a PhotoSynth of the shop to help drum up business and see how the process works. PhotoSynths have recently been incorporated into the Silverlight version of Bing maps, so you can literally go from a satellite view to bird eye view all the way down to a synth of someone’s living room. This weekend I finally went up to Yellow Snow Ice Cream and Coffee and took over 700 photos to turn them into a PhotoSynth. I think the results are pretty good actually! Check it out: