Sunday, November 27, 2005

IBM's new Cell processor and its potential uses for AI

The following link

http://www.ibm.com/developerworks/power/library/pa-fpfunleashing/?ca=dgr-lnxw01CellUnleash

contains some interesting information on IBM's new Cell processors (used inside the PlayStation 3).

I am left wondering whether the Cell Broadband Engine could potentially be effective for Genetic Programming learning. (In Novamente we use an evolutionary learning algorithm different from GP, but it's similar enough that if the CBE can do GP, then it can do our algorithm as well.)

I am curious for the opinion of others who are more knowledgeable about such things. (I'm not really a hardware guy.)

Looking over the article referenced, it seems to me that the PPE (the main processing unit, a PowerPC variant) could be used to run the main GP algorithm, and then fitness evaluations could be carried out on the 8 SPE's ("synergistic processing units") in parallel.

For Novamente-relevant cases (as opposed to mathematical optimization problems) this would require what the above article calls a "Large single-SPE programming model", meaning that the SPE would need to access main memory to do its fitness evaluation. (Because for Novamente learning, fitness evaluation of evolved programs has to do with comparison of programs against fairly large databases of experientially and inferentially acquired knowledge.)

A downside is that the Cell has only 256MB of RAM. This doesn't seem to be a fundamental obstacle to GP applications but it means care would have to be taken in coding/design.... In the application I envision, most of the RAM would be taken up by the set of data against which the candidate programs are compared during the fitness evaluation process.

Of course, the basic idea is that if this worked it would be much cheaper to buy PS3's than 8-processor PC's, so a much larger evolutionary learning farm could be constructed at a relatively modest budget.

Hmmmm...

-- Ben Goertzel

1 Comments:

Lukasz Kaiser said...

I'm not so confident about the virtues of Cell. Especially it seems that it is not well suited for highly branching integer code and that is what you get with a program interpreter. I think a very interesting alternative is the new 8-core processor from SUN
http://www.sun.com/servers/coolthreads/t1000/

Not only does it seem to be a good product performance-wise, but I like a lot the open-source policy of SUN, as they not only open-sourced Solaris but they are as well open-sourcing the processor design!
http://www.eweek.com/article2/0,1895,1896866,00.asp

4:53 PM  

Post a Comment

<< Home