[Nix-dev] octave and atlas, tuning for performance, which is the nix way here?

Marc Weber marco-oweber at gmx.de
Tue Oct 21 22:19:46 CEST 2008


Hi,

A friend has asked wether I could have a look at a matlab homework
task..

So I isnstalled octave figuring out that some functions have been
missing which are present in newer octave versions.

However the newest source distribution doesn't compile without external
blas/ atlas library because they've missed some references.
I'm compiling the dev version right now to see wether the trouble is
gone. However they've asked on the octave mailinglist why I don't just
use atlas. 

I'm compiling the newest version as well to retry compiling octave with
that one. However lines such as
      Read in L1 Cache size as = 32KB.
flush around so I wonder which would be the best way to distribute a
heavily tuned package such as atlas using nix?

Maybe using a flag such as

meta = {
  sourceOnly = true; # atlas does optimize itself for the hardware its
                     # running on heavily.. So it's best that everyone builds the package for
                     # his hardware
}

?

How do you think abouth it?
Its getting even worse if you think of optimizations which only work on
the building machine..

Maybe a more naive solution would suffice?

sdtenv.mkDerivation {
        forceBuild = getConfig [ "atlas" "forceBuild"] false;
}

which you can set to true in your config which will always be false on the
buildfarm?

Any thoughts on this?

Sincerly
Marc Weber



More information about the nix-dev mailing list