-
Notifications
You must be signed in to change notification settings - Fork 885
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
NVIDIA 'nvfortran' cannot link libmpi_usempif08.la #8919
Comments
👍 |
Can someone from nVidia please take a look? |
@janjust Is anyone at NVIDIA looking at this? It looks like the same issue was just reported on https://www.mail-archive.com/users@lists.open-mpi.org/msg34594.html. |
Not a compiler bug but rather autoconf, we'll make a note of it in the README until we fix it. |
@janjust I think you're saying that NVIDIA is going to deliver a new version of your compiler (v21.11) in end of November that will fix the issue. Is that correct? |
@jsquyres correct |
@janjust Great. Can you make PR's for v4.0.x / v4.1.x README's that mention this? Seems like a good issue discussion in the section with other compiler issues. |
Signed-off-by: Tomislavj Janjusic <tomislavj@nvidia.com>
Signed-off-by: Tomislavj Janjusic <tomislavj@nvidia.com>
Signed-off-by: Tomislavj Janjusic <tomislavj@nvidia.com>
@jsquyres question: since this is only reported for v4.0.x/v4.1.x, does the readme update go into master and cherry-pick back, or just against the two branches? |
Does it also exist in master/v5.0 (regardless of what is reported)? |
we do need a fix for this on at least 4.1.x branch. |
@jsquyres same on v5.0 by extension master, I'll open up master and cherry-pick to all branches |
Signed-off-by: Tomislavj Janjusic <tomislavj@nvidia.com> (cherry picked from commit 09e155d)
Signed-off-by: Tomislavj Janjusic <tomislavj@nvidia.com>
Signed-off-by: Tomislavj Janjusic <tomislavj@nvidia.com>
Signed-off-by: Tomislavj Janjusic <tomislavj@nvidia.com>
Signed-off-by: Tomislavj Janjusic <tomislavj@nvidia.com>
Signed-off-by: Tomislavj Janjusic <tomislavj@nvidia.com>
Signed-off-by: Tomislavj Janjusic <tomislavj@nvidia.com> (cherry picked from commit 5f171e2)
Thanks, Jeff. I'll try opening an issue with libtool and see if that bears any fruit. |
@jsquyres - upon further investigation, it appears that GNU libtool is currently unmaintained, and there have been no new releases since 2015. I'm not sure there is anyone available there to engage on this. Perhaps at the least we could send you some patches to make sure -fPIC gets passed to nvfortran, but that's probably about the best we can do here at this point. |
@cparrott73 Ugh. That's a bad position for open source projects (many C projects use Libtool). Sure, PR's here would be great. See my "It may be easier to..." comment in #8919 (comment), above, for a suggestion on what to do. |
Guess that raises a question for OMPI v6 - do we need to consider changing the build system? We have heard about libtool before and this reinforces it - but we also know autoconf and friends are likewise unmaintained (save for the recent one-shot someone paid to have done, and caused us a bunch of cleanup). Should it be on the agenda for discussion at a developer meeting? |
Shh!! Don't say such things publicly!! 🙊 Yes, I was also thinking we should probably have some discussions about this. There is a giant amount of inertia behind the GNU Autotools in all the Open MPI projects, though... it would take a lot of work to move away from them. |
Agreed - and we'd want to ping our downstream packagers about it before committing to anything as they would also be impacted. Not advocating a change, but wondering if our hands are going to be forced at some point. |
@jsquyres - yeah, it's not ideal. I have some changes to GNU libtool to support NVIDIA HPC SDK compilers in the works. I need to test them. I will probably open a bug on their Savannah page and attach a patch, just in case some brave soul decides to step up and take over the project at some point. I'm also working on applying these changes to everywhere libtool is used within Open MPI, but as you noted, it's splashed around quite a few different spots within the project. Will take me a bit to find all of them. Seems like there is growing momentum behind CMake and some other similar tools within the OSS community, although CMake certainly comes with its own set of issues. I concur that switching a massive project like Open MPI over to something like CMake will not be a trivial undertaking, to say the least. |
The Fortran compiler is only used in one place, so the path I suggested may be simpler than trying to edit libtool patches to be applied after the fact. FWIW: I do not think that we will be switching away from the Autotools any time soon. Since we only have unsupported compiler issues come up once in a great while, it would really be hard to justify all the work necessary to fully migrate away from the Autotools. |
Ah, that's a good point. I know there are other projects out there that use libtool, so I was aiming for a more general solution. But if you're good with just handling it in the small section of code that covers the Fortran bindings, then it's all good with me, too. Completely understand about not shifting away from Autotools - it would be a major undertaking. |
@lrbison IIRC we also reported an issue for the nv fortran compiler. Is this related? |
@wenduwan no, I don't believe so. I that issue was application code failing to compile with an ICE only when using Open MPI v5.0.x. The error was:
And reportedly it is related to #11582 |
@lrbison can you update to a more recent version of the HPC SDK and try again? I am thinking this bug may have been resolved in more recent releases of our compilers, but I would have to check on it. Please try a newer version, e.g. 24.1, and report back. Thanks. |
Just ran into this issue when trying to use nvfortran. |
What is the current status of this? I am facing the same problems with the latest version of nvhpc
|
nvfortran needs to be passed -fPIC when building shared libraries, so patch the generated configure script in order to properly handle nvfortran: - add nvfortran to the list of known fortran compilers - pass -fPIC to the compiler Refs. open-mpi#8919 Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
nvfortran needs to be passed -fPIC when building shared libraries, so patch the generated configure script in order to properly handle nvfortran: - add nvfortran to the list of known fortran compilers - pass -fPIC to the compiler Refs. open-mpi#8919 Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp> Signed-off-by: George Bosilca <gbosilca@nvidia.com>
nvfortran needs to be passed -fPIC when building shared libraries, so patch the generated configure script in order to properly handle nvfortran: - add nvfortran to the list of known fortran compilers - pass -fPIC to the compiler Refs. open-mpi#8919 Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp> Signed-off-by: George Bosilca <gbosilca@nvidia.com>
nvfortran needs to be passed -fPIC when building shared libraries, so patch the generated configure script in order to properly handle nvfortran: - add nvfortran to the list of known fortran compilers - pass -fPIC to the compiler Refs. open-mpi#8919 Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp> Signed-off-by: George Bosilca <gbosilca@nvidia.com> (cherry picked from commit ccd6415)
nvfortran needs to be passed -fPIC when building shared libraries, so patch the generated configure script in order to properly handle nvfortran: - add nvfortran to the list of known fortran compilers - pass -fPIC to the compiler Refs. open-mpi#8919 Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp> Signed-off-by: George Bosilca <gbosilca@nvidia.com> (cherry picked from commit ccd6415)
As reported on https://www.mail-archive.com/devel@lists.open-mpi.org/msg21283.html, Paul Kapinos is unable to build 4.0.x or 4.1.x with the NVIDIA
nvfortran
compiler (from https://developer.nvidia.com/hpc-compilers).The text was updated successfully, but these errors were encountered: