Skip to content
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

Using a more recent SUNDIALS version #113

Closed
sanjayankur31 opened this issue Nov 10, 2018 · 12 comments
Closed

Using a more recent SUNDIALS version #113

sanjayankur31 opened this issue Nov 10, 2018 · 12 comments

Comments

@sanjayankur31
Copy link
Contributor

The copy of SUNDIALS that is bundled with neuron is quite old, old enough that the API for SUNDIALS seems to have changed since. It'll be good if neuron could be updated to use the latest SUNDIALS code, to take advantage of its optimisations and bug fixes. This will also make it much easier for downstream distributions to provide neuron.

The current version of SUNDIALS is 3.2.1: https://computation.llnl.gov/projects/sundials/sundials-software

@brunomaga
Copy link
Contributor

I just had the same conversation with @nrnhines . I managed to update CVODES to version 3.2.1 on a subset of NEURON code, and will start working on porting it fully to NEURON on the 19th November. Hopefully by the end of the month will be completed.

@sanjayankur31
Copy link
Contributor Author

Ah, thank you very much. I was about to embark on it myself, but given my lack of experience with sundials, it'd be quite the task. Would you have a fork where you're working on this that I can watch for updates?

@brunomaga
Copy link
Contributor

I will create a branch when I start the development on the 19th, and let you know.

@brunomaga
Copy link
Contributor

You can follow the development in this fork:
https://github.com/brunomaga/nrn
Beta version is done, we are now in testing stage. @nrnhines will then decide about the merge.

@sanjayankur31
Copy link
Contributor Author

Thanks very much. I'll test out and give any feedback if it comes up.

@sanjayankur31
Copy link
Contributor Author

@brunomaga: any idea when the update will be merged to the neuron code base?

@sanjayankur31
Copy link
Contributor Author

I get errors building for MPI from your branch, unfortunately. This, specifically: https://github.com/brunomaga/nrn/blob/master/src/nrncvode/cvodeobj.h#L7 -> the nvector/nvector_serial.h file does not seem to exist in the source anywhere. I'll keep looking, though.

@nrnhines
Copy link
Member

nrnhines commented Mar 3, 2019

the cvode3 branch of this repository compiles (at least on my desktop). The build is
git checkout cvode3
sh build.sh
./configure --prefix=pwd --with-nrnpython --with-paranrn --disable-rx3d
make -j install

The neurondemo yields
quantitatively similar results for cvode and ida. I need to resolve nrntest repository failures for 12 tests.
At least a few of those are double precision non-identitity at the 1e-9 resolution level but a few may be
exhibiting substantive errors.

@nrnhines
Copy link
Member

nrnhines commented Mar 4, 2019

One change to the cvode3 branch was required to resolve a nrntest issue (2733468)
I believe all the other nrntest failures are due to the cvode3 generally computing different time steps
than the older cvode.

@sanjayankur31
Copy link
Contributor Author

Thanks, @nrnhines : I'll switch to the cvode3 branch then. (I was following @brunomaga 's fork till now).

@brunomaga
Copy link
Contributor

@sanjayankur31 I'm in the process to porting the code to SUNDIALS4.
For the time being, check #165 if you intend to run CVODE on very large networks.

@alexsavulescu
Copy link
Member

superseded by #1328

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

No branches or pull requests

4 participants