Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could not find ADIOS2: missing: MPI #71

Open
a519678685 opened this issue Dec 17, 2022 · 5 comments
Open

Could not find ADIOS2: missing: MPI #71

a519678685 opened this issue Dec 17, 2022 · 5 comments

Comments

@a519678685
Copy link

a519678685 commented Dec 17, 2022

I'm following the guide at 'https://www.exascaleproject.org/wp-content/uploads/2021/02/ADIOS_tutorial_ECP_AHM_Apr2021_full.pdf', trying to run gray-scott simulation and facing a problem while 'cmake -DCMAKE_PREFIX_PATH=/home/adios/Tutorial -DADIOS2_DIR=/opt/adios2 -DCMAKE_BUILD_TYPE=RelWithDebInfo ..'

Here is the error,
`CMake Error at /home/rin/ulocal/install/cmake/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find ADIOS2: missing: MPI (found
/home/rin/ulocal/install/python/Conda/envs/adios2/lib/cmake/adios2/adios2-config.cmake
(found suitable version "2.8.3", minimum required is "2.7.1"))
Call Stack (most recent call first):
/home/rin/ulocal/install/cmake/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:243 (_FPHSA_FAILURE_MESSAGE)
/home/rin/ulocal/install/cmake/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:585 (_FPHSA_HANDLE_FAILURE_CONFIG_MODE)
/home/rin/ulocal/install/python/Conda/envs/adios2/lib/cmake/adios2/adios2-config-common.cmake:173 (find_package_handle_standard_args)
/home/rin/ulocal/install/python/Conda/envs/adios2/lib/cmake/adios2/adios2-config.cmake:29 (include)
CMakeLists.txt:67 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/rin/ADIOS2-Examples/build/CMakeFiles/CMakeOutput.log".
See also "/home/rin/ADIOS2-Examples/CMakeFiles/CMakeError.log".`

It is tested remotely on a cluster, cluster administrator doesn't provide OpenMPI, so OpenMPI version of 4.1.4 is installed and the path is exported as well.
OS is Ubuntu 22.04.1 LTS.
ADIOS2 of version 2.8.3 is installed through Anaconda and confirmed connected to the library.
cmake --version is 3.25. Any help would be greatly appreciated.

@williamfgc
Copy link
Contributor

ADIOS2 of version 2.8.3 is installed through Anaconda and confirmed connected to the library.

Check if the installed variant has MPI support. Another option is to provide a ADIOS2 compiled version from source using MPI.

@a519678685
Copy link
Author

Thank you for your advices.

Check if the installed variant has MPI support.

I hope I understood it correctly, mpirun/mpiexec/mpicc is executable and installed under the activated Anaconda environment.
I tried other versions of ADIOS2 (2.7.0, 2.8.0 in specific) just in case, but don't work.

Another option is to provide a ADIOS2 compiled version from source using MPI.

Sorry, but I don't really understand this part.
Is it possible to give a detailed explanation?

@williamfgc
Copy link
Contributor

ADIOS2 has several configuration options for compilation. For this case, it needs to build with MPI. You can get a MPI variant from conda or build from source with MPI turned on as in the docs. Hope the docs help for a detailed explanation.

@a519678685
Copy link
Author

a519678685 commented Dec 19, 2022

ADIOS2 has several configuration options for compilation. For this case, it needs to build with MPI.

I understand the meaning now. Checked from adios2-config --mpi, the following shows up:
(adios2) ~/ADIOS2-Examples/build$ adios2-config --mpi
ADIOS2 was not built with MPI support: --mpi not supported
If I understood correctly, to turn on mpi support, -DADIOS2_USE_MPI=ON shall be set in the case of CMake.

You can get a MPI variant from conda or build from source with MPI turned on as in the docs. Hope the docs help for a detailed explanation.

I tried and faced some problems while building the variant.

Testing on the personal virtual machine, with the same error happened, the problem can be solved following the installation instruction of CMake after install in the docs.
After setting -DADIOS2_USE_MPI=ON, make, and install, activate the ADIOS2 environment in Anaconda can successfully execute cmake -DCMAKE_PREFIX_PATH=/home/adios/Tutorial -DADIOS2_DIR=/opt/adios2 -DCMAKE_BUILD_TYPE=RelWithDebInfo ..

But, in my case, I have no administrative privileges, making install difficult.
This also makes building ADIOS2 without Anaconda difficult.
Is there a way to build through Anaconda, or by adjusting files, to compile and create an MPI variant?

@a519678685
Copy link
Author

a519678685 commented Dec 19, 2022

Also, building up gray-scott in the environment that has administrative privileges, errors happened.
I am not very familiar with CMake, so perhaps I have misdone it.

After make install in guidance, files are supposed to be built in /home/adios/Tutorial
Then, by exporting the path of the bin under Tutorial, and heading to /home/adios/Tutorial/share/adios2-examples/gray-scott, then we can run the test.
However, no Tutorial folder is created.

Just for testing, may not help, but I also ran mpirun -n 4 adios2-gray-scott settings-files.json where adios2-gray-scott is from bin under /home/adios/adios2-examples/build/bin and got errors as belows.

https://gist.github.com/a519678685/97dc45226d0226a37bf8de45a382c604

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants