[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Speeding up ATLAS build time


I have attached a compressed tarball containing 
a draft set of patches.  I haven't tested them
fully, but you can see where I am going.

In brief the approach I am taking is to modify
config.c to test whether "make -j 2" works.
config.c adds a new parameter/variable, called
PMAKE, to the generated Makefile.  For machines
which do not have a working "make -j N", it is
set to "make", and for machines with a working
"make -j N" it is set to "make -j n" where "n"
is 2 * ncpu.

Then I went through all the makefiles in "makes"
and edited them to use $(PMAKE) to build object
files, usually by moving the object files from
the dependency line to a $(PMAKE) line in the
target build section.

I did have to be careful that when there were
dependencies on header files which might be
automatically generated, then those dependencies
had to be explicitly moved to the target which
calls $(PMAKE).

At any rate, here is a rough draft which probably
doesn't work but which gets through the first
parts of the build...  I hope to finish debugging
it early next week.



> -----Original Message-----
> From: R Clint Whaley [mailto:rwhaley@cs.utk.edu]
> Sent: Wednesday, March 07, 2001 6:05 PM
> To: staelin@exch.hpl.hp.com
> Cc: atlas-comm@cs.utk.edu
> Subject: Re: Speeding up ATLAS build time
> Carl,
> >At any rate, I have been thinking of ways to speed up the
> >build time.  In my experience, it is almost always faster
> >to use "make -j N", where N is usually 2 or 3 times the
> >number of processors.  Particularly on my dual processor
> >machine, it would be really nice to (roughly) halve the
> >build time.  I am starting to go through ATLAS to figure
> >out how to modify the system so it can automatically
> >use "make -j N" while building libraries and executables,
> >and "make" while doing timing runs.
> >
> >If/when I get it working, would you like me to send you
> >a patch file?
> This is an excellent idea, and please do send it in if you 
> get it rolling.
> If the required changes do not mess up the serial install, and don't
> require non-portable make stuff, this would be a great boon 
> to the package.
> Thanks,
> Clint