Skip to content

Update configuration to add default --enable-fpe-safety#3697

Merged
roystgnr merged 3 commits intolibMesh:develfrom
roystgnr:fpe_updates
Nov 10, 2023
Merged

Update configuration to add default --enable-fpe-safety#3697
roystgnr merged 3 commits intolibMesh:develfrom
roystgnr:fpe_updates

Conversation

@roystgnr
Copy link
Copy Markdown
Member

@roystgnr roystgnr commented Nov 8, 2023

clang 15 and 16 will generate floating-point-exception emitting behavior at -O2 by default, which breaks even the MetaPhysicL submodule's make check tests. I see the attraction of that (presumably they're packing N float instructions into N/4 or N/8 SIMD instructions, and then if N%4 or N%8 but the instruction is division there'll be some NaNs ignored at the end?) but we have a lot of users relying on trapping FPEs, so let's make the default behavior safe for them.

This ought to fix our newly-clang-15-using Test clang recipe.

@roystgnr
Copy link
Copy Markdown
Member Author

roystgnr commented Nov 8, 2023

Well, damn. error: overriding currently unsupported use of floating point exceptions on this target [-Werror,-Wunsupported-floating-point-opt] looks like it might actually be related.

@moosebuild
Copy link
Copy Markdown

moosebuild commented Nov 8, 2023

Job Coverage on 01a843e wanted to post the following:

Coverage

48d244 #3697 01a843
Total Total +/- New
Rate 61.98% 61.98% -0.00% -
Hits 67677 67676 -1 0
Misses 41517 41518 +1 0

Diff coverage report

Full coverage report

This comment will be updated on new commits.

@roystgnr
Copy link
Copy Markdown
Member Author

roystgnr commented Nov 8, 2023

And it's only on ARM mac that it's failing, so I can't reproduce locally either...

@roystgnr
Copy link
Copy Markdown
Member Author

roystgnr commented Nov 9, 2023

Okay - with that hack I'm seeing some expected failures and some weird IM failures but the fix is working where it's supposed to; I'm going to head back upstream to do it properly now.

@roystgnr
Copy link
Copy Markdown
Member Author

And now what should be the proper fix is in. Cross your fingers.

This gets us the clang detection improvements, and fixes the FPEs we
were getting from clang 15+
@roystgnr
Copy link
Copy Markdown
Member Author

roystgnr commented Nov 10, 2023

This appears to have finally fixed new Linux clang without having broken ARM Mac clang, and that "Test mac" failure is some new environment issue, so if the rest passes I'm merging.

@roystgnr
Copy link
Copy Markdown
Member Author

And that "Failed but allowed" on Test MOOSE is the network issues hitting a python test again. This should be good to go.

@roystgnr roystgnr merged commit d47c86f into libMesh:devel Nov 10, 2023
@roystgnr roystgnr deleted the fpe_updates branch November 10, 2023 13:32
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

Successfully merging this pull request may close these issues.

2 participants