[gmx-users] Error in GROMACS 2018.1 regression testing - "make check" gives "symbol lookup errors"

Steven Sheridan steven_s_sheridan at yahoo.com
Sat Apr 21 23:17:48 CEST 2018


I'm trying to install GROMACS 2018.1 and getting errors during "make check" which Google has never heard of. My computer is nothing particularly unusual: a laptop with an Nvidia GTX 1050, Intel i7-8550U CPU, and running Ubuntu 18.04.

The problem has something to do with the GPU:
- Building goes fine when I don't include GPU (specifying -DGMX_GPU=off for cmake)
- When I built for OpenCL, using -DGMX_GPU=on -DGMX_USE_OPENCL=on, "make" and "make check" were successful, although the mdrun failed with a message about CL_OUT_OF_HOST_MEMORY (see message at the bottom).- When I build for CUDA, with just -DGMX_GPU=on, I get four failures in "make check".

I ran the following:

    make check

(The compiler options are because CUDA requires older compilers. I also tried it with gcc-5/g++-5. Either way,) "make" succeeds, but "make check" fails four tests:

     7/39 Test  #7: EwaldUnitTests ...................***Failed    0.00 sec
    [...]/gromacs-2018.1/build/bin/ewald-test: symbol lookup error: [...]/gromacs-2018.1/build/bin/ewald-test: undefined symbol: _Z13pme_gpu_solvePK6PmeGpuP9t_complex12GridOrderingb

    9/39 Test  #9: GpuUtilsUnitTests ................***Failed    0.00 sec
    [...]/gromacs-2018.1/build/bin/gpu_utils-test: symbol lookup error: [...]/gromacs-2018.1/build/bin/gpu_utils-test: undefined symbol: _Z18isHostMemoryPinnedPv

    32/39 Test #32: MdrunTests .......................***Failed    0.00 sec
    [...]/gromacs-2018.1/build/bin/mdrun-test: symbol lookup error: [...]/gromacs-2018.1/build/bin/mdrun-test: undefined symbol: _Z16resetGpuProfilerv

    33/39 Test #33: MdrunMpiTests ....................***Failed    0.00 sec
    [...]/gromacs-2018.1/build/bin/mdrun-mpi-test: symbol lookup error: [...]/gromacs-2018.1/build/bin/mdrun-mpi-test: undefined symbol: _Z16resetGpuProfilerv

And at the bottom of the output:

    Errors while running CTest
    CMakeFiles/run-ctest-nophys.dir/build.make:57: recipe for target 'CMakeFiles/run-ctest-nophys' failed
    make[3]: *** [CMakeFiles/run-ctest-nophys] Error 8
    CMakeFiles/Makefile2:1385: recipe for target 'CMakeFiles/run-ctest-nophys.dir/all' failed
    make[2]: *** [CMakeFiles/run-ctest-nophys.dir/all] Error 2
    CMakeFiles/Makefile2:1165: recipe for target 'CMakeFiles/check.dir/rule' failed
    make[1]: *** [CMakeFiles/check.dir/rule] Error 2
    Makefile:626: recipe for target 'check' failed
    make: *** [check] Error 2

You can see the full outputs here:
make_check.log:   https://gist.githubusercontent.com/sssheridan/10b7c045aff58b782e6a0fc5c4d2f833/raw/f1ba6b024d32e75d64ef4e4af75e57d3b22e1954/make_check.log
make.log:   https://gist.githubusercontent.com/sssheridan/10b7c045aff58b782e6a0fc5c4d2f833/raw/f1ba6b024d32e75d64ef4e4af75e57d3b22e1954/make.log
So, my questions are:
1) Is this a failure to be concerned about, or can I go ahead and use this GROMACS build?
2) Is there something I can/should do to fix it?

Just to try, I'm running with the CUDA build right now and, well, it's lasted longer than the OpenCL build without a crash (currently on step 740000).

I appreciate any advice or assistance you can offer!

Here's the error in mdrun from the OpenCL build:

    Using 1 MPI thread
    Using 8 OpenMP threads
    1 GPU auto-selected for this run.
    Mapping of GPU IDs to the 1 GPU task in the 1 rank on this node:
    starting mdrun 'Protein in water'
    5000000 steps,  10000.0 ps.

    Program:     gmx mdrun, version 2018.1
    Source file: src/gromacs/gpu_utils/oclutils.h (line 165)
    Function:    void gpuStreamSynchronize(cl_command_queue)

    Assertion failed:
    Condition: CL_SUCCESS == cl_error
    Error caught during clFinish:CL_OUT_OF_HOST_MEMORY

    For more information and tips for troubleshooting, please check the GROMACS
    website at http://www.gromacs.org/Documentation/Errors

I have 8GB of RAM, and the GPU has 4GB of video memory, and wasn't running much else at the time.

More information about the gromacs.org_gmx-users mailing list