-
-
Notifications
You must be signed in to change notification settings - Fork 348
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
Add GH Actions runners for mingw and Intel compiler #1144
Conversation
f9009ed
to
aeabc39
Compare
@bryanwweber / @speth ... I think this is as far as I can go with reasonable effort. I had a closer look at the failing tests, and believe the only reason were minor numerical differences between Intel MKL (?) calculations and what is used elsewhere. I loosened the tolerances for One thing that I briefly looked at, but decided to leave for a later point is Beyond, I put in some rudimentary information related to Intel's new |
3557db2
to
484b6cd
Compare
I had a half-finished @gkogekar ... interestingly, one of the |
This comment has been minimized.
This comment has been minimized.
d8b3fc8
to
ee51bce
Compare
Ad |
16d0313
to
ea895b6
Compare
This comment has been minimized.
This comment has been minimized.
1251476
to
562938d
Compare
562938d
to
740337f
Compare
@bryanwweber ... I think #1150 shed a few insights here. I dropped some of the commits that were not essential, and added 'experimental' support for |
41cc66f
to
80b7663
Compare
Just a thought -- you might not need to relax the tolerance on |
af17006
to
60fa7f7
Compare
Add icx to list of recognized compilers: while code compiles, unit tests result in segfaults, which can be avoided if optimization is disabled. Add pch for icx compilation
Co-authored-by: @tpg2114 Optimized compilation works if options include '-fp-model strict' (or 'precise'). Segfaults can be reproduced with gcc if option '-ffinite-math-only' is selected.
60fa7f7
to
04549de
Compare
@bryanwweber and @tpg2114 ... as the compilation issues are apparently not compiler related (see new issue #1155), I believe that Intel OneAPI can be added to the list of fully supported compilers at this point (as long as the required optimization settings are applied). I consolidated all commits and replaced the GH runner for I left the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @ischoegl! A few small comments here.
I would suggest leaving the For this PR, I would suggest skipping this test if the #ifdef __MINGW32__
TEST_F(cubicSolver_Test, solve_cubic_DISABLED)
#else
TEST_F(cubicSolver_Test, solve_cubic)
#endif |
87782d2
to
398d0d8
Compare
@bryanwweber ... thanks for the review! @speth ... thanks for the suggestion!
I excluded the test as suggested, but am not familiar enough to create an issue report. I tried tagging @gkogekar as this presumably is an edge case introduced by the
|
* -vec-report0 is deprecated * -diag-disable 1478 is not needed (has no effect) * `Wcheck` (perform compile-time code checking for certain code) is changed to to `Wall` (enable warning and error diagnostics) as most warnings are due to upstream issues in fmtlib * disable fast math optimization Beyond, fix CYTHON_FALLTHROUGH for icc
398d0d8
to
9ee5c92
Compare
9ee5c92
to
b69d999
Compare
@bryanwweber ... you had a point when you mentioned that |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @ischoegl !
Changes proposed in this pull request
mingw
toolchain (on Windows)icc
compiler (on Ubuntu)icx
/icpx
are recognized,but not tested (to be more exact: compilation works, but tests segfault)… compilers work as long as optimization is disabled.icx
compiler (on Ubuntu)If applicable, fill in the issue number this pull request is fixing
Closes Cantera/enhancements#117, closes Cantera/enhancements#120, closes #1150.
If applicable, provide an example illustrating new features this pull request is introducing
Checklist
scons build
&scons test
) and unit tests address code coverageOther
FWIW, 'out-of-the-box', the following tests are failing:
For
mingw
:For
icc
:... while
icc
unit tests can be addressed, no action is taken asicc
wil be replaced by a new compiler generationicx
(which does not need modifications)Also, I created a docker container for testing, see here