Basic Steps of an ATLAS install

An ATLAS install is performed in 5 steps, only the first two of which are mandatory. This install process is very similar to other free software installs, particularly gnu, though the fact that ATLAS does an extremely complex empirical tuning step can make the build step particularly long running. There are two directories that we will refer to constantly in this note, which indicate both the ATLAS source and build directories:
: This handle should be replaced by the path to your ATLAS source directory (eg, /home/whaley/ATLAS3.8.0).
: This handle should be replaced by the path to your ATLAS build directory (eg, /home/whaley/ATLAS3.8.0/Linux_P4E64SSE3).
Note that these two directories cannot be the same (i.e. you cannot build the libraries directly in the source directory). The examples in this note show the BLDdir being a subdirectory of the SRCdir, but this is not required (in fact, any directory to which the installer has read/write permission other than SRCdir can be used).

The ATLAS install steps are:

  1. configure[*]): Tell the ATLAS build harness where your SRCdir and BLDdir directories are, and allow ATLAS to probe the platform to create ATLAS's and BLDdir directory tree.
  2. build[*]): Tune ATLAS for your platform, and build the libraries.
  3. check1[*]): Run sanity tests to ensure your libraries are producing correct answers.
  4. time1[*]): Run basic timing on various ATLAS kernels in order to make sure the tuning done in the build step has resulted in efficient implementations.
  5. install1[*]): Copy ATLAS's libraries from the BLDdir to some standard location.

It is extremely important that you read Section [*] in particular, as most users will want to throw at least one flag during the configure step. In particular, most installers will want to set whether to build 32 or 64-bit libraries (Section [*]), and fine-tune the timer used, as discussed in Section [*]. However, for the impatient, here is the way a typical install might look (see §[*] for an explanation of the configure flags, since they will not work on all systems); note that the characters after the # character are comments, and not meant to be typed in:

   bunzip2 -c atlas3.10.x.tar.bz2 | tar xfm -    # create SRCdir
   mv ATLAS ATLAS3.10.x                          # get unique dir name
   cd ATLAS3.10.x                                # enter SRCdir
   mkdir Linux_C2D64SSE3                         # create BLDdir
   cd Linux_C2D64SSE3                            # enter BLDdir
   ../configure -b 64 -D c -DPentiumCPS=2400 \   # configure command
     --prefix=/home/whaley/lib/atlas \           # install dir
   make build                                    # tune & build lib
   make check                                    # sanity check correct answer
   make ptcheck                                  # sanity check parallel
   make time                                     # check if lib is fast
   make install                                  # copy libs to install dir

R. Clint Whaley 2016-07-28