MPI library missing

507 views
Skip to first unread message

Zhenhui Liu

unread,
Oct 18, 2021, 4:21:17 PM10/18/21
to ProjectChrono
Hi, 

I tried to compile Chrono. It worked fine if I don't enable 'GPU' or 'FSI' modules.
If I enable 'GPU' module for example, following error shows.
And it is strange that the CMake will auto disable 'GPU' option after the error.
How to solve this?
Note that I'm using Win 10 OS:

Searching for MPI...

CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to `find_package_handle_standard_args` (PkgConfig)
does not match the name of the calling package (MPI). This can lead to
problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.22/Modules/FindPkgConfig.cmake:88 (find_package_handle_standard_args)
C:/Program Files/CMake/share/cmake-3.22/Modules/FindMPI.cmake:270 (include)
src/CMakeLists.txt:303 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.

Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)

Could NOT find MPI_C (missing: MPI_C_LIB_NAMES MPI_C_HEADER_DIR MPI_C_WORKS) 

Radu Serban

unread,
Oct 22, 2021, 7:12:38 AM10/22/21
to hui...@gmail.com, ProjectChrono

I am not sure why you would get this warning related to MPI only when you enable GPU or FSI.
Indeed, a check for MPI is always performed, regardless of what optional Chrono modules you enable.  I suspect the warning is also issued when GPU and FSI are not enabled, but that would only disable other modules that require MPI (such as Synchrono and Distributed – which you probably have not enabled to begin with?).

 

I will fix the MPI warning. Although I cannot reproduce it on any of my machines, I believe I know what the issue is.  In fact, I would appreciate it if you could help me with a test:

  1. First, check that this earning is also issued when neither GPU nor FSI are enabled
  2. Second, change line 303 of src/CMakeLists.txt from
    if (MPI_CXX_FOUND)
    to
    if (MPI_FOUND)

Is the warning still issued?  If yes, is it triggered in the same place; i.e. at src/CMakeLists.txt:303 (find_package)?

 

Coming back to the issue of configuring the GPU module, the only two tests that can automatically disable GPU are:

  1. Eigen version is less than the required 3.3.6
  2. CUDA is not available

If either of the two cases above, an appropriate message is also printed indicated why the GPU module was disabled.  What do you get?

Does your setup satisfy the above two conditions?  The output from the CMake run includes information on the Eigen version as well as information on whether a CUDA installation was found. 

If you still cannot resolve this issue, please post here the complete output from running CMake, as well as your CMakeCache.txt file.

 

Radu

--
You received this message because you are subscribed to the Google Groups "ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email to projectchron...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/projectchrono/467e5a65-93ea-427b-89bd-1517666d4a9cn%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages