-
Notifications
You must be signed in to change notification settings - Fork 99
DEPRECATED: Installation using configure (autoconf) for QUDA 0.7.x
Installation using configure (autoconf) for QUDA 0.7.x (Use as fallback only for 0.8.x)
Installing the library involves running configure
followed by make
. See ./configure --help
for a list of configure options. At a minimum, you'll probably want to set the GPU architecture.
Enabling multi-GPU support requires passing the --enable-multi-gpu
flag to configure, as well as --with-mpi=<PATH>
and optionally --with-qmp=<PATH>
. If the latter is given, QUDA will use QMP for communications; otherwise, MPI will be called directly. By default, it is assumed that the MPI compiler wrappers are <MPI_PATH>/bin/mpicc
and <MPI_PATH>/bin/mpicxx
for C and C++, respectively. These choices may be overriden by setting the CC and CXX variables on the command line as follows:
./configure --enable-multi-gpu --with-mpi=<MPI_PATH> [--with-qmp=<QMP_PATH>] [OTHER_OPTIONS] CC=my_mpicc CXX=my_mpicxx
Finally, with some MPI implementations, executables compiled against MPI will not run without "mpirun". This has the side effect of causing the configure script to believe that the compiler is failing to produce a valid executable. To skip these checks, one can trick configure into thinking that it's cross-compiling by setting the
--build=none
and --host=<HOST>
flags. For the latter, --host=x86_64-linux-gnu
should work on a 64-bit linux system.
By default only the QDP and MILC interfaces are enabled. For interfacing support with QDPJIT, BQCD or CPS; this should be enabled at configure time with the appropriate flag, e.g., --enable-bqcd-interface
. To keep compilation time to a minimum it is recommended to only enable those interfaces that are used by a given application. The QDP and MILC interfaces can be disabled with the, e.g., --disable-milc-interface
flag.
The eigen-vector solvers (eigCG and incremental eigCG) require the installation of the MAGMA dense linear algebra package. Supported versions are MAGMA 1.5.x and 1.6.x, available from http://icl.cs.utk.edu/magma/index.html. MAGMA is enabled using the configure option --with-magma=MAGMA_PATH
.
If Fortran interface support is desired, the F90 environment variable should be set when configure is invoked, and "make fortran" must be run explicitly, since the Fortran interface modules are not built by default.
As examples, the scripts "configure.milc.titan" and "configure.chroma.titan" are provided. These configure QUDA for expected use with MILC and Chroma, respectively, on Titan (the Tesla K20X-powered Cray XK7 supercomputer at the Oak Ridge Leadership Computing Facility).