The only practical applications of this technology are Aibo-like robotic pets, alpine rescue/relief assistants (like St. Bernards of old), and military weaponry. You forget the most practical application of this technology : trumpet playing robots
Now your problem is to parallelize the linear system solver. Normally this task takes up to 90% of total execution time so it's a good candidate for running on SPEs. For the other 10%, leave it on the PPE. And don't forget : adding "fun" stuff increases the code size, which means less space for data on SPE.
I'm not the writer of the original post, but I already used a Cell for CFD programming, and I confirm that it's a pain. If your code highly depends on memory access (such as many CFD codes), you will face huge amount of problems :
- the SPE have a very limited memory space, so you'll have to constantly move data between SPE and PPE.
- synchronizing SPEs is sometimes hard
- Moving chunks of memory means align correctly your data (believe me, it's not that simple).
- and don't forget that your code and data share the same memory space : if your code is large, then small amount of data will fit in memory (-> even more communications) If the code complexity (operations per chunk of data that fits in SPE memory) is less than O(n^2), the speedup will be very poor (sometimes less than 1...) because moving data is very expensive and it's worse when using double precision.
I may be wrong, but it seems that CFD codes are not the best ones to port on Cell. Give it a try : programming on Cell is very interesting and sometimes funny.
The fact that the Macbook air runs an OS that the PC laptop can't is a major plus. I'd rather say : An OS that can't run on every platform is a major disadvantage. Apple fanboy, start moding me down NOW !
It's strange that in an old news (2004), that was only a 50 kilograms rock :
"MOSCOW (AFP) - Russian scientists claim to have discovered the wreck of an alien device at the site of an unexplained explosion in Siberia almost a hundred years ago, the Interfax news agency reported. The scientists, who belong to the Tunguska space phenomenon public state fund, said they found the remains of an extra-terrestrial device that allegedly crashed near the Tunguska river in Siberia in 1908.
They also claim to have discovered a 50-kilogram (110-pound) rock which they have sent to the Siberian city of Krasnoyarsk for analysis. The Tunguska blast, in a desolate part of Siberia, remains one of the 20th century's biggest scientific mysteries. [...]"
The only practical applications of this technology are Aibo-like robotic pets, alpine rescue/relief assistants (like St. Bernards of old), and military weaponry.
You forget the most practical application of this technology : trumpet playing robots
Now your problem is to parallelize the linear system solver. Normally this task takes up to 90% of total execution time so it's a good candidate for running on SPEs. For the other 10%, leave it on the PPE. And don't forget : adding "fun" stuff increases the code size, which means less space for data on SPE.
Resources are available on IBM's developerWorks site (http://www.ibm.com/developerworks/power/cell/docs_articles.html, see also the forums some interesting issues are discussed) and on Barcelona supercomputing center (http://www.bsc.es/plantillaH.php?cat_id=326).
I'm not the writer of the original post, but I already used a Cell for CFD programming, and I confirm that it's a pain. If your code highly depends on memory access (such as many CFD codes), you will face huge amount of problems :
- the SPE have a very limited memory space, so you'll have to constantly move data between SPE and PPE.
- synchronizing SPEs is sometimes hard
- Moving chunks of memory means align correctly your data (believe me, it's not that simple).
- and don't forget that your code and data share the same memory space : if your code is large, then small amount of data will fit in memory (-> even more communications)
If the code complexity (operations per chunk of data that fits in SPE memory) is less than O(n^2), the speedup will be very poor (sometimes less than 1...) because moving data is very expensive and it's worse when using double precision.
I may be wrong, but it seems that CFD codes are not the best ones to port on Cell. Give it a try : programming on Cell is very interesting and sometimes funny.
Apple fanboy, start moding me down NOW !
as a non american, U of CA is much more comprehensible than UCSD. But, wait, who really matters about non american readers?
It's strange that in an old news (2004), that was only a 50 kilograms rock : "MOSCOW (AFP) - Russian scientists claim to have discovered the wreck of an alien device at the site of an unexplained explosion in Siberia almost a hundred years ago, the Interfax news agency reported. The scientists, who belong to the Tunguska space phenomenon public state fund, said they found the remains of an extra-terrestrial device that allegedly crashed near the Tunguska river in Siberia in 1908. They also claim to have discovered a 50-kilogram (110-pound) rock which they have sent to the Siberian city of Krasnoyarsk for analysis. The Tunguska blast, in a desolate part of Siberia, remains one of the 20th century's biggest scientific mysteries. [...]"