[gmx-users] Fwd: make check error

Mark Abraham mark.j.abraham at gmail.com
Fri Oct 21 12:36:10 CEST 2016


Hi,

Your original cmake call was something like

cmake .. -DGMX_MPI=on -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx

which is the kind of thing people who might help want to see, rather than
make assumptions about :-) Likewise that you're using OpenMPI not IBM poe
(or whatever)

If you've done that, and mpirun is in the PATH, then "make check" will just
work because working with OpenMPI is part of our default.

Earlier you found that it didn't find mpirun, but I couldn't know whether
the problem was
1) you never configured with MPI
2) you are using some other kind of MPI and don't know what its launcher is
called
3) you are using something that uses mpirun but it just isn't in your PATH.

Mark

On Fri, Oct 21, 2016 at 11:35 AM Anna Vernon <lappala.anna at gmail.com> wrote:

> Let us try this again.
> I run these commands from the build directory:
>  cmake .. -DMPIEXEC=mpirun -DMPIEXEC_NUMPROC_FLAG=-np -DNUMPROC=2,
> -DNUMPROC=3, -DNUMPROC=4, -DNUMPROC=5, -DNUMPROC=6, -DNUMPROC=7,-DNUMPROC=8
>
 make -j 4
>  make check -j 4
>
> if I locate openmpi , I can see that it exists and openmpi is something I
> want to use, because it had no problems with other MD software packages
> that I have compiled in the past.
> /etc/openmpi
> /etc/openmpi/openmpi-default-hostfile
> /etc/openmpi/openmpi-mca-params.conf
> /etc/openmpi/openmpi-totalview.tcl
> /usr/bin/mdrun_mpi.openmpi
> /usr/bin/mdrun_mpi_d.openmpi
> /usr/bin/mpiexec.openmpi
> /usr/bin/mpirun.openmpi
> /usr/lib/openmpi
>
> Anyhow, after implementing make check, this is still what I get. Is there
> some sort of flag that I am missing or is this something that is a bug?
> The following tests FAILED:
>      21 - MdrunMpiTests (Failed)
>      26 - regressiontests/pdb2gmx (Failed)
> Errors while running CTest
> CMakeFiles/run-ctest.dir/build.make:49: recipe for target
> 'CMakeFiles/run-ctest' failed
> make[3]: *** [CMakeFiles/run-ctest] Error 8
> CMakeFiles/Makefile2:960: recipe for target 'CMakeFiles/run-ctest.dir/all'
> failed
> make[2]: *** [CMakeFiles/run-ctest.dir/all] Error 2
> CMakeFiles/Makefile2:936: recipe for target 'CMakeFiles/check.dir/rule'
> failed
> make[1]: *** [CMakeFiles/check.dir/rule] Error 2
> Makefile:544: recipe for target 'check' failed
> make: *** [check] Error 2
>
>
> On 21 October 2016 at 03:24, Mark Abraham <mark.j.abraham at gmail.com>
> wrote:
>
> > Hi,
> >
> > On Fri, Oct 21, 2016 at 10:26 AM Anna Lappala <lappala.anna at gmail.com>
> > wrote:
> >
> > >
> > > > Hi,
> > > >
> > > > please decrypt what you said- it was obvious from my earlier steps
> that
> > > i am making gromacs with mpi support.
> >
> >
> > I haven't seen your original cmake call, so I can't tell. These tests all
> > run whether you've configured with MPI or not. I've been forced to make
> > educated guesses all along, which makes it frustrating for everyone :-)
> >
> >
> > > Again, what is it if not mpirun? How do i check all this?
> > >
> >
> > You're trying to run on a compute cluster - it has documentation about
> what
> > it supports for running MPI. You might have to use srun, or mpiexec, or
> > aprun or poe or something else, and each of those have a different way of
> > expressing "run this program on n ranks." So all we have implemented is a
> > way for the problem to be solved, and a default that will often work.
> >
> > >> "it wants you to choose multiple ranks, before you can use the
> > > >> aforementioned CMake options to describe to ctest how to use it."
> > > > No, all it "wants" is to locate mpirun in any of the aforementioned
> > > folders. The tests run successfully if i put mpirun executable in the
> > > folder it wants to.
> > > > This does not however change the situation when i rerun the cmake
> > > command.
> > > > So let me be more clear. What do i do to make mpirun and which one of
> > > the steps that i am doing is wrong? See the commands in previous
> emails.
> > >
> >
> > mpirun isn't something we are building. It's infrastructure provided by
> > your MPI installation for taking GROMACS and running it across multiple
> > nodes. But depending on your MPI flavour, it could be named anything
> else,
> > so for now the only want to get the tests to run for some of the MPI
> > flavours is for you to consult your local documentation and work out how
> to
> > use it. You'll need to do this anyway to learn how to run the equivalent
> of
> >
> > mpirun -np 16 gmx_mpi mdrun -s your-simulation
> >
> > Mark
> >
> >
> > > >
> > > >> On Oct 21, 2016, at 01:47, Mark Abraham <mark.j.abraham at gmail.com>
> > > wrote:
> > > >>
> > > >> Hi,
> > > >>
> > > >> Assuming you are actually building GROMACS to run with MPI support,
> > you
> > > >> have a command that will be used to run an MPI program. Often that
> is
> > > >> called mpirun, but not always. You need to find out what that is,
> and
> > > how
> > > >> it wants you to choose multiple ranks, before you can use the
> > > >> aforementioned CMake options to describe to ctest how to use it.
> > > >>
> > > >> Mark
> > > >>
> > > >>> On Fri, Oct 21, 2016 at 1:25 AM Anna Vernon <
> lappala.anna at gmail.com>
> > > wrote:
> > > >>>
> > > >>> err, it does not find mpirun? I am confused
> > > >>>
> > > >>> Test project /home/anna/Downloads/gromacs-2016/build
> > > >>>    Start 21: MdrunMpiTests
> > > >>> Could not find executable
> > > /home/anna/Downloads/gromacs-2016/build/mpirun
> > > >>> Looked in the following places:
> > > >>> /home/anna/Downloads/gromacs-2016/build/mpirun
> > > >>> /home/anna/Downloads/gromacs-2016/build/mpirun
> > > >>> /home/anna/Downloads/gromacs-2016/build/Release/mpirun
> > > >>> /home/anna/Downloads/gromacs-2016/build/Release/mpirun
> > > >>> /home/anna/Downloads/gromacs-2016/build/Debug/mpirun
> > > >>> /home/anna/Downloads/gromacs-2016/build/Debug/mpirun
> > > >>> /home/anna/Downloads/gromacs-2016/build/MinSizeRel/mpirun
> > > >>> /home/anna/Downloads/gromacs-2016/build/MinSizeRel/mpirun
> > > >>> /home/anna/Downloads/gromacs-2016/build/RelWithDebInfo/mpirun
> > > >>> /home/anna/Downloads/gromacs-2016/build/RelWithDebInfo/mpirun
> > > >>> /home/anna/Downloads/gromacs-2016/build/Deployment/mpirun
> > > >>> /home/anna/Downloads/gromacs-2016/build/Deployment/mpirun
> > > >>> /home/anna/Downloads/gromacs-2016/build/Development/mpirun
> > > >>> /home/anna/Downloads/gromacs-2016/build/Development/mpirun
> > > >>> home/anna/Downloads/gromacs-2016/build/mpirun
> > > >>> home/anna/Downloads/gromacs-2016/build/mpirun
> > > >>> home/anna/Downloads/gromacs-2016/build/Release/mpirun
> > > >>> home/anna/Downloads/gromacs-2016/build/Release/mpirun
> > > >>> home/anna/Downloads/gromacs-2016/build/Debug/mpirun
> > > >>> home/anna/Downloads/gromacs-2016/build/Debug/mpirun
> > > >>> home/anna/Downloads/gromacs-2016/build/MinSizeRel/mpirun
> > > >>> home/anna/Downloads/gromacs-2016/build/MinSizeRel/mpirun
> > > >>> home/anna/Downloads/gromacs-2016/build/RelWithDebInfo/mpirun
> > > >>> home/anna/Downloads/gromacs-2016/build/RelWithDebInfo/mpirun
> > > >>> home/anna/Downloads/gromacs-2016/build/Deployment/mpirun
> > > >>> home/anna/Downloads/gromacs-2016/build/Deployment/mpirun
> > > >>> home/anna/Downloads/gromacs-2016/build/Development/mpirun
> > > >>> home/anna/Downloads/gromacs-2016/build/Development/mpirun
> > > >>> Unable to find executable:
> > > /home/anna/Downloads/gromacs-2016/build/mpirun
> > > >>> 1/1 Test #21: MdrunMpiTests ....................***Not Run   0.00
> sec
> > > >>>
> > > >>> 0% tests passed, 1 tests failed out of 1
> > > >>>
> > > >>> Label Time Summary:
> > > >>> MpiIntegrationTest    =   0.00 sec
> > > >>>
> > > >>> Total Test time (real) =   0.00 sec
> > > >>>
> > > >>> The following tests FAILED:
> > > >>>     21 - MdrunMpiTests (Not Run)
> > > >>> Errors while running CTest
> > > >>>
> > > >>>
> > > >>>> On 20 October 2016 at 16:27, Anna Vernon <lappala.anna at gmail.com>
> > > wrote:
> > > >>>>
> > > >>>> after doing this:
> > > >>>> cmake .. -DMPIEXEC=mpirun -DMPIEXEC_NUMPROC_FLAG=-np -DNUMPROC=2,
> > > >>>> -DNUMPROC=3, -DNUMPROC=4, -DNUMPROC=5, -DNUMPROC=6,
> > > >>> -DNUMPROC=7,-DNUMPROC=8
> > > >>>> make
> > > >>>> make check
> > > >>>> I get this:
> > > >>>> The following tests FAILED:
> > > >>>>     21 - MdrunMpiTests (Not Run)
> > > >>>>     26 - regressiontests/pdb2gmx (Failed)
> > > >>>> Errors while running CTest
> > > >>>> CMakeFiles/run-ctest.dir/build.make:49: recipe for target
> > > >>>> 'CMakeFiles/run-ctest' failed
> > > >>>> make[3]: *** [CMakeFiles/run-ctest] Error 8
> > > >>>> CMakeFiles/Makefile2:960: recipe for target
> > > >>> 'CMakeFiles/run-ctest.dir/all'
> > > >>>> failed
> > > >>>> make[2]: *** [CMakeFiles/run-ctest.dir/all] Error 2
> > > >>>> CMakeFiles/Makefile2:936: recipe for target
> > > 'CMakeFiles/check.dir/rule'
> > > >>>> failed
> > > >>>> make[1]: *** [CMakeFiles/check.dir/rule] Error 2
> > > >>>> Makefile:544: recipe for target 'check' failed
> > > >>>> make: *** [check] Error 2
> > > >>>>
> > > >>>>
> > > >>>> On 20 October 2016 at 15:40, Mark Abraham <
> mark.j.abraham at gmail.com
> > >
> > > >>>> wrote:
> > > >>>>
> > > >>>>> Hi,
> > > >>>>>
> > > >>>>> It'd be great to be able to make all things clear to all people,
> > but
> > > one
> > > >>>>> person's clarity is another's verbosity :-( But do see
> > > >>>>> http://manual.gromacs.org/documentation/2016/install-guide/
> > > >>>>> index.html#using-cmake-command-line-options
> > > >>>>> .
> > > >>>>>
> > > >>>>> Is an example of "cmake -DMPIEXEC=mpirun
> -DMPIEXEC_NUMPROC_FLAG=-np
> > > >>>>> -DNUMPROC=6..." more clear, given that many people will want to
> > > >>> customise
> > > >>>>> at least one value?
> > > >>>>>
> > > >>>>> Mark
> > > >>>>>
> > > >>>>>> On Thu, 20 Oct 2016 23:29 Anna Vernon <lappala.anna at gmail.com>
> > > wrote:
> > > >>>>>>
> > > >>>>>> hi
> > > >>>>>>
> > > >>>>>> This passage (the one of interest in my case) of documentation
> is
> > > >>>>> cryptic:
> > > >>>>>>
> > > >>>>>>
> > > >>>>>> The make check target also runs integration-style tests that may
> > run
> > > >>>>> with
> > > >>>>>> MPI if GMX_MPI=ON was set. To make these work, you may need to
> set
> > > the
> > > >>>>>> CMake variables MPIEXEC, MPIEXEC_NUMPROC_FLAG, NUMPROC,
> > > >>> MPIEXEC_PREFLAGS
> > > >>>>>> and MPIEXEC_POSTFLAGS so that mdrun-mpi-test_mpi would run on
> > > multiple
> > > >>>>>> ranks via the shell command
> > > >>>>>>
> > > >>>>>> ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} ${NUMPROC}
> ${MPIEXEC_PREFLAGS}
> > \
> > > >>>>>>      mdrun-mpi-test_mpi ${MPIEXEC_POSTFLAGS} -otherflags
> > > >>>>>>
> > > >>>>>> Typically, one might use variable values mpirun, -np, 2, '', ''
> > > >>>>>> respectively, in order to run on two ranks.
> > > >>>>>> Is it possible to explain this more clearly? there are
> gazillions
> > of
> > > >>>>> files
> > > >>>>>> in the cmake folder; where do I actually add the bit of code
> that
> > > sets
> > > >>>>> the
> > > >>>>>> variables?
> > > >>>>>>
> > > >>>>>> On 20 October 2016 at 07:56, Mark Abraham <
> > mark.j.abraham at gmail.com
> > > >
> > > >>>>>> wrote:
> > > >>>>>>
> > > >>>>>>> Hi,
> > > >>>>>>>
> > > >>>>>>> "make check" runs ctest behind the scenes. You can get some
> more
> > > >>>>>>> information by running ctest directly. From your build
> directory,
> > > >>> try
> > > >>>>>>>
> > > >>>>>>> ctest --output-on-failure --tests-regex "MdrunMpiTests"
> > > >>>>>>> However, I suspect your issues may be already covered at
> > > >>>>>>> http://manual.gromacs.org/documentation/2016/install-
> > > >>>>>>> guide/index.html#testing-gromacs-for-correctness
> > > >>>>>>> e.g.
> > > >>>>>>> that you have done an MPI build, but you need to customize how
> > you
> > > >>>>> start
> > > >>>>>>> your MPI enabled binaries.
> > > >>>>>>>
> > > >>>>>>> Mark
> > > --
> > > Gromacs Users mailing list
> > >
> > > * Please search the archive at
> > > http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> > > posting!
> > >
> > > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> > >
> > > * For (un)subscribe requests visit
> > > https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> > > send a mail to gmx-users-request at gromacs.org.
> > >
> > --
> > Gromacs Users mailing list
> >
> > * Please search the archive at http://www.gromacs.org/
> > Support/Mailing_Lists/GMX-Users_List before posting!
> >
> > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> >
> > * For (un)subscribe requests visit
> > https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> > send a mail to gmx-users-request at gromacs.org.
> >
> --
> Gromacs Users mailing list
>
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> posting!
>
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> send a mail to gmx-users-request at gromacs.org.
>


More information about the gromacs.org_gmx-users mailing list