-
Notifications
You must be signed in to change notification settings - Fork 708
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
IntelLLVM cannot handle DEAL_II_RESTRICT keyword: internal compiler error in clang fronted #16722
Comments
As far as I can see, the error comes from the That said, what would the suggested fix be? We could remove the |
In the current case, with a declaration of
it's unclear what It would not at all surprise me if removing the 21 occurrences of the keyword in our code base leads to no measurable differences in performance. It would even not very much surprise me if there were no differences in assembly code at all, but perhaps I'm being overly pessimistic about what compilers could do :-) |
@bangerth: One place where it made a difference was when we were evaluating the performance impact of the contraction templates in So, I guess, I am "concurring in part, and dissenting in part". @ryanstoner1: Would you mind to configure by adding |
@kronbichler I have not observed such an issue with clang/llvm at all. The compiler in question is actually Let me check out the usage terms of the intel oneAPI stuff. Maybe we can set up a regression testsuite configuration for it. |
We often call this with That basic explanation given, I believe that the As to:
I would aim to measure things and inspect the code in question. As I said, the main intent is to not re-load entries of an interpolation matrix. We should have enough benchmarks that keep track of this. I volunteer to look at it, if that is what we want. |
No need to volunteer to time this! I wasn't proposing that we should get rid of the keywords, I was just saying that I wouldn't have been surprised if they make no difference. But with your explanation, I'm perhaps not so sure about that any more ;-) |
@tamiko I added that to the My original issue is solved now. Unless anyone has any objections or plans to do benchmarking I'll close this issue next week. |
@ryanstoner1 Let's keep the issue open. We might decide to work around this issue in various different ways. |
@kronbichler @bangerth I agree. Let's not overreact here. Our use of |
I can't install deal.II master using the intel compiler on TACC Stampede3 without it crashing. However, deal.II 9.5.2 compiles and installs without issue. This was first noticed in in geodynamics/aspect#5594.
I've found the source of the error and would like to open a pull request, but I wanted to open an issue before a pull request because I wasn't sure if there's a flag I could pass that would prevent this behavior and potentially make a change in candi instead.
The offending line is:
dealii/include/deal.II/matrix_free/tensor_product_kernels.h
Line 682 in 329fee6
Without the
DEAL_II_RESTRICT
I don't have an error compiling.With the current master (including
DEAL_II_RESTRICT
) I get the error:Attaching the detailed.log file.
detailed.log
The text was updated successfully, but these errors were encountered: