Add GH Actions runners for mingw and Intel compiler#1144
Add GH Actions runners for mingw and Intel compiler#1144bryanwweber merged 7 commits intoCantera:mainfrom
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 |
bryanwweber
left a comment
There was a problem hiding this comment.
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 |
Changes proposed in this pull request
mingwtoolchain (on Windows)icccompiler (on Ubuntu)icx/icpxare recognized,but not tested (to be more exact: compilation works, but tests segfault)… compilers work as long as optimization is disabled.icxcompiler (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
iccunit tests can be addressed, no action is taken asiccwil be replaced by a new compiler generationicx(which does not need modifications)Also, I created a docker container for testing, see here