[CMake] CMake on Linux + Playstation 3 (IBM Cell BE processor)

Alexander Neundorf a.neundorf-work at gmx.net
Thu Jan 3 04:10:26 EST 2008


On Thursday 03 January 2008, Christian Convey wrote:
> On Jan 2, 2008 8:54 PM, Christian Convey <christian.convey at gmail.com> wrote:
> > On Jan 2, 2008 10:23 AM, Alexander Neundorf <a.neundorf-work at gmx.net>
> > wrote: [snip]
> >
> > > Ok. So you have one build tree, and everything's built in this tree,
> > > both for the PPC and for the SPEs, and you run make once and get
> > > everything ?
> >
> > Yes.  You typically have one directory for you SPE source code, and
> > one directory for your PPC source code.
> >
> > You set a few Make variables to tell IBM's Make include file which
> > code is PPC vs. SPE.  It more or less does the rest.
> >
> > > Is this the typical setup or do you typically have a "project" for the
> > > PPC stuff and a separate project/separate developers for the SPE stuff
> > > ?
> >
> > I'm not sure what the common practices is in this regard.  My guess is
> > that you have a single project for the whole deal most often.
> >
> > On the other hand, there's nothing stopping people from developing SPE
> > and/or PPC code libraries, that are sometimes made part of larger
> > projects.  So in those cases I suppose there would be subprojects.
> >
> > > This is indeed cross compiling, or at least building software with one
> > > language for different CPUs.
> >
> > Correct.  Although cross-compiling is possible, my guess is that most
> > application developers just invoke a PPC/SPE native compiler that's
> > hosted on their Cell system.  

So there is only one compiler which works for both architectures ?

> > For example, in my case, I edit my
> > source files on my Ubuntu box, but they're shared via NFS.  I SSH into
> > my Playstation and tell it to compile those files.
> >
> > I suspect that people developing kernels for the Cell use a
> > cross-compiler, but I can't really say for sure.
> >
> > > Is it actually possible to create executables for the SPEs (if yes, can
> > > you just run them from the shell ?) or do you create some kind of
> > > modules/libs which are then uploaded to the SPEs by the PPC ?
> >
> > There are a few ways to do it.  You can link SPE object code (they
> > call it an SPE program, but I think it's probably just a bunch of
> > subroutines) into the binary image of a PPC program.  The Cell SDK
> > knows how to hunt down the SPE code within the PPC program's binary
> > image, transfer it over to an SPE, and start it running.
> >
> > It may be possible to have a native SPE program with no PPC code in it
> > at all, but I kind of doubt it.

Hmm, this sounds quite ... interesting.

Can you put a simple (but complete) hello-world kind of example somewhere ?

Alex


More information about the CMake mailing list