-
Notifications
You must be signed in to change notification settings - Fork 300
Error fixes for Nvidia compilers #3409
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
Conversation
|
Neat, have you tried building moose, too? |
|
Looks like we'll need an Nvidia HPC compiler Civet target real soon... |
|
@roystgnr can you share your configure options. For me this branch does not compile. I'm still getting those pesky I tried to cherry pick my commit deed905, which removed this error, but I still see the incomplete type errors with |
|
Updated from version 22.7 to 22.9, but the errors persist. |
|
Currently working on getting libMesh warnings-clean, haven't yet started hacking at MOOSE. I'm using at the moment; obviously there's more work to be done before we have a really useful build. Looks like you're getting some extra failures because you're building with PETSc+SLEPc already? Anyway, they're in the same category as existing failures: with Nvidia compilers, the generation of the destructor for a |
Yeah, that's what I did in deed905, but the nonlinear implicit system stuff (which I suppose I see because I'm not disabling PETSc) is harder to solve, due to a circular include situation. |
Could you be more specific? With 28c36cc I'm now getting a PETSc-enabled build to work (though I still have yet to figure out what's causing MetaPhysicL-enabled builds to fail boost configuration...). And there shouldn't be any circular includes possible here; the workaround is to add additional includes to .C files, not to other include files. |
This gives me warnings at bootstrap time, from the Fortran tests, but it at least handles the case of the Nvidia HPC compilers I'm trying out, where the C++ compiler supports -fopenmp but the C compiler screams and dies if given that argument.
And rightly so. So let's restrict it to original PGI compilers only, at least until we have evidence that we should take it out entirely.
It seems to want to create its own destructors for the base classes here, which means it whines about incompletely defined types for any forward-declared type in a unique_ptr in those base classes.
9602916 to
eb82b2d
Compare
|
I still get one failure in a unit test, but it looks like it's a compiler issue and I've pestered them about it. I get a compile failure with --enable-ifem in -O2 builds, but that definitely was a compiler regression and they've got a fix coming. This is a good enough checkpoint that I'll probably merge once CI is happy. Warning fixes will be in another PR. |
We can't
--enable-werroryet, and I haven't yet set up tests with these compilers and MPI, but this branch at least builds without errors for me.