Yes, I've been reading the compiler code in anticipation. It's been
close to 15 years since I last did any real compiler (code
generation) work; it will take me some effort to get back up to speed.
I've been itching for an excuse to get a power mac, and this might be
it.
Is the 32 bit power compiler heavilly used by anyone?
The SPEs, of course, are the interesting part from the systems point
of view. It would be interesting to find a clean way of offering
them up (along with the required PU code - that's the hard part) as a
cpu-like computing resource. The tricky part is that SPE code seems
to like to set up pipelines using multiple SPEs, which makes
allocation trickier. Pre-emption looks expensive because of the
local memories.
Paul
On 24-May-05, at 12:26 PM, Eric Van Hensbergen wrote:
On 5/24/05, Paul Lalonde <[EMAIL PROTECTED]> wrote:
IBM looks like they are going to open up the Cell architecture:
http://www.eetimes.com/news/latest/showArticle.jhtml?
articleID=163106213
Which, if someone can start shipping dev boards, would lead me to
attempt a port :-)
I've been lucky enough to be working on one of these puppies for a
bit (demo at http://ps3.ign.com/articles/614/614705p1.html) and the
thing is so sweet to squeeze performance out of that I'd love to be
running a CPU server native on it...
I have no direct knowledge of these things, but development boards are
going to be scarce for a while. I've heard rumors that IBM will be
releasing the Cell full-systems simulator as part of them opening up
the architecture -- that will likely be your best candidate for a port
until development systems become more widely available.
In the meantime, porting to the G5 (or any other readily available
ppc64 platform) would probably be your best bet. First step is the
compiler (while you may be able to use the 32-bit power compiler,
you'll really want 64-bit if you are looking to squeeze performance).
Next is working with jmk (who is adding 64-bit support to the kernels
for opteron) to do the same thing for PowerPC.
That pretty much sums up the hard parts (at least for an initial
support). How to deal with the SPE's is a really big question, but
that can be dealt with after the core port is complete.
As you can see, I haven't put much thought into this myself ;)
-eric