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

Fix up Synapse benchmark #692

Open
ChrisRackauckas opened this issue Sep 10, 2023 · 5 comments
Open

Fix up Synapse benchmark #692

ChrisRackauckas opened this issue Sep 10, 2023 · 5 comments

Comments

@ChrisRackauckas
Copy link
Member

https://docs.sciml.ai/SciMLBenchmarksOutput/dev/HybridJumps/Synapse/

Continuing from #673 and #672

It looks like it built funny this time and someone needs to take a look at it. @gzagatti can you check that the manifest is using the right branch?

@isaacsas

@isaacsas
Copy link
Member

Looks like the Hawkes one has issues too: https://docs.sciml.ai/SciMLBenchmarksOutput/dev/Jumps/MultivariateHawkes/

Also, why did Synapse appear under the Jumps category too? It seems like it ran there?

@ChrisRackauckas
Copy link
Member Author

No, that's the old markdown. When a benchmark moves I have to manually delete the old one. I just did that earlier before posting so it'll take a few hours before the new build shows it removed from the old section.

@gzagatti
Copy link
Contributor

The manifest of HybridJumps was indeed the culprit.

To get things working, I downgraded OrdinaryDiffEq from 6.55 back to 6.20 and IntervalSets from 0.7.7 back to 0.7.3. Now, the benchmarks can run until the end. I have opened PR #714 to track the solution.

It is not clear to me what changed in OrdinaryDiffEq to cause the Return code = DtLessThanMin that prevented the synapse benchmark to complete in your latest change.

To be honest, previously there were a few runs of PDMP which were unstable raising either one of the following warnings:

┌ Warning: Instability detected. Aborting
└ @ SciMLBase ~/.julia/packages/SciMLBase/l4PVV/src/integrator_interface.jl:606

Or:

┌ Warning: The simulation did not reach requested simulated time.
└ @ Synapse ~/.julia/packages/Synapse/cEAkz/src/Solve.jl:236

So could it be that the new version of OrdinaryDiffEq is more strict?

Next, I downgraded IntervalSets because it was having issues with DomainSets.

┌ DomainSets [5b8099bc-c8ec-5219-889f-1d9e522a28bf]
│  WARNING: Method definition isapprox(IntervalSets.AbstractInterval{T} where T, IntervalSets.A
bstractInterval{T} where T) in module IntervalSets at /home/guilherme/.julia/packages/IntervalS
ets/6RTOk/src/IntervalSets.jl:144 overwritten in module DomainSets at /home/guilherme/.julia/pa
ckages/DomainSets/aafhp/src/domains/interval.jl:52.
│    ** incremental compilation may be fatally broken for this module **
└  

However, I don't think that IntervalSets is the main culprit here.

Finally, the Hawkes benchmark didn't build correctly again. It looks like there was a problem precompiling PiecewiseDeterministicMarkovProcesses.

Error: Failed to precompile PiecewiseDeterministicMarkovProcesses [86206cdf
-4603-54e0-bd58-22a2dcbf57aa] to "/cache/julia-buildkite-plugin/depots/5b30
0254-1738-4989-ae0a-f4d2d937f953/compiled/v1.9/PiecewiseDeterministicMarkov
Processes/jl_Yer1rM".

I just updated the whole Manifest and it now completes successfully.

@ChrisRackauckas
Copy link
Member Author

Can you make an MWE?

@gzagatti
Copy link
Contributor

After some digging, I think the problem is with IntervalSets after all. See my comment on the PR.

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

3 participants