Opened 22 months ago
Closed 11 months ago
#3084 closed user story (fixed)
Cvode / SUNDIALS 6.0 Support
Reported by: | GaryM | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | Iteration I4 |
Component: | infrastructure | Keywords: | |
Cc: | Estimated pair-hours remaining: | 4 | |
Pair-hours expended on ticket: | 0 | Initial estimate of effort: | 4 |
Editable by public: | yes |
Description
New version of SUNDIALS/CVODE out: https://github.com/LLNL/sundials/releases
Might be quite a few changes as they've even released a script to help you convert!
Todo:
- Install on a test machine
- Get Chaste Building
- Put in the testing rotation
Change History (8)
comment:1 Changed 22 months ago by GaryM
- Summary changed from Cvode 6.0 Support to Cvode / SUNDIALS 6.0 Support
comment:2 Changed 21 months ago by GaryM
comment:3 follow-up: ↓ 4 Changed 16 months ago by kwabenaa
- Created the CvodeContextManager Singleton to manage a shared SUNContext object required by Sundials 6.0+. A separate Singleton is created for each thread, using thread_local storage.
- Passed Continuous Test Pack
- Passed Nightly Test Pack
- Passed Weekly Test Pack, except TestGenerateSteadyStateCrypt which already fails on develop branch (see #3089)
- Passed Parallel Test Pack, except TestMonodomainProblemParallel / TestOutputDoesNotDependOnPrintTimestep
Difference in printing time steps of 0.1 and 0.01 = 0.00325635 mV /.../TestMonodomainProblem.hpp:1474: Error: Expected (V_to_compare[0] == V_to_compare[1]) up to 3e-3 (0.0030), found (39.6539 != 39.6507) Failed
Full test output: https://pastebin.com/Nnu3gwPj
- Modified relevant parts of Codegen boilerplate code.
- Reproducing failed test:
- Install Sundials 6.0.0
- Then,
git clone --recursive --branch ticket_3084 https://github.com/kwabenantim/Chaste.git cd ./Chaste/build/ cmake ../ cd ./codegen_python3_venv source bin/activate pip uninstall -y chaste_codegen git clone --recursive --branch chaste_ticket_3084 https://github.com/kwabenantim/chaste-codegen.git cd ./chaste-codegen pip install -e . cd ../../ make -j4 Parallel ctest -VV -R TestMonodomainProblemParallel$
Hi jmpf, do you have any thoughts on the parallel test, please?
comment:4 in reply to: ↑ 3 Changed 16 months ago by jmpf@…
Replying to kwabenaa:
Hi jmpf, do you have any thoughts on the parallel test, please?
Sorry. I don't think that I was copied on this ticket. (I will be from now on though.)
comment:5 follow-up: ↓ 6 Changed 16 months ago by GaryM
I think it's probably just worth changing the tolerance on the test here if it is just altering tolerance from 3e-3 to 3.5e-3. The results can change a tiny bit with sundials versions anyway, so not a huge surprise to me something like that would fail. What do you think Jmpfh?
comment:6 in reply to: ↑ 5 Changed 16 months ago by jmpf@…
Replying to GaryM:
I think it's probably just worth changing the tolerance on the test here if it is just altering tolerance from 3e-3 to 3.5e-3. The results can change a tiny bit with sundials versions anyway, so not a huge surprise to me something like that would fail. What do you think Jmpfh?
Yes. Go a bit higher: 4e-3 or 5e-3. I would have committed to branch if there was one.
You see I started investigating this, but got distracted with other stuff. I basically found that the test has such a history of flakiness that it's not worth worrying whether the new cvode is "better" or "worse".
comment:7 Changed 14 months ago by kwabenaa
Updating the ticket to reflect that the changes were merged into develop:
https://github.com/Chaste/Chaste/pull/17
https://github.com/Chaste/Chaste/pull/18
The tolerance of the parallel test was adjusted from 3e-3 to 4e-3.
The version of chaste_codgen was bumped up to 0.9.10 to include the changes made there to support Sundials 6.0.
comment:8 Changed 11 months ago by fcooper
- Resolution set to fixed
- Status changed from new to closed
See https://github.com/MichaelClerx/myokit/pull/823/files for the changes to Myokit to make this work