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

Christian Convey christian.convey at gmail.com
Wed Jan 2 10:00:55 EST 2008


On Jan 2, 2008 9:15 AM, Alexander Neundorf <a.neundorf-work at gmx.net> wrote:
> On Monday 31 December 2007, Brandon Van Every wrote:
> > On Dec 30, 2007 3:19 PM, Christian Convey <christian.convey at gmail.com>
> wrote:
> > > A Cell processor has one PowerPC core, plus 8 "SPE" cores (only 6 are
> > > available on a Playstation 3).  You need a different compiler for each
> > > core type.
> > >
> > > Also, there are several different ways that all of that can be linked
> > > together into a single program.
> > >
> > > I probably can coax Cmake into handling this, so I may have misspoken
> > > when I asked about making CMake *capable* of building these programs.
> > > I probably should have asked about making it support, out of the box,
> > > the building of such programs using trivially simple CMakeLists.txt
> > > files.
> >
> > I would assume that Linux tool ports just use the PowerPC core.
> > Getting the 8 SPE cores to be utilized is quite an extension of scope
> > and rather application specific.  I would say you should handle those
> > with ADD_CUSTOM_COMMAND,
>
> Yes.
> The SPE cores are also programmed in C, aren't they ?

GCC supports SPE code generation, presumably as just another back-end.
 So I imagine that any language in the GCC suite works for SPEs.  That
being said, all of the nice Cell SDK programming libraries are written
with C interfaces, and I don't think you'll get very far without these
libraries.

> Do you have an example (simple) Makefile which demonstrates how to build
> software for these cores ?

Yeah, but the slightly goofy thing is that the Cell SDK provides some
additional content that they have you include into your Makefiles.
It's meant to be convenient, but really it just provides the kind of
thing that CMake does better:  Letting you have a short Makefile,
where some other Make-related code figures out the right compiler and
linkers to use (and the associated command-line options) in order to
achieve certain common, high-level tasks.

But CMake is still the best tool I've encountered for this kind of
thing, so I was hoping CMake does, or will, support Cell/Linux in a
way that lets me use just CMake instead if the Cell SDK's  header file
includes.

So I'm not saying that building Cell/Linux code is a huge pain in the
butt.  I was just hoping that I could employ CMake's goodness for such
projects without too much hassle.


More information about the CMake mailing list