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

Compiling with C and OpenMPI #13435

Open
jmoynihanVA opened this issue Sep 9, 2024 · 5 comments
Open

Compiling with C and OpenMPI #13435

jmoynihanVA opened this issue Sep 9, 2024 · 5 comments

Comments

@jmoynihanVA
Copy link

Question

Hello. My company has recently used trilinos to speed up a routine for one of our plugins. we are trying to figure out how to package the plugin for our users. The Trilinos dependency, libmpi_cxx.so, is the C++ binding for OpenMPI, which is no longer supported by OpenMPI. Instead, OpenMPI supports C bindings. How should we proceed? Has Trilinos been updated to use C bindings? Or should we recompile OpenMPI with C++ bindings enabled (even though they are depreciated)? We would prefer not to require our users to use unsupported software.

Thanks,

Joseph Moynihan

@jmoynihanVA jmoynihanVA changed the title PackageName: General Summary of the Question Compiling with C and OpenMPI Sep 9, 2024
@cgcgcg
Copy link
Contributor

cgcgcg commented Sep 9, 2024

As far as I know we do not rely on the C++ bindings. Can you post how you are configuring Trilinos to end up with linking against libmpi_cxx.sp?

@jmoynihanVA
Copy link
Author

I believe we are using an older version of trilinos (13.4.1) since we started first using it, so maybe something has changed since then, or we just messed up the configuration. Here is the contents of our configuration file.

cmake
-DTPL_ENABLE_MPI=ON
-DMPI_BASE_DIR=project/software/ubuntu-22.04/openmpi/4.1.0/gnu/11.3.0/bin
-DBUILD_SHARED_LIBS=ON
-DTPL_ENABLE_Netcdf=OFF
-DPYTHON_INCLUDE_DIR=$(python3 -c "import sysconfig; print(sysconfig.get_path('include'))")
-DPYTHON_LIBRARY=$(python3 -c "import sysconfig; print(sysconfig.get_config_var('LIBDIR'))")
-DTrilinos_ENABLE_ALL_PACKAGES=ON
-DTrilinos_ENABLE_PyTrilinos=OFF
-DCMAKE_INSTALL_PREFIX=/project/software/ubuntu-22.04/trilinos/13.4.1/openmpi/4.1.0/gnu/11.4.0 \
/project/software/ubuntu-22.04/trilinos/13.4.1/Trilinos-trilinos-release-13-4-1
make -j4 install

@cgcgcg
Copy link
Contributor

cgcgcg commented Sep 9, 2024

Maybe the easiest way to figure this out: disable libmpi_cxx.so and see if things still build? If not, point me to what fails?

@jmoynihanVA
Copy link
Author

How would I go about disabling that?

@cgcgcg
Copy link
Contributor

cgcgcg commented Sep 9, 2024

I am assuming that you build your own MPI to get it in the first place? I doesn't seem to ship with MPI on my Debian system.

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

No branches or pull requests

2 participants