Re: [AMBER] mpi4py Problem

From: Jason Swails <jason.swails.gmail.com>
Date: Tue, 8 Feb 2022 15:43:42 -0500

On Mon, Feb 7, 2022 at 11:31 PM Ilyas Yildirim <iyildirim.fau.edu> wrote:

> Dear Dave,
>
> I finally installed AmberTools21 using both the tradition method and
> cmake, but it was not easy. Here are what I have seen:
>
> 1. In the cmake version, I had to first do "clean_build" in order to
> properly install the parallel version. Nevertheless, mpi4py needs to be
> installed. It is a little bit trickly; I think (but I am not sure as I have
> tried a lot of combinations) amber.conda works.
>

Amber bundles a version of mpi4py and builds it as part of the parallel
build process (including with CMake), which you can find in
$AMBERHOME/AmberTools/src/mpi4py-3.0.3. The reason for this is that any
MPI binary or library must be built with MPI compiler wrappers that come
from the *same* MPI compilation as the one providing the "mpirun" (or
mpiexec) command you use. So you can't simply `conda install mpi4py`,
since most Amber users already have a separate MPI library they build Amber
in parallel with.

The CMake build system will try to build mpi4py as part of the install
process unless it's already present in the Python install you specify (for
Miniconda, it will always try to build it), or unless you've specified the
PGI compilers.

> 2. I had to install the latest version of pnetcdf. I could not compile
> the one in $AMBERHOME/Ambertools/src/pnetcdf.
>

Why not? What errors did you encounter?

  3. In the traditional version, before parallel installation, amber.pip
> needs to be utilized to install mpi4py. Interestingly, amber.pip is not
> available in the cmake version.
>

This is not true. mpi4py is installed by essentially running "amber.python
setup.py install" in the `mpi4py-3.0.3` source directory. You can always
run this command by hand to isolate build errors (or perhaps actually build
mpi4py). pip is never used.

> 4. Even though MMPBSA.py and MMPBSA.py.MPI are the same files, it seems
> that the codes use the file name to decide if it is a parallel or serial
> run.
>

Yes, this is how it works.

I recommend looking carefully at the CMake logs (grep for "mpi4py") to see
if there was an error building the mpi4py library. That is my best guess
for what could be going on here.

HTH,
Jason

-- 
Jason M. Swails
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Tue Feb 08 2022 - 13:00:03 PST
Custom Search