Skip to content

Remove dependencies #51

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

Merged
merged 10 commits into from
Jul 20, 2019
Merged

Remove dependencies #51

merged 10 commits into from
Jul 20, 2019

Conversation

devmotion
Copy link
Member

This PR removes the dependencies on Cassette and SpecialFunctions. I'm currently running a test on Win32 (https://ci.appveyor.com/project/devmotion/delaydiffeq-jl-ungfr/build/job/femutot54m17paay) to check if by removing the dependency on Cassette we can get rid of the compilation time issues of DelayDiffEq.

@devmotion
Copy link
Member Author

It's still running, so unfortunately just removing Cassette does not seem to fix the issues in DelayDiffEq.

@devmotion
Copy link
Member Author

I merged the fix for the Int32/Int64 issues. The tests show that even with the reduced dependencies, the first test takes around 2-3 minutes to run on Win64, Mac, and Linux 64bit and around 1700 on Win32.Both Win32 and Win64 tests throw a EXCEPTION_ACCESS_VIOLATION.

@devmotion
Copy link
Member Author

The tests on Win32 and Win64 with the Julia nightlies do not throw any exceptions. Could it be some upstream issue in Zygote? Could that also explain the long compilation times? According to the README

Zygote's runtime performance should generally be good, but compile times are not optimised, so calling gradient the first time can have noticeable lag. BenchmarkTools is recommended to avoid measuring JIT time.

But still, the times are just too large.

@devmotion
Copy link
Member Author

devmotion commented Jul 20, 2019

I made Zygote an optional dependency. The only test that is running so far, the one on Win32 (Julia 1.1.1) indicates that the issues are caused by Zygote and/or the optional four functions numback_hesvec, numback_hesvec!, autoback_hesvec, autoback_hesvec!. Now the first test finishes in 117 sec (1744 sec before) but it currently hangs at the last test - in this test we load Zygote (and Cassette) for the first time. Most likely this last test with Zygote and Cassette throws again an exception on Julia 1.1.1.

@devmotion
Copy link
Member Author

@ChrisRackauckas Is this PR appropriate or should I change anything else? The tests seem to pass on AppVeyor now as well, I tested it in my own AppVeyor project: https://ci.appveyor.com/project/devmotion/sparsedifftools-jl

@ChrisRackauckas
Copy link
Member

We just need to update the README too.

@ChrisRackauckas ChrisRackauckas merged commit f4b4776 into JuliaDiff:master Jul 20, 2019
@devmotion devmotion deleted the require branch July 20, 2019 12:21
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.

2 participants