compiler / glibc optimization

Rob Savoye rob at welcomehome.org
Thu Jan 24 23:45:13 EST 2008


Vasilis Liaskovitis wrote:

> 1) I haven't found a default gcc in my xo system - if there is one,
> where is it installed ?

  "yum install gcc" works. You quickly run out of room for the
development packages you need, so it's easier to build on another Fedora
7 machine. You can also stick the dependent headers and libraries on a
USB drive or SD card, but it's slow.... and much more efficient to just
use your desktop machine. You can also compile on Ubuntu Gutsy much of
the time, if your libraries are roughly the same version. Or statically
link.

> (http://wiki.gnashdev.org/wiki/index.php/Building_OLPC_Tools)
> Is the geode-patched gcc4.2.1 preferrable for integration with the XO?

  I think Bernie added this to the gcc builds for the XO. I think he
also added the patched glibc as well. As I use my own toolchains, I
hadn't checked... :-(

> 2) My XO uses glibc2.6-4. I have reproduced the performance
> improvement from John Zulauf's optimizations (memcpy, memcmp, memset,
> strcmp, strcpy, strlen) against the local 2.6-4 implementation.
> The 2.6.5 glibc built on the gnashdev project includes these
> optimizations except from strcpy. Does anyone know why that is? Is the
> gnashdev build pushed for inclusion in upcoming stable systems?

  strcpy() had a problem that was causing a core dump, that I didn't
have the time to track down. I thought I had a link to the working copy
of strcpy() in assembler to anyone that wishes to improve the current
optimization patch. There may be other routines worth optimizing. I
limited my patch to what AMD had provided in their performance tests, as
it was very convenient to start with known testing results. Most of what
I did was just make the best perf-test code build as part of glibc.

> 3) Are there any important libraries or tools that still need to be
> analyzed/profiled or optimized for geode? FFTW, BLAS are mentioned on
> the optimization effort wiki/thread - are they being benchmarked by
> someone? Similarly, any important XO applications/system components
> that need to be benchmarked/ profiled with the default toolchains or
> with a newer toolchain? Any wiki links are appreciated.

  On my system I build most everything with the optimized toolchain. For
a system like the XO, every cycle helps. I'd love to see more
performance testing and improvement through the use of this
geode-optimized toolchain, plus see the patches get migrated upstream. I
can continue to keep the gnashdev wiki page updated with this info, or
maybe it should live on the laptop.org wiki.

	- rob -



More information about the Devel mailing list