-
Notifications
You must be signed in to change notification settings - Fork 22
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
Tests fail when using new ifx
compiler
#31
Comments
Ignore the above, I was forgetting to pip install cmplxfoil again after rebuilding with gcc, after doing that the tests pass, so this is just an intel compiler issue. |
This is tenuous at best, but seems like as of 2023, ifx was known to not work very well with complex numbers, at least from a performance perspective. Also, some of the default floating point arithmetic behaviour is different between ifort and ifx, ifort checks for NaNs by default while ifx doesn't |
The NaN check might be a problem since |
Did a very quick test with the latest image testing these combinations of optimization flags and floating point models. All pass, but only when the optimizations are turned off.
|
Damn, it's not that then. I'm also not fully convinced this is purely a complex number issue either, as some of the failing tests don't involve the complexified code. |
@eirikurj , as a fallback, and to avoid holding up https://github.com/mdolab/docker/pull/266 any more we could just change the logic in the intel config file so that we use I've implemented this in #33 |
Description
When compiling with the new
ifx
compiler, some tests are failing. This is preventing us from updating our docker images as part of https://github.com/mdolab/docker/pull/266.Steps to reproduce issue
~/repos/cmplxfoil
runtestflo -v -n 1 .
Current behavior
When running one of the failed tests, for example,
testflo -n 1 -s -v ./tests/test_solver_class.py:TestDerivativesCST.test_alpha_sens
on the docker container the following error is printedExpected behavior
All tests should pass
Observations
gcc
for interface c-code,ifx
for compiling source andifort
for library. While this is probably not an issue, we should address this.ifx
that we have not encountered yet on other repositories, since they are mostly >f90. The porting guide might help, but it states that f77 is completely implemented.-O2
to-O0
and rebuilding, makes the tests pass. This indicates that some optimization is affecting the code when usingifx
that does not show up withifort
for some reason.I would appreciate it if someone can dig into this and identify the issue and possible solutions.
The text was updated successfully, but these errors were encountered: