1

I'm using MPI with C, I've imported mpi.h and I am able to use MPI functions like MPI_Type_create_subarray() and MPI_Type_commit(), but I get a linker error when I try to use MPI_Type_create_resized().

Any idea why I wouldn't have that function, or maybe there is an alternative?

I'm trying to scatter and gather blocks of a 2D array.

1 Answer 1

1

I looked at the documentation for older versions (maybe you had an old implementation that didn't support that function), but even the "ancient" version contains the aforementioned function. This leads me to believe that maybe there was a problem when you downloaded/linked/etc the library. Maybe try re-downloading and setting up the library and see if that fixes it?

Also could you post your errors so we have a better context of the situation.

Sign up to request clarification or add additional context in comments.

4 Comments

I'm actually working on a university server... so that actually makes perfect sense. They probably haven't updated it in years. Unfortunately, I don't have any control over installed packages... and yeah the error was just undefined reference to 'MPI_Type_create_resized'
yeah the mpicc version is 1.2.7 :(
Yup, that would be the reason then! Maybe you can convince the admin of the server to update.
You could try to build a copy of MPI just for yourself and install it in your home directory.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.