NOTE: this information was out of date before it was finished, so
this discussion should be viewed as an introduction only.
For ATLAS 3.7.12, ATLAS's configure routine was completely rewritten for
greater modularity. The total amount of code probably increased, but the
amount that must be examined at any time should be very much smaller.
In the new system, the topmost unit is ATLAS/configure which is a
BFI shell script which allows ATLAS's config.c to be invoked in a
way very similar to gnu configure. This shell script gathers some info
and fills in a Makfile which is then used to build xconfig from
ATLAS/CONFIG/src/config.c. config.c is a driver program
that first calls various probes to determine any information not overridden by
user flags, and then calls xspew to create a full Make.inc for
the target architecture. xsprew is built from the file
ATLAS/CONFIG/src/SpewMakeInc.c.
The idea is to change ATLAS's install so it consists of the following
commands:
- /path/to/ATLAS/configure : Create Make.inc and build subdirs
in the present directory (ATLAS no longer requires building in arch-spec
directories under the source tree)
- make build : Build ATLAS
- make check : run sanity tests
- make time : run simple benchmarks, compare observed vs. expected
performance, and issue warning if too low
- Keep record of arch default installs with perfermance as % of
clock rate (not peak!)
- If arch def used wt bad compiler, this will detect performance
difference, and user should be warned
- If no arch defaults (so expected performance unknown), still create
standard benchmark output file for submission to ATLAS
- make install : copy libraries and include files to user-specified
directories
<512>>
Subsections
Clint Whaley
2012-07-10