Skip to content

Add support for Sundials 6.0#1162

Merged
ischoegl merged 2 commits intoCantera:mainfrom
speth:sundials6
Jan 6, 2022
Merged

Add support for Sundials 6.0#1162
ischoegl merged 2 commits intoCantera:mainfrom
speth:sundials6

Conversation

@speth
Copy link
Copy Markdown
Member

@speth speth commented Dec 23, 2021

Changes proposed in this pull request

  • Add support for Sundials 6.0
  • Add a corresponding CI job

If applicable, fill in the issue number this pull request is fixing

Closes Cantera/enhancements#124

Checklist

  • The pull request includes a clear description of this code change
  • Commit messages have short titles and reference relevant issues
  • Build passes (scons build & scons test) and unit tests address code coverage
  • Style & formatting of contributed code follows contributing guidelines
  • The pull request is ready for review

@codecov
Copy link
Copy Markdown

codecov bot commented Dec 23, 2021

Codecov Report

Merging #1162 (3ed06d3) into main (698c51c) will decrease coverage by 0.00%.
The diff coverage is 38.88%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1162      +/-   ##
==========================================
- Coverage   65.10%   65.10%   -0.01%     
==========================================
  Files         315      315              
  Lines       45258    45264       +6     
  Branches    19240    19244       +4     
==========================================
+ Hits        29467    29469       +2     
- Misses      13329    13331       +2     
- Partials     2462     2464       +2     
Impacted Files Coverage Δ
include/cantera/numerics/CVodesIntegrator.h 0.00% <ø> (ø)
src/numerics/IDA_Solver.cpp 0.00% <0.00%> (ø)
src/numerics/CVodesIntegrator.cpp 63.80% <60.86%> (-0.70%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 698c51c...3ed06d3. Read the comment docs.

@speth speth marked this pull request as ready for review January 5, 2022 02:07
Copy link
Copy Markdown
Member

@ischoegl ischoegl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @speth! This looks great, although I found some minor formatting glitches.

One question that arises here is that with the inclusion of 6.0, there are 5 major Sundials version supported, with the last release of 2.7 being more than 5 years old (and version 2.4 dating back to 2009). Some of the preprocessor branches could be simplified if a minimum version of CT_SUNDIALS_VERSION >= 30 would be required.

@bryanwweber
Copy link
Copy Markdown
Member

@ischoegl

One question that arises here is that with the inclusion of 6.0, there are 5 major Sundials version supported, with the last release of 2.7 being more than 5 years old (and version 2.4 dating back to 2009). Some of the preprocessor branches could be simplified if a minimum version of CT_SUNDIALS_VERSION >= 30 would be required.

I've wondered the same thing... I've always held back because I'm not sure what versions various HPC services might be using. 10 years is not a super long time for them... Certainly, the pace of SUNDIALS development has picked up in the last few years, so this is becoming a bigger concern though.

@ischoegl
Copy link
Copy Markdown
Member

ischoegl commented Jan 6, 2022

@bryanwweber ... yes, I am aware of HPC and generally agree. At the same time, Cantera is a somewhat odd application for HPC (unless it is tied into user code), as there really isn't much of an advantage to put things on a cluster based on how Sundials is being used at the moment?

@speth
Copy link
Copy Markdown
Member Author

speth commented Jan 6, 2022

I did consider dropping support for some older Sundials versions as part of this. However, Ubuntu 18.04 has Sundials 2.7, and I'd like to continue supporting that fully at least until it enters the "extended maintenance" period in Fall 2022. So I think we can drop support for Sundials 2.x after the Cantera 2.6 release.

Looking further ahead, Ubuntu 20.04 has Sundials 3.1, so I guess I would expect to continue supporting that through Fall 2024.

speth added 2 commits January 6, 2022 11:10
Previously, when --config=force was specified, some settings in the
SCons construction environment would be lost after the "configure"
stage, causing the build to fail.
Also add a CI job to test Sundials 6.0
Copy link
Copy Markdown
Member

@ischoegl ischoegl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking further ahead, Ubuntu 20.04 has Sundials 3.1, so I guess I would expect to continue supporting that through Fall 2024.

Makes sense! Thanks for the context!

@ischoegl ischoegl merged commit 0706ab3 into Cantera:main Jan 6, 2022
@mefuller
Copy link
Copy Markdown
Contributor

mefuller commented Jan 7, 2022

Checking pkgs.org, CentOS 7 is also on Sundials 2.7, is set to receive maintenance updates until 2024-06-30 (https://wiki.centos.org/About/Product), and is what's presently being used by the HPCs that I use.
Good news is that once the jump is made from EL7 to EL8, sundials jumps to 5.8 (although with the CentOS situation, who knows when and to what exact distro those EL7 clusters will upgrade)

@bryanwweber
Copy link
Copy Markdown
Member

I think the next version of Cantera after 2.6 will be 3.0, so with the major version bump, I think dropping support for Sundials 2.7 would make sense. That will likely occur sometime in 2023 given recent release cadence, so it'd be a much smaller remaining support window for CentOS 7 than it looks right now 😄

@speth speth deleted the sundials6 branch July 23, 2024 15:35
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.

Check compatibility and add support for Sundials 6.0.0

4 participants