Parallel Processing For Cardiac Simulations Using an Xbox 360
Foot-in-Mouth writes "Physorg has an article about a researcher, Dr. Simon Scarle at the University of Warwick's WMG Digital Laboratory, who needed to model some cardiological processes. Conventionally, he would requisition time on a university parallel-processing computer or use a network of PCs. However, Dr. Scarle's work history included gaming industry experience as a software engineer at a company associated with Microsoft Games Studio. His idea was that researchers could use Xbox 360s as an inexpensive parallel computing platform due to the console's hefty parallel processing-enabled GPU. He said, 'Although major reworking of any previous code framework is required, the Xbox 360 is a very easy platform to develop for and this cost can easily be outweighed by the benefits in gained computational power and speed, as well as the relative ease of visualization of the system.'"
He should've used something like CUDA instead, for long term gains. This would have shown far better performance than the Xbox's GPU (which is quite dated now), and easy scalability as better GPUs keep coming to the market. His familiarity with Xbox programming might have enabled him to come up to speed with CUDA quickly.
If you program C# Windows / Direct3D, programming, XNA for XBOX is easy to program for. You can actually start with XNA on the PC and most stuff will transfer over with minimal changes. You have access to the GPU and shader programming so GPGPU programming ideas can be ported as well.
The PS3 Linux is significantly more difficult to program for, has a different memory model (and programming architecture) for the SPU's, has very poor (compared to Visual Studio) debugging and programming IDE environment, etc. Not to mention that the latest version of the PS3 doesn't even support Linux. There is no GPU access so GPGPU algorithms available on the PC need to be manually ported to the PS3.
That said, if they actually did buy older PS3's, take the steep learning curve to SPU programming, port all of their code to a 100% custom platform with hard-to-use tools, and heavily optimize the SPU code, they would probably be running their algorithms significantly faster on PS3 SPU's than on the XBOX 360 GPU.
Found cure for cancer. Patented it.
Actually, the case could easily be made that programming a GPU that was NOT meant for general-purpose computing is quite a bit harder than the Cell, which WAS designed with more general-purpose computing in mind. You don't need to port everything required for GPGPU, you just use the libraries and tools developed by IBM for the Cell.
"Upon attaching the waterblock to my penis, I began to notice that I know nothing about computers." -- JRockway
Because it's really a publicity stunt from Microsoft trying to get the Xbox360 in the forefront of peoples minds in the lead up to Christmas.
The article reads like most of the marketing cover I see from Microsoft (and for that matter most other software companies).
Organisation X needed to do Y but the competing product was too expensive (in price/effort/time). Our product does Y at a fraction of the price/time/effort of our competitor.
The people at Orgaisation X are smart people who know all about Y and are very happy with our product.