================= Installation tips ================= Modular MPC ----------- MPC can also be installed directly using the configure script (see ``./configure --help``) in this later case loading and installing dependencies is to be done manually. MPC can build with the following REQUIRED dependencies: - OpenPA (``spack install openpa`` or `from source `_) - HWLOC 1.11.x (``spack install hwloc`` or `using source `_) - A launcher: - Hydra (``spack install hydra`` or `with the sources `_) - PMI (requires libpmi.so ``--with-slurm / --with-pmi1``) - PMIx (requires libpmix.so ``--with-pmix``) It is possible to choose between the following "modules" with ``--enable/disable-X``: - *lowcomm*: the base networking engine for MPC can be manipulated using the mpc_lowcomm.h header - *threads*: user-level thread support (provides posix thread interface pthread.h, semaphore.h, ..) - *openmp*: requires *threads* provides OpenMP support (GOMP and Intel ABIs) - *mpi*: requires *lowcomm* provides the MPI 3.1 interface - *fortran*: requires *mpi* provides the fortran 77,90,08 bindings for MPC - *mpiio*: requires *mpi* provides the MPI IO interface (both Fortran and C) For example, a lowcomm only version of MPC can be compiled with ``--disable-mpi --disable-threads``. The configure (or the mpc_status command) should provide information relative to the enabled components. .. note:: when the configure succeeds once a reconfigure script is provided for convenience it can be used to pass new options to the configure. You may have to pass ``--disable-prefix-check`` to acknowledge that you may be reinstalling MPC in a non-empty prefix (at your own risks).