MPI Installation FindCUDA CMake warning

GROMACS version:2023.2
GROMACS modification: No
Here post your question
I installed GROMACS MPI on a Dell workstation with a Intel® Xeon(R) Silver 4110 CPU @ 2.10GHz × 32 processor and AMD® Radeon pro wx2100 GPU on an Ubuntu 20.04.6 LTS OS using cmake options:
-DMGX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON -DMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DGMX_MPI=on -DGMX_GPU=CUDA -DBUILD_SHARED_LIBS=off -DGMX_FFT_LIBRARY=fftw3

I used CMake 3.27.4 and gcc 9.4.0

I received the following CMake warning:
CMake Warning (dev) at cmake/gmxManageCuda.cmake:42 (find_package):
Policy CMP0146 is not set: The FindCUDA module is removed. Run “cmake
–help-policy CMP0146” for policy details. Use the cmake_policy command to
set the policy and suppress this warning.

I tried, as per the cmake.org website, to run cmake_policy(SET CMP<####> NEW(or OLD)), using the two commands below, with the shown results.

cmake_policy(SET CMP<0146> NEW)
bash: syntax error near unexpected token SET' cmake_policy(SET CMP0146 NEW) bash: syntax error near unexpected token SET’

With final CMake warnings:

CMake Warning:
Manually-specified variables were not used by the project:

GMX_FTT_LIBRARY
IGRESSION_TEST_DOWNLOAD
MAKE_CXX_COMPILER
MAKE_C_COMPILER

This was installed over a non-MPI GROMACS 2023.0 installation.

make check passed 85/85 tests, although I didn’t use the REGRESSIONTEST_DOWNLOAD=on option and thus did not run the regression test.

Running the gmx -version command returns the version as 2023, GPU support as CUDA with an NB cluster size of 8, GPU FFT library as cuFFT, and Multi-GPU FFT as none.

The actual questions:
Is the “FindCUDA module removed” warning a problem?
Is not running the regression test a big deal?
Is building an MPI GROMACS 2023.2 over a non-MPI GROMACS 2023.0 a problem?
Should I recompile the non-MPI GROMACS using the 2023.2 source code?

Both installations were done in the default /usr/local/gromacs location.

Sincere thanks,

Ken

I see I made a typo: -DIGRESSION_TEST_DOWNLOAD=on and not -DREGRESSIONTEST_DOWNLOAD=on

I fear that this is a problem, is it?

K

Hi!

Is the “FindCUDA module removed” warning a problem?

Not really. The module is still functional, it’s just for developers (us) to update the GROMACS build system. As a user, you can safely ignore it.

I see I made a typo: -DIGRESSION_TEST_DOWNLOAD=on and not -DREGRESSIONTEST_DOWNLOAD=on
I fear that this is a problem, is it?

Nothing to fear, but you need -DREGRESSIONTEST_DOWNLOAD=on for the regression tests to work :)

-DIGRESSION_TEST_DOWNLOAD=on sets IGRESSION_TEST_DOWNLOAD variable, which is not used (and CMake warned you about it and a few similar typos in the message posted above).

Is building an MPI GROMACS 2023.2 over a non-MPI GROMACS 2023.0 a problem?

Should be okay. GROMACS, by default, builds gmx binary for non-MPI build and gmx_mpi for MPI-enabled build. They can coexist fine, but the non-MPI GROMACS would be an older version.

Should I recompile the non-MPI GROMACS using the 2023.2 source code?

Yes, I would recommend to do so. But not because of the MPI or anything, but just to get the latest bugfixes.

Hi Andrey,

Thank you, as always, for the super fast, clear and concise reply!

Consider this question answered and closed.

Compiling non-MPI 2023.2 now.

Best,

Ken

Last bit of hand holding…
When I “make install” the 2023.2 binaries into the default location (/usr/local/gromacs) it will automagically delete any non-overwritten binaries from the 2023.0 installation, if there are any?
Is this generally the behavior?

Best,
K

No, it should not do that. So, if you have a significantly different version of GROMACS installed, then old files might linger unless you uninstall them manually. But for the patch releases, there should not be any leftover files.

We have had a few bugs where extra headers were installed, and after fixing the problem in a patch release, the new version won’t touch them, so the old headers would live there unless you uninstall the old version. That should be harmless.