Debian on Athlon Project

Aim

The Athlon CPUs (especially those beefore XP) seem to be able to run applications much faster when applications are optimized for the CPU (well, not that very much but anyway). Therefore I have come up with a grand ambition of building every binary package available in Debian to be rebuilt with Athlon optimization. This project started very quietly, and I am continuing with this project very, very quietly... under the veil of secrecy.

Reality

In the beginning, it was a joke. But as things progressed and my tools advanced, those little matters materialised to be more real. The whole things look like it is possible

Progress

athlon-builder
athlon-builder package was created by me, and the patch was included into pentium-builder version 0.16.1. It is possible to create athlon optimized binaries with the pentium-builder in Debian (or should be). 22 Dec 2001. There are software related to pentium-builder like apt-src and apt-build. However, they are not really cooperatively working.
pbuilder
pbuilder was designed to be a simple build daemon, or automated builder, but the ultimate aim was to be able to compile packages continuously with athlon-builder. It seems to be functioning. With 0.16, a bug was fixed so that it can use local archives decently. A method to use athlon-builder in the build rules needs to be checked.
Systems to drive the pbuilder
A wrapper script for pbuilder to continuously build packages have been created, and it is on test running. The program has been in test-operation and has built more than 6000 packages (30 Dec 2002) However, many packages are missing Build-Dependency, and other difficulties were found while building those packages. Their build failure logs are available from here.
A system to release the pbuilder results
This is probably required, and quite a few people have started proposing some scripts to do it, I have not personally got around to doing it myself (not complete).

This has been started up since sometime in the Springtime of 2001, and it has grown gradually to reach some kind of usable state. The problem I can see now is the fact that some packages cannot be compiled. Also to evaluate the meaning of this project, I need to complete the system actually before I can benchmark it.

Following diagram is the graph representing the time it takes to build each package. This was taken on the whole-packages build run which finished on 29 May 2002.

graph for build time

Downloads

None, yet, really.

Use

Not much to use other than pbuilder and other suites.

Reasons why this approach may be useful

Currently, Debian system has a system for choosing libraries optimised for certain architectures, as used in atlas libraries. However, there is no systematic way of using optimised binaries.

This project will hopefully create a generic way of generating and handling such binaries, destined to creating a opt-in way of optionally making binaries automatically recompiled for optimisation.

The same source file and same /debian/rules file will be ran with different environmental variables, and the gcc and g++ commands being replaced with the optimal binaries for building for certain arch. This should hopefully unload the burden from some packages, and will possibly improve the general status about Debian packages being optimised.

This project is crawling slowly, because I do not have the hardware dedicated to this project, and this project requires a lot of attention and hard work to keep on running. It certainly wears a lot of hard disk surface.


Junichi Uekawa

$Id: athlon-debian.html.en,v 1.18 2002/12/30 14:53:34 dancer Exp $