-
-
Notifications
You must be signed in to change notification settings - Fork 38
New GPU Tsit 5 solvers #148
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
Conversation
|
@maleadt I am trying to implement the adaptive version of MWE: Could you give me some pointers (documentation or some example code?) on how to write an adaptive version and fix the above errors? Thank you! |
|
There's probably a type instability (which can also be caused by a typo) in your implementation, so try the suggestion in the error to run under Cthulhu. Alternatively, prefix the invocation with |
|
The |
|
@maleadt, is there a reason you've wrapped this https://gist.github.com/maleadt/3a848e5743e6001116666f4c3c68a061#file-gpu_ode-jl-L239-L242 instead of directly calling |
src/DiffEqGPU.jl
Outdated
| elseif ensemblealg isa EnsembleGPUArray | ||
| batch_solve_up(ensembleprob, probs, alg, ensemblealg, I, u0, p; kwargs...) | ||
| end | ||
| [ensembleprob.output_func(SciMLBase.build_solution(probs[i],alg,sol.t,solus[i],destats=sol.destats,retcode=sol.retcode),i)[1] for i in 1:length(probs)] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This code performs scalar indexing on GPU Arrays when it solves from EnsembleGPUArrayAutonomous. What to do in this case?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is scalar indexing on a GPU array here? I don't see where that would happen.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
solus[i] is the scalar indexing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
but that's an array of solutions?
|
MWE: |
|
@ChrisRackauckas any comments on the name |
|
|
test/gpu_tsit5_tests.jl
Outdated
| @@ -0,0 +1,121 @@ | |||
| using StaticArrays, SimpleDiffEq, BenchmarkTools, DiffEqGPU, CUDA | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can be removed and the MWE usage can be done in the current test files.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This wasn't done.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's already done https://github.com/SciML/DiffEqGPU.jl/pull/148/files#diff-6649bc3d1b6d365552d9121ef6e55dada7f1159fb0be5fd0095470074ace4b3c
The snippet here is outdated.
|
@ChrisRackauckas LGTM. We can merge it and make new PRs for improvements. |
|
Can you get tests passing first? Might need @vchuravy to help out. Something broke in KernelAbstractions and I don't know when/ |
b1c0135 to
e625ead
Compare
092ac1f to
aa0f7d7
Compare
I would need a small MWE to dig in, I don't currently have the time to dive into everything here |
|
Same failure in a different part of the code. Looks like CUDA.jl or KernelAbstractions.jl has issues with the gpuci drivers or something? We can follow up in another issue on this. |
Hi,
I have added Tim Besard's work here to continue our implementation.
@ChrisRackauckas