LWN.net Logo

Cross

Cross

Posted Nov 11, 2005 6:20 UTC (Fri) by ncm (subscriber, #165)
In reply to: low cost development hardware by khim
Parent article: Cell Broadband Engine Software Development Kit Version 1.0

Haven't you ever heard of cross-compilation? Why in the world would you ever want to run Eclipse on your target hardware? (Anyway if you're dependent on Eclipse, you won't be programming a Cell in this decade!) You must already have a nice development machine and environment, and there's no need to give that up. Just take your new PS3 out of the box, plug it into the network, netboot it, and off you go. What, graphics? OK, plug in another monitor, if you insist.

Anyway, it wasn't very long ago that you couldn't even get a disk drive that would hold 256MB. I remember how happy we were to get our first 20MB Seagate drive. (We had to recompile our BSD 2.8 kernel to tell it to stop swapping onto the middle of it!)


(Log in to post comments)

Cross

Posted Nov 11, 2005 10:44 UTC (Fri) by khim (subscriber, #9252) [Link]

Haven't you ever heard of cross-compilation?

Yes, of course.

Why in the world would you ever want to run Eclipse on your target hardware?

To save money, time and workspace ?

Anyway if you're dependent on Eclipse, you won't be programming a Cell in this decade!

Why not ? AFAIK main programming language for Cell is C and Eclipse have decent C support. I only chose Eclipse since this IBM's software BTW - I'm not big fan of Eclipse myself. If you are talking about JDK availability for Cell - this should not be big deal: IBM is publishing JDK for PPC64 and Cell's PPE is PPC64 with some extensions.

You must already have a nice development machine and environment, and there's no need to give that up. Just take your new PS3 out of the box, plug it into the network, netboot it, and off you go. What, graphics? OK, plug in another monitor, if you insist.

In onther words: keep both your workstation and PS3, spend time and money (office space is not cheap) for two sets of hardware. And so on. Loosers position: that's what Microsoft's rivals said back in 1980th: PC is too underpowered so better to base development on UNIX stations (your developers already own them anyway!) and use cross-compilation. Microsoft was right then and it's true today as well: if your platform is not self-sustained and your rivals platfrom is then you lose by default. Rival to Cell platforum is PC! Both IBM and AMD do plan to implement Cell-like architecture by 2010-2012. For Cell to succeed it needs full self-sutainability by 2007-2008 and some cool applications by 2009-2010. Or else the only result of all this activity will be small footnote in history. I can not see how this self-sustainability can be achieved if the main platform is PC+Cell-based PS3, not just PS3 variant by itself. It's okay to use PC to bootstrap development process (DOS and Windows were developed on UNIX workstations at first) but if you want a lot of developers (especially poor students and other free software public) then better make you platform self-sustained or watch how it becomes irrelevant.

Cross

Posted Nov 11, 2005 20:31 UTC (Fri) by ncm (subscriber, #165) [Link]

To be precise, if you're dependent on Eclipse or on Java, you're probably not smart enough to make effective use of a Cell, at least in this decade. Eventually somebody will come up with ways to make its oddities less visible, and access to them more portable.

The main CPU in the Cell is not a heavy lifter when it comes to (e.g.) running compilers. Most Cells will be in embedded gadgets for the next couple of years, so cross-compilation is the natural way to develop for the environments the code must run in. Here's a hint: Cell and its brethren certainly will be just a footnote in history, just as is practically everything in the computing world.

How much space does a PS3 take, anyway? You might as well use it as an X station (besides a development target), and unplug the monitor from your development box. That way you can put your noisy development machine in the basement (presuming you're not already there!) and enjoy the peace and quiet.

Finally, as drag and I both noted, 256MB is lots of RAM by any rational measure. If it's not enough, you're probably either running appallingly fat software, or processing NASA images.

Cross

Posted Nov 12, 2005 1:38 UTC (Sat) by yashi (guest, #4289) [Link]

> Loosers position: that's what Microsoft's rivals said back in 1980th: PC is too underpowered so better to base development on UNIX stations (your developers already own them anyway!) and use cross-compilation. Microsoft was right then and it's true today as well: if your platform is not self-sustained and your rivals platfrom is then you lose by default.

you just don't see cpu market as a whole. what you see, as it seems to me, is just PC and related hardware.

there is more cpu, including cell-like arch, than PC's. sure MS was right that PC is good enogh to host compiler, but you wouldn't want to run your compiler on your tomtom, iPod, or N770 for serious development. time _costs_ more than hardware or real estate.

it'd be nice to have power to self-compile, but the world isn't like that, at least not yet.

> Rival to Cell platforum is PC!

is it?

Cross compilation

Posted Nov 11, 2005 18:04 UTC (Fri) by ringerc (subscriber, #3071) [Link]

His reply would indicate he has. If he's had to use a cross compilation environment for more than very simple work, I expect he'll look about 30 years older in person than he actually is, and will wince whenever you say "is that a target binary, a host binary, or both?".

Cross compilation is in my limited experience a serious pain. Maintaining a target toolchain is annoying, and many build systems are distinctly unhelpful with cross compilation. If you have the misfortune to need to cross compile software that hasn't been cross-compiled from the beginning, it seems to be remarkably unpleasant much of the time.

Given the choice, if I could run my dev tools on my target, most of the time I'd want to.

Cross compilation

Posted Nov 11, 2005 22:08 UTC (Fri) by oak (subscriber, #2786) [Link]

> will wince whenever you say "is that a target binary, a host binary, or
both?"
>
> Cross compilation is in my limited experience a serious pain

You haven't tried Scratchbox from www.scratchbox.org?

With that you can run on your desktop both target and host binaries,
target binaries are automatically run either in an emulator (currently
Qemu) or if there's not good enough emulation, transparently over the
network on a target system with NFS exported development environment.

For latter, you only need to enable NFS in the target kernel and have a
small daemon running on it. After you've done your development & testing,
you just reboot the target machine with your devel env as it's NFS root
and proceed with system testing (startup etc)...


> If you have the misfortune to need to cross compile software that hasn't
> been cross-compiled from the beginning, it seems to be remarkably
> unpleasant much of the time.

Scratchbox has been developed to handle that kind of a stuff and to even
cross-compile whole distributions. All the autoconf crap works just fine
without any modifications and even cross-building Debian is now possible.
(which is AFAIK impossible with any other tool because of the circular
dependencies in Debian base packages and other problems)

Only things which are a bit of a pain / not always handled automatically
are situations where program wants to compile the same library both as a
host and target binary (e.g. Mozilla), or where as a part of build
process, the target software wants to install a binary extension to a
scripting language (perl, python, m4) which is used also on the
cross-compilation environment as host tool (for speed reasons).

Where's the "PC" in "PPC"?

Posted Nov 17, 2005 20:41 UTC (Thu) by hazelsct (guest, #3659) [Link]

You're missing the point. The question was: why don't we have cheap low-power fast Cell-based PC hardware available? If we have to develop on a separate x86-based machine, then the PPC is doomed -- at least for free software devs like us, who are scratching our itches on the development machines!

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds